CN116783587A - 基于列表的数据搜索用数据存储 - Google Patents
基于列表的数据搜索用数据存储 Download PDFInfo
- Publication number
- CN116783587A CN116783587A CN202180080614.3A CN202180080614A CN116783587A CN 116783587 A CN116783587 A CN 116783587A CN 202180080614 A CN202180080614 A CN 202180080614A CN 116783587 A CN116783587 A CN 116783587A
- Authority
- CN
- China
- Prior art keywords
- data
- list
- concept
- search
- data values
- 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
- 238000013500 data storage Methods 0.000 title claims description 8
- 238000000034 method Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000004458 analytical method Methods 0.000 claims abstract description 41
- 238000007405 data analysis Methods 0.000 claims abstract description 33
- 230000008676 import Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 6
- 230000002503 metabolic effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000010219 correlation analysis Methods 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010191 image analysis Methods 0.000 claims description 3
- 238000007619 statistical method Methods 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 claims description 2
- 238000012567 pattern recognition method Methods 0.000 claims 1
- 229910052709 silver Inorganic materials 0.000 description 22
- 239000004332 silver Substances 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 17
- 229910052751 metal Inorganic materials 0.000 description 13
- 239000002184 metal Substances 0.000 description 13
- 208000024891 symptom Diseases 0.000 description 10
- 230000008901 benefit Effects 0.000 description 8
- 230000010354 integration Effects 0.000 description 7
- 238000003745 diagnosis Methods 0.000 description 5
- 238000013499 data model Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 108090000623 proteins and genes Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 239000003973 paint Substances 0.000 description 3
- 102000004169 proteins and genes Human genes 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 206010012601 diabetes mellitus Diseases 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- NOESYZHRGYRDHS-UHFFFAOYSA-N insulin Chemical compound N1C(=O)C(NC(=O)C(CCC(N)=O)NC(=O)C(CCC(O)=O)NC(=O)C(C(C)C)NC(=O)C(NC(=O)CN)C(C)CC)CSSCC(C(NC(CO)C(=O)NC(CC(C)C)C(=O)NC(CC=2C=CC(O)=CC=2)C(=O)NC(CCC(N)=O)C(=O)NC(CC(C)C)C(=O)NC(CCC(O)=O)C(=O)NC(CC(N)=O)C(=O)NC(CC=2C=CC(O)=CC=2)C(=O)NC(CSSCC(NC(=O)C(C(C)C)NC(=O)C(CC(C)C)NC(=O)C(CC=2C=CC(O)=CC=2)NC(=O)C(CC(C)C)NC(=O)C(C)NC(=O)C(CCC(O)=O)NC(=O)C(C(C)C)NC(=O)C(CC(C)C)NC(=O)C(CC=2NC=NC=2)NC(=O)C(CO)NC(=O)CNC2=O)C(=O)NCC(=O)NC(CCC(O)=O)C(=O)NC(CCCNC(N)=N)C(=O)NCC(=O)NC(CC=3C=CC=CC=3)C(=O)NC(CC=3C=CC=CC=3)C(=O)NC(CC=3C=CC(O)=CC=3)C(=O)NC(C(C)O)C(=O)N3C(CCC3)C(=O)NC(CCCCN)C(=O)NC(C)C(O)=O)C(=O)NC(CC(N)=O)C(O)=O)=O)NC(=O)C(C(C)CC)NC(=O)C(CO)NC(=O)C(C(C)O)NC(=O)C1CSSCC2NC(=O)C(CC(C)C)NC(=O)C(NC(=O)C(CCC(N)=O)NC(=O)C(CC(N)=O)NC(=O)C(NC(=O)C(N)CC=1C=CC=CC=1)C(C)C)CC1=CN=CN1 NOESYZHRGYRDHS-UHFFFAOYSA-N 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 108090000765 processed proteins & peptides Proteins 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 102000004877 Insulin Human genes 0.000 description 1
- 108090001061 Insulin Proteins 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 208000018737 Parkinson disease Diseases 0.000 description 1
- 206010037660 Pyrexia Diseases 0.000 description 1
- 208000000453 Skin Neoplasms Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 150000001413 amino acids Chemical class 0.000 description 1
- 230000008827 biological function Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 201000001421 hyperglycemia Diseases 0.000 description 1
- 229940125396 insulin Drugs 0.000 description 1
- 239000003446 ligand Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002773 nucleotide Substances 0.000 description 1
- 125000003729 nucleotide group Chemical group 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 201000000849 skin cancer Diseases 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 208000004371 toothache Diseases 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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
-
- 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/2228—Indexing structures
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种将数据(114、115、116)存储于数据存储器(104)的方法,该方法包括:数据处理搜索DVS系统(102)接收(202)原始数据(112)或原始数据访问地址;多个不同的解析器解析(204)原始数据以确定各有一个或多个数据值的数据对象和每个数据对象的对象ID,至少一些数据值各赋语义概念;DVS系统自动导入(206)解析结果;DVS系统将全部解析结果呈无冗余数据值列表(114、115、116)形式自动存储(208)于数据存储器中,这些无冗余列表包括:一个或多个概念列表(116),每个概念列表代表各语义概念,无冗余列表选择性包括解析时赋予该概念列表中语义概念的导入数据值,无概念列表(115),该无概念列表选择性包含解析时未赋语义概念的导入数据值;DVS系统提供(210)无冗余列表(114、115、116)来答复搜索查询和/或进行数据分析。
Description
技术领域
本发明涉及一种处理存储数据以便搜索数据的方法和系统。
背景技术
现有技术中公开了用于存储、管理和高效处理数据的各种数据库管理系统(DBMS)。DBMS的主要任务是高效一致地持久存储大量数据,按需采取不同的表示形式为用户和应用程序提供所需的子集。传统DBMS管理的数据库中,构建数据及其相互关系的基础是DBMS厂商指定的数据库模型。根据数据库模型,数据库模式必须适应某些结构化选项。当今采用的公知数据库模型包括层次模型、类网络模型、关系模型(呈表形式组织)、面向对象模型、面向文档模型以及上述模型的混合形式。此外,传统上针对有效答复许多简短查询(OLTP)或冗长评估(OLAP)而优化的DBMS加以区分。
就常规DBMS而言,当选择DBMS以及定义DBMS管理的数据库的内部结构(特别是数据库表的大小、数目和内部引用,选择创建索引的表列类型等),要求数据库开发人员处理待管理数据的内容(信息内容)和DBMS可能要处理的查询类型。
问题是这两方面都会随时间推移而发生改变,在建立数据库时通常未知或不完全已知。实践中,通常情况是证实存储于数据库中数据的其他或附加方面的相关性,必须制定新的查询,而最初建立数据库时却无法考虑这些问题。例如,如果数据库包含医学数据,建立数据库后获得新的医学知识,即几种症状组合可预测特定诊断,则数据库中的数据可能确实包含这些症状,但症状本身分布在不同的表中和/或采取查询效率不高的方式提供索引,即消耗大量内存、CPU容量和时间。然而,由于数据库中的数据与客户端系统存在众多依赖性,后续调整已定义数据库的结构非常耗时,容易出错,常常毫无头绪。
此外,随着时间推移,经常出现这样的问题,即需要将更多的数据源整合到数据库中,但它们的内部结构与建立数据库时选择的数据模型又不匹配。例如,如果选择了具有关系数据模型的数据库并且要整合层次结构的其他数据,尽管其他数据可能在概念上与数据库中现有的数据相关联,也通常无法这样将其他数据保存在数据库中。即使可以将其他数据存储于本身不合适的数据模型中,也无法完成现有数据和其他数据的通用查询和语义整合,至少若不根本上重新设计数据库中数据组织则绝无可能。
借此,现有DBMS常有结构不灵活、扩展性不佳和/或性能差的特点,特别是处理涉及大量不同属性(键)和对应值的大量数据对象的复杂查询时。如果日后需将其他不同结构的数据存储于数据库中,通常无法采取合理、高性能、省资源的方式查询分析现有数据和新增数据。这一情况较为特殊,但不仅限于“物联网”背景下,因为各种对象和传感器用来记录内容和结构方面高度异构的数据,而数据组成和性质经常随时间变化。
发明内容
本发明目的是提出一种改进的方法和系统,采取可高效搜索数据的方式存储数据。
为了达成上述目的,本发明提出了独立权利要求的特征。本发明具体实施方案请参阅从属权利要求。下文提出的实施方案只要互不相斥即可自由互组。
一方面,本发明涉及一种将数据存储于数据存储器的方法。上述方法包括:
-数据处理搜索系统(DVS系统)接收原始数据或原始数据访问地址,原始数据具有不同的结构;
-多个不同的解析器解析原始数据,以确定各有一个或多个数据值的数据对象和每个数据对象的对象ID,至少一些数据值各赋语义概念;
-DVS系统自动导入解析结果;
-DVS系统将全部解析结果呈无冗余数据值列表形式自动存储于数据存储器中,无冗余列表包括:
·一个或多个概念列表,每个概念列表代表各语义概念,无冗余列表选择性包含解析时赋予该概念列表中语义概念的导入数据值,该概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,所包含的数据值为该概念列表中语义概念的表示;
·无概念列表,无概念列表选择性包含解析时未赋语义概念的导入数据值,该无概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,该数据对象所包含的数据值在解析时未能赋有语义概念;
-DVS系统提供无冗余列表来答复搜索查询和/或进行数据分析。
这会有利的是,可将结构和内容方面高度异构的原始数据转换为通用结构,允许快速高效地处理大量数据(来自多个列表中元素的对象ID的交集、并集、差集或对称差集),能够随时在内容(通过添加更多优选自动生成的概念列表)和支持的查询和分析过程方面进行扩展,而无需为此从根本上更改数据存储器内的数据结构。这些列表无冗余,因此每个数据值仅在列表中包含一次。如果它出现在原始数据的几个数据对象中,则这个仅在列表中出现一次的数据值以链接到这几个对象ID的方式保存。借此,即使是庞大的数据库也能快速高效地完成处理,即使是主内存和/或CPU容量不高的计算机系统也是如此。特别是原始数据多次包含某些数据值时(例如,在表示有限量现有字词特定组合的文本或者表示有限量氨基酸特定序列的蛋白质的情况下),这样的数据表示形式可能导致巨大的数据压缩效应。例如,对象ID可以各自代表数据集(例如,蛋白质序列ID、原始数据文件URL、自然语言文本或语句、Excel文件的行等),数据值为该数据集中出现的值(例如,字词、位串、数值等)。
将语义概念赋予数据值通常是解析过程的组成部分。
根据本发明实施方案,DVS系统根据赋予导入数据值的语义概念(前提是这可在解析时确定或以其他方式指定)将导入数据值存储于无冗余数据值列表中,其中数据值在列表中的存储和分布独立于数据值与数据对象的原始从属关系。
借此,本发明实施方案的优势在于,在整合大量结构和内容相关的异构数据方面具备巨大的灵活性,这在数据分析和搜索过程中表现出超高性能,因为将数据值导入数据存储器时在结构方面解决了将其初始赋予数据对象:又只能在对象ID中发现数据值与对象相关联,但对DVS系统管理的数据结构却无影响:无论提供原始数据是采取分层形式、表格形式还是XML文件形式,无论数据值是否已在原始数据中大量指定(例如,通过键值字段)或由解析器之一在分析过程中动态获取(例如,通过图像或音频数据的模式识别):数据值始终链接到与包含数据值的对象ID一起保存的无冗余列表中。在此存储时,考虑数据值代表的语义概念,具体方式是将数据值选择性存储于确切代表该概念的概念列表中。如果该列表中已经存在该数据值,则仅相应地补充对象ID集合。如果解析原始数据时无法确定数据值背后的语义概念,则将该数据值存储于“无概念”列表中,或者如果这里已经存在该数据值,则仅就对象ID扩展相应的条目。
导入过程可指解析全部数据对象结构的过程,其中从原始数据的全部数据对象中提取的全部数据值基于为其赋予的语义概念而存储于无冗余数据值列表中。
例如,可以将诸如JSON文件、XML文件、数据库表、媒体文件或经由用户界面(例如图形用户界面)的用户输入等数据源提供给DVS系统。例如,可以采取DVS系统接收原始数据(原件或副本)的方式完成提供,例如通过网络或从本地数据存储器或其他来源接收原始数据,并首先保存在本身文档存储的副本中。这样的优势在于,原件仍然可用,必要时可用于显示搜索或分析结果,也可用于稍后才补充的解析过程和分析。然而,原始数据也可能未作副本保存在DVS系统的文档存储中,而是DVS系统只有(永久或临时)原始数据读取访问权限,以便能够处理并解析数据。在此情况下,DVS系统接收原始数据访问地址足矣。
本发明实施方案的优势在于,可以针对不同语义概念(键)(甚至每个对象数千个)通过大量属性(值)描述的数据对象进行查询,对不同键值的任意组合的查询时间极短,又不必遵循依赖于数据对象原始结构的规范(例如,在基于索引的关系DBMS中关于数据库中的表和索引结构进行搜索查询正是这种情况)。在基于索引的系统中,全部键的各种可能组合的索引皆须可用。传统上基于索引的DBMS中的索引集就会随着键的阶乘而增长!特别是对于具有大量不同语义概念的大量不同对象类型,所需索引的数目会随着键相关搜索条件与键阶乘的任何可能组合而增加!根据本发明实施方案,却无需生成和使用索引(从数据值以外生成的可搜索数据结构意义上,例如B树)。根据本发明实施方案,无冗余概念列表对应于每个语义概念,其中该概念的每个数据值(例如有别于基于数据集的关系DBMS表)仅出现一次。根据本发明实施方案,便可在不必为预期搜索查询创建适用索引结构的情况下进行搜索和/或分析。确切而言,可以直接在无冗余列表中进行搜索,优选为只有那些与搜索条件所指的语义概念相对应的概念列表(必要时还采用无概念列表和/或全局列表)。
根据本发明实施方案,数据存储器是易失性或非易失性数据存储器。例如,数据存储器可以是硬盘(HDD)或大容量存储器(固态驱动器,SSD)或主内存(内存中存储管理列表)。
根据本发明实施方案,至少一些原始数据呈多数据结构形式存在或呈多数据结构形式接收。多数据结构尤可包括如下两种以上数据结构的混合:
-XML文件;
-JSON文件;
-文本文件;
-CSV文件;
-数据库表;
-对象树;
-媒体文件,特别是视频文件、音频文件和/或图像文件;
-通过GUI输入的数据;
-流数据。
流数据是由源系统连续生成并以数据包和/或队列(根据FiFo原则)发送的数据。通常,此类数据是由流式框架“实时”处理。流式框架接受此数据流并处理主内存中的信息,然后将其写入数据存储器(例如硬盘(HDD)或大容量存储,如固态驱动器(SSD))。根据本发明实施方案,DVS系统还可以设计用于实时处理原始流数据。例如,流数据可以是来自ERP系统的日志数据、电子商务事件(查看、订单、购物车)、移动应用上的跟踪事件、来自Web应用的地理位置或来自特定产品的使用数据。
但上列清单不应理解为穷举。
根据本发明实施方案,至少一些(一般是大多数)无冗余列表包含原始数据包含在两种以上不同数据结构中的数据值。借此,数据值在原始数据中出现于哪些数据结构的问题,对DVS系统管理的列表结构并无影响。这会有利的是,系统独立于包含原始数据的文件和数据库的结构。
原始数据可以是不同内容和结构的数据。这会有利的是,利用DVS系统允许将来自众多独立来源的大量异构数据整合到通用数据结构(无冗余数据值列表)中。这样既能大幅压缩数据集,又能在语义上整合数据集,至少当来自两个以上不同来源的原始数据具有至少一种代表相同语义概念的数据值时,又在解析过程中识别这一点。在此情况下,这个概念的数据值存储为链接到对相同概念列表中各数据对象的引用。
还特别有利的是,不必完全在语义上整合来自不同来源的数据对象。例如,如果原始数据是蛋白质序列或基因序列,在该数据的解析过程中,还在来自其他数据源的原始数据中识别出代表“诊断X的预测因子”概念的某些肽序列或基因组标记,则所使用的解析器无法识别并提取来自数据源的原始数据中可能存在的全部语义概念,也无关紧要。这样无需完整“理解”或完整“数据模型”也能整合来自不同异构源的数据。然而,如果解析来自不同数据源的原始数据时,发现某些语义概念的至少一个或一些数据值,则可将这些数据值归类到相应的列表中,从而进行整合。
即使语义概念未知,也可能在相关性基础上整合异构数据:例如,如果文献中经常提及某些基因组标记以及某种诊断,这会导致既包含基因组标记又包含诊断的数据对象的对象ID交集庞大(鉴于个别数据值的出现频率,预期高于统计)。如果该标记背后的生物学功能及相关语义概念未知,则该标记将作为数据值存储于无概念列表中,借此在处理搜索查询或数据分析(例如相关性分析)时可考虑在内,完全独立于基因组标记是呈XML文件、文本文件还是任何其他格式提供。
本发明实施方案还具备可高度灵活扩展的优势:由于原始数据中数据对象的结构以及数据对象属性的类型和数目对DVS系统管理的数据结构均无任何影响(这些数据始终呈无冗余列表形式保存),可以随时将额外的原始数据导入并整合到新的结构。如果事先未知原始数据的结构,仅需开发相应的解析器来处理原始数据,可能情况下,对其中所含的数据值赋予语义概念,并根据所赋语义概念的存在和类型,将数据值与相关数据对象的对象ID或者至少是对象ID共同存储于无概念列表或概念列表之一中。
根据本发明实施方案,上述方法包括:所述DVS系统或另一DVS系统进行搜索查询和/或分析。
根据本发明实施方案,特别是在不访问原始数据的情况下进行搜索查询和/或数据分析。
根据本发明实施方案,所述DVS系统配置为仅基于无冗余列表或基于DVS系统从这些列表导出的数据来进行分析和/或搜索,尤其是不对原始数据或其中包含的数据对象或代表这些数据对象的数据集进行分析和/或搜索。
这样的优势在于,搜索和分析不依赖于原始数据的结构,也可以将TB级范围内的原始数据量压缩处理到标准计算、有时甚至单板计算器(例如Raspberry Pi)可以快速处理的大小,并且可以搜索复杂的搜索查询。压缩的基础是每个数据值在每个概念列表和无概念列表中只出现一次。如果将几个不同语义概念(姓氏、颜色、金属类型)赋予数据值,则数据值(如“银(Silber)”)可能会出现在两个以上概念列表中。但每个列表中,值“银”只出现一次。如果其他数据对象中发现了数据值“银”,其中数据值“银”代表概念“金属(Metall)”,则代表“金属类型(Metalltyp)”概念的列表中选择性对列表元素“银”额外赋予该数据对象的对象ID。如果解析某些原始数据时,解析器无法识别数据值“银”是代表颜色、金属、姓氏还是其他先前未作列表表示的语义概念,则此数据值“银”保存到无概念列表中。因此,数据值“银”可能在原始数据中出现数千次,但在所述DVS系统工作的列表中只出现一次或几次。对象ID优选地存储为数值形式,占用的存储空间很小,可以对其进行快速集合运算。这样就能例如针对包含产品类型“线材”和金属类型“银”的全部数据对象执行复杂的搜索查询,可以通过根据“产品类型”概念列表中赋予“线材”数据值以及“金属类型”概念列表中赋予数据值“银”的对象ID集合计算对象ID交集来进行答复。数据分析就不再需要原始数据中包含的数据对象的结构。
根据本发明实施方案,DVS系统管理的数据存储器不含数据对象(又称数据集)。
根据其他实施方案,DVS系统还额外管理文档存储器,其中存储有全部或至少一些包含原始数据的数据结构。但这些原始数据同样不会用于处理搜索查询或数据分析,而是用于其他用途。例如可能有利的是,将原始数据的副本保存在DVS系统的文档存储器中,以便在稍后附加和/或更佳的解析器可用时的时刻再次对原始数据执行解析过程,以便识别和提取先前使用的解析器无法识别或解析的其他数据值和/或为其赋予的语义概念。这样就能减少网络流量,因为当新的或更佳的解析器可用时,无需重新传输联网系统中存储的原始数据。
根据本发明实施方案,无冗余列表还包括全局列表。全局列表是全部导入数据值的无冗余列表,该全局列表中的每个数据值赋有一个或多个指针,每个指针指向概念列表之一中的元素或无概念列表中的元素,该元素包含与该数据值相同的数据值。所述DVS系统配置为至少对全局列表进行分析或查询搜索,该全局列表用于识别和/或针对概念处理不同数据对象中表示不同语义概念的数据值。
优选地,不为全局列表中的数据值赋予对象ID。例如,全局列表将只包含数据值“银”一次。虽然全局列表中的这一数据值未直接赋对象ID,却赋有一个或多个指针,指向代表至少一个数据对象中为数据值“银”赋予的语义概念的概念列表。在此示例中,全局列表中的数据值“银”将赋有概念列表“姓氏”、“金属类型”和“颜色”。如果数据值“银”存储于无概念列表中,则数据值“银”也将赋予无概念列表。
使用全局列表的优势便在于,能够立即根据上下文判断每个数据值是否代表不同的语义概念,若是,则判断语义概念数目及哪些语义概念。优选地,仅为各个概念列表或无概念列表的数据值直接赋予对象ID,因此很容易就能选择根据特定概念包含数据值“银”的数据对象,并与根据另一概念包含字词“银”的数据对象加以区分。
根据一实施方案,所述DVS系统设计为提供用于输入搜索词的GUI。输入搜索词期间,DVS系统会搜索全局列表来判断输入词是否对应于全局列表中的数据值。所述DVS系统向用户建议与已输入搜索词至少部分相同或相似的一个或多个确定的数据值。例如,DVS系统可以在上下文菜单或自动完成列表中向用户显示确定的数据值,使其可供选择。当用户选择建议的数据值之一时,DVS系统确定全局列表中该数据值引用的语义概念(和相应的概念列表)的数目和类型。这样确定的语义概念也显示在GUI上,用户可以通过GUI选择这些语义概念中的一个或多个语义概念。例如,用户输入搜索词“银”时,还可获悉该搜索词有几个已知概念(姓氏、金属类型、颜色)。用户可以选择这些概念,例如通过所谓的“复选框”、“下拉列表”、“单选按钮”等GUI元素,从而将搜索查询限制为特定的语义概念。例如,选择“金属类型”概念会将搜索限制为包含数据值“银”作为金属标志符的数据对象。这些数据对象的对象ID都存储于“金属类型”概念列表中,并与“银”列表元素相关联。
根据本发明实施方案,至少一些数据值是从包含原始数据的数据结构字段中提取。这些字段由数据结构定义。这些字段包括一个或多个概念相关字段和/或一个或多个概念无关字段。
例如,字段可以是Excel文件中的单元格、数据库表中的元素、XML对象树内的特定XML元素等。它对应于数据结构内用于存储一个或多个数据值的预定义容器。概念相关字段是赋有字段标志符的字段,该字段标志符代表语义概念。概念无关字段是未赋语义含义的字段。通常,原始数据的至少一些数据值存储于概念相关字段中和/或原始数据的一些其他数据值存储于概念无关字段中。例如,如果对Excel表格进行解析,其行列均不包含表格中所含数据的语义概念的标志符,则这些字段可视为概念无关字段。然而,如果存在“姓”、“名”、“出生日期”、“生产日期”、“重量”等字段标志符,则它们是概念相关字段。
解析和导入概念相关字段中存储的数据值可能有利的是,允许自动“学习”新的语义概念并将其整合到DVS系统。某些解析器类型也能实现卓越的学习效果:通过定义解析器,将表格第一行单元格中的数据值解译为这些单元格下方的同列数据值应赋有的语义概念,该解析器可用于从遵循第一行(标题行)中包含各列语义概念的方案的任何Excel表格中导入新语义概念和新数据值。如果DVS系统在导入“姓”列的数据值时识别出先前未知语义概念“姓”(即不存在“姓”概念列表),则DVS系统会自动创建这样一个概念列表,该列全部数据值无冗余式存储于该列表中。
根据本发明实施方案,所述DVS系统将从概念相关字段中提取的数据值存储于代表该概念相关字段的字段标志符的语义概念的概念列表中。根据本发明实施方案,如果所使用的解析器未识别数据值的语义概念,则DVS系统将从概念无关字段中提取的数据值唯独存储于无概念列表中。
根据本发明实施方案,至少一些数据值是由语义解析器导入,这些语义解析器基于数据分析识别导入的数据值和赋予该数据值的语义概念,该数据分析特别是图像分析、音频信号分析、统计分析、分类法、机器学习法和/或模式识别法。根据一实施方案,所使用的多个解析器包括将音频数据分类并转换成文本、然后分解成用作数据值的字词的解析器。作为补充或替代,解析器可以评估音频数据来识别音乐流派并将音频数据整体视为数据值,为其赋予自动确定的音乐流派(例如摇滚、科技舞曲、古典)作为语义概念。
即使任何字段标志符均未指示赋予数据值的语义概念,仍可在解析过程中识别出语义概念。例如,原始数据可以是数字图像,解析器是可识别特定对象(人物、动物、植物等)的图像分析软件。识别出特定对象的图像或图像片段获得对象ID和图像(或者相应图像片段的像素数据或仅所识别对象(“人”、“狗”、“猫”等)的名称作为解析后的“数据值”存储于相应的概念列表(“人”或“狗”等)。是否能从原始数据中识别和提取数据值以及是否能为该数据值赋予语义概念可以取决于字段标志符和/或所使用的解析器。
如果无冗余数据值列表仍不包含动态识别的新语义概念(新音乐流派、图像数据中的新对象类型)的概念列表,则DVS系统优选地自动为该语义概念创建新概念列表。
根据本发明实施方案,上述方法还包括:
-在导入并存储数据值之后,提供另外的解析器,其配置为识别并导入赋予至少一个新语义概念的数据值,新语义概念是当前数据存储器中所包含的任何概念列表未代表的概念;
-另外的解析器处理原始数据,从原始数据中提取赋予至少一个新概念的一个或多个新数据值;
-DVS系统将另外的解析器所识别的至少一个新语义概念与数据存储器中的概念列表进行比较,并针对至少一个新语义概念中的每一个新语义概念,另外的解析器提取至少一个数据值,自动生成并存储新概念列表;
-将另外的解析器从原始数据中提取的数据值自动存储于至少一个新概念列表中代表该另外的解析器为该数据值赋予新语义概念的那个新概念列表中。
-优选地,无概念列表和/或全局列表也如此更新,即从无概念列表中删除赋予数据值的数据对象的对象ID,其中这些数据对象包含新解析器能够首次赋予新概念的数据值。将这些对象ID赋予新概念列表中的这个数据值。针对该数据值,无概念列表中保留了包含该数据值但另外的解析器无法为其赋予概念的那些数据对象的对象ID。
这样也能后续通过新改进的解析器评估相同的原始数据,在此情况下提取的知识可以无缝整合到现有列表结构中,使其可供搜索。
根据本发明实施方案,上述方法还包括:
-接收识别满足一个或多个概念相关搜索条件和/或一个或多个概念无关搜索条件的数据对象的搜索查询,概念相关搜索条件为赋予语义概念标识符的搜索条件,概念无关搜索条件为未赋语义概念的搜索条件;
-在无概念列表中搜索满足每个接收到的概念无关搜索条件的一个或多个数据值;例如,搜索可以是搜索有关搜索词的相同或相似数据值;例如,针对相似搜索可以使用正则表达式;和/或
-针对每个接收到的概念相关搜索条件,在代表该搜索条件的语义概念的概念列表中选择性搜索满足概念相关搜索条件的一个或多个数据值;
-返回赋予DVS系统响应于搜索查询来搜索全局列表和/或至少一个概念列表而确定的数据值的对象ID或这些对象ID的子集。
由于根据语义概念达成将数据值强力压缩并自动拆分到不同列表中,即使在低性能计算机上,也能飞快处理海量原始数据,将其中所含的数据值转换成列表结构。
根据本发明优选实施方案,将每个列表中的数据值排序,即按照顺序关系进行排列(例如,对于由字母数字字符串组成的数据值,按字母顺序排列)。这样能够加快在列表中搜索特定数据值的速度,因为若基于顺序关系遍历列表中数据值后判定列表中不会包含该数据值,则可中止搜索。
根据本发明实施方案,使用无冗余列表进行查询搜索和/或数据分析包括对赋予两个以上无冗余列表中数据值的对象ID集合进行集合运算,该集合运算特别是交集、并集、差集或对称差集运算。
例如,可以在多个概念列表和/或无概念列表中识别与搜索查询的搜索词完全相同或最相似的一个数据值(“匹配值”)或多个匹配值。通过对分别赋予这些概念列表中单个概念列表的这些匹配值的对象ID集合应用并集形成运算,算出包含该概念列表的全部匹配值的那些数据对象的并集全体。通过对不同概念列表的并集步骤中所获得的对象ID集合应用交集运算,算出每个概念列表针对查询的搜索条件所涉及的每个概念列表包含至少一个匹配值的那些数据对象的交集。该交集可以作为搜索查询结果返回和/或用于进一步分析。
根据本发明实施方案,无概念列表和/或一个或多个概念列表的数据值各自存储为链接到一个或多个时间记录,这些时间记录均包含初始生成数据值的事务时刻或DVS系统导入数据值的时刻。上述方法还包括DVS系统考虑时间记录来答复搜索查询和/或进行数据分析。
例如,概念列表“公司注册地(Firmensitz)”的数据值“法兰克福(Frankfurt)”可以赋有时间“自1978年3月13日起(ab dem 13.03.1978)”与就公司“Gelb AG(盖尔布股份公司)”取得该时间记录的第238号工商登记簿的对象ID。此外,概念列表“公司注册地”的数据值“柏林(Berlin)”可以赋有时间“自2012年7月16日起(ab dem 16.07.2012)”与就同家公司“Gelb AG”取得该时间记录的第46474号工商登记簿的对象ID。通过查询公司“Gelb AG”的全部“公司注册地”数据值,还可以重建公司注册地迁址的时间顺序,因为从中提取数据值的数据对象及其对象ID会链接到这个时间记录。
根据本发明实施方案,至少一些数据对象与其他数据对象存在关系。这些关系可以例如是“ist Bestandteil von(属于)”、“beinhaltet(包含)”、“zu Klasse(属类)”、“aktiviert(激活)”、“inhibiert(阻止)”、“ist_verbaubar_in(配型)”等关系。这些关系可能已显式或隐式包含在原始数据中,并可在解析过程中提取出来。然而,DVS系统也可以仅在稍后对原始数据和/或已存储无冗余列表的数据值执行数据处理操作的过程中提取关系。
每个所提取的数据对象之一(“第一数据对象”)与另一数据对象(“第二数据对象”)的关系均以关系类型(即关系标志符,诸如“is_verbaubar_in”)与第二数据对象的对象ID的组合(特别是串联)形式来提取。每个所提取的组合存储为无概念列表和/或至少一个概念列表中的数据值之一,无概念列表和/或至少一个概念列表中每个所提取的组合均赋有存在该组合中指定关系的第一数据对象的对象ID。
例如,这样提取和存储对象关系可用于制定“开放式”搜索查询,提取特定对象的上下文,包括引用该搜索对象的对象集和关系类型。
根据本发明实施方案,解析期间确定的数据对象的对象ID也视为数据值并存储于例如“对象ID”概念列表中(可选地,额外存储于全局列表中)。
例如,可以提取数据对象的对象ID作为数据值并存储于“对象标识符”概念列表中。可以在对象标识符概念列表中搜索特定对象ID(搜索对象ID),以在该列表中查找与搜索对象ID完全相同的数据值。此后,确定对象标识符概念列表中赋予该确定数据值的全部数据对象的对象ID。除了与搜索对象完全相同的数据对象外,还包括与搜索对象有关系的全部数据对象,因为它们也包含搜索对象的对象ID。
除了上述搜索“相同”匹配外,还可以使用包含搜索对象的对象ID的正则表达式搜索全局列表。例如,全局列表可以包含许多映射关系的数据值,例如“ist_verbaubar_in_Motor_XL-3000”、“ist_leistungsequivalent_zu_Motor_XL-3000”、“wird_aktiviert_von_p53_Gen”等,其中组成部分“Motor_XL-3000”和“p53_Gen”代表对象ID。基于仅将对象ID指定为搜索对象ID并将关系类型标志符保持开发状态的正则表达式进行搜索,可以首先在全局列表中确定所有包含搜索对象ID作为数据值组成部分的数据值,即全部引用搜索对象的关系类型。这样确定的全局列表数据值参考相应的上下文清单,即例如语义概念“ist_verbaubar_in”和“ist_leistungsequivalent_zu”的上下文清单。概念列表“ist_verbaubar_in”可以包含赋有第一组对象ID的数据值“ist_verbaubar_in_Motor_XL-3000”。“ist_leistungsequivalent_zu”概念列表可以包括赋有第二组对象ID的数据值“ist_leistungsequivalent_zu_Motor_XL-3000”。借此,第一组对象ID与第二组对象ID的合集产生“verbaubar in(配型到)”或“leistungsequivalent zu(功率等于)”搜索对象“Motor_XL_3000”的全部数据对象。
根据本发明实施方案,上述方法包括:
-接收确定与搜索数据对象有关系的全部数据对象的搜索查询或分析命令,该请求或命令包含搜索对象ID;
-搜索全局列表来确定由关系类型和与搜索对象ID相同的对象ID组合而成的全部数据值;
-识别全局列表中所确定的数据值涉及的一个或多个概念列表;
-搜索一个或多个所识别的概念列表来确定由关系类型和与搜索对象ID相同的对象ID组合而成的数据值;
-返回一个或多个概念列表中赋予所确定的数据值的对象ID,即与搜索对象有关系的数据对象的对象ID。
这样就能高度灵活、可扩展、高性能地执行高度复杂的搜索查询和相似性搜索(使用正则表达式进行模糊搜索),而无需为此创建B树形式的数据库索引,否则整合新的数据对象类型或搜索查询时可能必须对其进行调整。借此,对于每个搜索对象,可以飞速找出哪些关系类型关于搜索对象实际存在以及有多少以及哪些其他对象通过其中一种或多种关系类型引用或连接到该搜索对象。
这特别有利于“工业4.0(Industrie 4.0)”应用背景或订购和/或配置高度复杂零部件(飞机涡轮机和发动机)的情况:复杂的零部件或系统组件可能由数千个组件组成,而这些组件又可能由子组件组成。如果汽车或飞机厂商的数据库包含大量组件,这种类型的关系查询可以飞速确定哪些数据对象例如存在关系“ist-Bestandteil-von-Motor-XM-300049BT”。
根据本发明实施方案,上述方法还包括:
-DVS系统提供映射表,该映射表为无概念列表中的每个数据值和每个概念列表中的每个数据值各赋一个或多个标识符;
-DVS系统生成无概念列表和每个概念列表的混淆副本,该混淆副本中的数据值均替换为映射表中赋予该数据值的标识符;
-DVS系统使用混淆列表来进行搜索查询和/或分析。
这样的优势在于提高数据安全性。例如,映射表和模糊列表副本可以在不同的计算机系统上提供和/或在单独的IT安全环境下存储和使用。如果未经授权的第三方获得混淆列表的访问权限,也无法在缺少映射表的情况下识别列表内容。访问映射表本身无害,因为它不包含任何允许重建数据值赋予对象的对象ID。未经授权的第三方就必须侵入两个独立的计算机系统或两个独立的安全系统才能重建原始列表。这样就提供了一种特别安全的数据管理搜索方法。
根据本发明实施方案,标识符是长度和/或类型取决于用于搜索和/或分析的计算机系统的处理器架构的值,即根据这些因素来选取的值。特别是,标识符的长度和/或类型选择为使得处理器架构能够飞速处理这些标识符。例如,标识符的长度可以对应于处理器架构的处理宽度(例如,32位用于32位架构,64位用于64位架构)。如果处理器架构可以特别高效地处理数值,则标识符可以由数值组成。如果处理器架构可以特别高效地处理其他类型的值(例如符号),则标识符可以由符号组成。
根据本发明实施方案,基于映射表进行搜索或分析时确定搜索值标识符,该搜索值标识符是赋予映射表中搜索值的标识符。
根据本发明实施方案,全部标识符具有固定长度,特别是相同长度,该长度优选地选择为使得每个标识符完全适合执行根据本发明实施方案所述方法的至少一个处理器的ALU的工作寄存器。借此,根据本发明实施方案,在ALU的单个工作周期中将标识符相互比较和/或与搜索值标识符相比较。
这会有利的是,将数据值替换为一个或多个标识符不仅改进了防止未经授权访问的数据内容保护,而且提高了处理搜索查询和数据分析过程中的处理数据效率。
根据本发明实施方案,上述方法还包括:
-DVS系统加密概念列表和无概念列表,或DVS系统加密混淆概念列表和混淆无概念列表;
-响应于接收到搜索查询或数据分析命令,识别需要处置来处理搜索查询或数据分析命令的加密列表;
-向DVS系统验证搜索查询的发送者,其中DVS系统针对每个所识别的列表分别检查是否授权发送者访问列表内容;
-DVS系统选择性生成已验证发件人有权访问所识别列表的解密副本;
-对列表解密副本进行搜索查询或数据分析;
-在搜索查询或数据分析后,DVS系统删除已解密的列表副本。
这样的优势在于,DVS系统生成和管理的列表因加密而基本上不可读。优选地,解密所需的加密密钥安全存储于例如HSM上或相对安全的环境中。这意味着获得列表或列表副本的未经授权的第三方无法读取其中包含的数据。只有在响应搜索查询或分析命令时,才会临时解密一些必须读取才能答复查询的列表。这样就能提供一种可灵活扩展、节省资源、同时安全的数据管理搜索方法。
根据优选实施方案,所述DVS系统使用不同的加密密钥来加密每个列表。这样能够进一步提高安全性。
根据本发明实施方案,至少一个概念列表代表一种物种或亚种的多个个体的基因组标记,至少一个另外的概念列表代表这些个体的代谢或表型特征。所述DVS系统通过对这些列表进行集合运算来完成数据分析。数据分析既涉及基因组标记的相关性分析,又涉及代谢或表型特征的相关性分析。这样提供了一种非常高效的新颖方法来进行所谓的“全基因组关联研究(GWA)”。
根据其他实施方案,全局列表和/或至少一个概念列表的至少一些数据值指定与其他对象的“ist-Bestandteil-von”关系,包括该其他对象的对象ID,至少一个另外的概念列表代表这些个体的代谢或表型特征。所述DVS系统进行搜索查询,搜索条件包含关系类型“ist-Bestandteil-von”与对象ID的组合,搜索条件的对象ID代表机器或车辆或该机器或车辆的多个组成部件。
根据其他实施方案,全局列表和/或至少一个概念列表的至少一些数据值是自然语言字词。所述DVS系统通过对这些列表进行集合运算来完成数据分析。数据分析涉及字词的相关性分析,以创建该自然语言的预测模型。
另一方面,本发明涉及一种存储有计算机可读指令的易失性或非易失性存储介质,这些指令设计为促使处理器执行根据上述权利要求中任一项所述的将数据存储于数据存储器的方法。
根据一实施方案,存储无冗余数据值列表的数据存储器是主内存。主内存可以是处理器的主内存,特别是Raspberry-Pi型计算机等单板计算机的处理器。
又一方面,本发明涉及多个无冗余数据值列表。数据值列表包括多个概念列表和一个无概念列表。可选地,无冗余数据值列表还可以包括全局列表。无冗余列表包含数据值和各含一个或多个该数据值的数据对象的对象ID。每个概念列表代表各语义概念,无冗余列表选择性包含赋予该概念列表中语义概念的数据值,该概念列表中的每个数据值均赋有全部包含该数据值的数据对象的对象ID,所包含的数据值为该概念列表中语义概念的表示。无概念列表选择性包含未赋语义概念的数据值,该无概念列表中的每个数据值均赋有全部包含该数据值的数据对象的对象ID,该数据对象所包含的数据值未赋语义概念。
还一方面,本发明涉及一种无冗余数据值列表用来搜索和/或分析这些列表中所含数据值的用途。无冗余数据值列表特别是可供电子数据处理系统使用。通常,由创建列表的同一DVS系统执行搜索和/或分析。然而,也可能由另一系统(例如另一DVS系统)而非生成列表的系统来执行搜索。
再一方面,本发明涉及一种计算机系统,该计算机系统配置为在电子数据库中搜索数据,该计算机系统配置为在此搜索中使用无冗余数据值列表来搜索和/或分析这些列表中所包含的数据值。
更一方面,本发明涉及一种用于存储数据的计算机系统。该计算机系统包括至少一个处理器、数据存储器和数据处理搜索系统(DVS系统)。该DVS系统设计为管理和搜索存储于数据存储器中的数据,并设计为促使至少一个处理器执行一种方法,包括:
数据处理搜索系统(DVS系统)接收原始数据或原始数据访问地址,原始数据具有不同的结构;
-多个不同的解析器解析原始数据,以确定各有一个或多个数据值的数据对象和每个数据对象的对象ID,其中至少一些数据值各赋语义概念;
-DVS系统自动导入解析结果;
-DVS系统将全部解析结果呈无冗余数据值列表形式自动存储于数据存储器中,这些无冗余列表包括:
·一个或多个概念列表,每个概念列表代表各语义概念,无冗余列表选择性包含解析时赋予该概念列表中语义概念的导入数据值,该概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,所包含的数据值为该概念列表中语义概念的表示;
·无概念列表,无概念列表选择性包含解析时未赋语义概念的导入数据值,该无概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,该数据对象所包含的数据值在解析时未能赋有语义概念;
-DVS系统提供无冗余列表来答复搜索查询和/或进行数据分析。
根据本发明实施方案,至少一个处理器包括算术逻辑单元(ALU),该算术逻辑单元设计为对赋予两个以上无冗余列表中数据值的对象ID集合进行集合运算,该集合运算特别是包括交集、并集、差集或对称差集运算。特别是,集合运算可以由ALU执行,从而在ALU的单个工作周期(比较操作)内对两个对象ID进行比较。
本文“处理器”是指(常大幅缩小又常空闲的)可编程运算单元,即机器或电子电路,其根据给定命令控制其他机器或电路而驱动算法(过程),通常涉及数据处理。例如,处理器可以设计为主处理器、中央运算单元或(更通用的)中央处理单元(CentralProcessing Unit,缩写为CPU),用于计算机或执行指令的计算机类设备。处理器还可以设计为嵌入式系统中的微控制器(如家用电器、售票机、智能电话等)。
根据本发明实施方案,处理器的子单元直接执行上述方法的至少一个步骤。
特别是,根据本发明实施方案,至少一个处理器的算术逻辑单元(ArithmeticLogic Unit,缩写为ALU)可以直接执行对象ID的集合运算。ALU可以将两个同位数(n)的二进制值组合起来,即n位ALU。n的典型值为8、16、32和64。根据本发明实施方案,全部对象ID都有固定长度,特别是相同长度,优选地,该长度选择为使得每个对象ID完全适合ALU的工作寄存器,在集合运算过程中可以在ALU中相互比较。特别是,为了将两组对象ID集合相互比较,例如计算交集、并集、差集或对称差集,可以将某一集合中的全部对象ID与另一集合中的全部对象ID进行身份比较。
本文“原始数据”是指任何电子形式但尚未可供DVS系统的解析器进行解析的数据。原始数据尤其包括观察、测量或数据收集时直接获得但尚未处理的数据。本发明意义上,“原始数据”还包括从初始收集的数据中导出的数据,该导出却非由用于将数据导入DVS系统的解析器来执行。原始数据便应指提取和存储通常完全独立于DVS系统的存在或参与而生成并存储的数据。
本文“访问地址”是指使数据处理系统至少读取访问这些访问地址下可用数据的信息。访问地址可以例如是网络上可用文件的URL、基于本地文件系统的文件地址、数据库名信息以及其中具有特定数据集的数据库表,或诸如此类。
本文“数据处理搜索系统(DVS系统)”是指用于存储、管理和处理电子数据的基于软件和/或硬件的系统。根据本发明实施方案,DVS系统设计为高效、一致、永久性存储大量数据。根据本发明实施方案,DVS系统可以包括多个可设计为模块的组件:用于接收和解析原始数据并用于将解析后的数据存储于无冗余列表中的导入组件。这里,导入组件可以使用现有列表,必要时自动创建新的列表。DVS系统还可以包括用于搜索和/或分析列表的搜索分析组件。可选地,DVS系统可以包括GUI,允许用户输入待解析原始数据和/或待导入的概念/数据值对(键值对)和/或搜索词和/或分析命令。DVS系统对其管理的数据存储器具有读写访问权限。根据本发明实施方案,DVS系统包括数据存储器和其中存储的列表。可选地,DVS系统还可以包括文档存储器,用于存储至少一些原始数据。
本文“数据对象”或“数据集”是指一组内容上相关(属于某一对象)的数据值,例如商品号、商品名和生产日期。数据集对应于数据值的逻辑结构,这种结构是在存储数据对象的数据时指定或者只有在解析数据时才识别。例如,如果解析后的原始数据是图像,则图像中描绘的各识别对象可以是本发明意义上的“数据对象”。然而,也可能是图像的像素信息矩阵整体上构成数据对象“图像”。在此情况下,数字图像是数据对象,图像标识符可用作对象ID。
原始数据中所包含的数据对象就包括原始数据中明确证实为本身对象的数据集(例如,具有逐行数据集的Excel表格的各行)以及解析过程中动态识别和提取的数据对象。后者表示“隐式”包含在原始数据中的数据对象。
本文“数据值”是指数据集的可评估最小单位。最小可评估单位取决于应识别和提取数据值以及可选地这些数据值在原始数据中的语义含义的应用背景,例如解析器。例如,图像分析解析器可以设计为在数位层面上识别数字图像的模式。在此情况下,数据值将是链接到像素位置数据的二进制值。根据另一例,解析器可以基于单个像素的强度值来识别模式。于是,数据值可以是某个像素位置的强度值。根据原始数据的种类,数据值可以是字母数字字符序列(例如字词、肽序列、核苷酸序列)、数字(例如重量或大小信息)或二进制对象(图像、音频或视频文件)。
本文“解析器”是指负责将输入分解转换成更适合进一步处理的格式的计算机程序或程序模块。解析器尤可用于识别输入中显式或隐式包含的数据值的含义(语义,语义概念),并转发链接到该数据值的提取数据值的识别语义概念以供进一步处理。通常,解析器以预期形式输出经其处理过的原始数据,其中包含额外的语义信息。例如,用于将数据导入DVS系统的解析器可以将解析后的数据值及其语义概念以键值对形式输出,然后保存在现有列表中或作为自动创建新概念列表的基础。然而,解析器也可以是纯语法解析器,根据特定的分解和/或提取方案处理原始数据的数据结构,以便从原始数据中提取一个或多个数据值。
本文“无冗余数据值列表”是指每个数据值只含一次的数据值列表。
本文“数据存储器”是指用于存储数据的存储介质、存储介质上的存储区或者多个存储介质或存储区的组合。如果数据存储器包括多个存储介质或存储区,则它们可以相互连接成逻辑数据存储器。这里,存储介质或存储区可以例如通过网络或通过计算机系统的总线操作性相互连接。例如,DVS系统管理的数据存储器可以是DVS系统独占访问其数据的数据存储器。
本文“概念列表”是指优选排序的无冗余数据值列表,每个概念列表代表特定的语义概念,只包含导入时赋予该语义概念的数据值。概念列表中赋予特定数据值或列表元素的对象ID仅包括包含该数据值或列表元素并且导入时赋予该语义概念的数据对象的对象ID。
本文“无概念列表”是指优选排序的无冗余数据值列表,其代表无语义概念,包含导入时未赋语义概念的数据值。无概念列表中赋予特定数据值或列表元素的对象ID仅包括包含该数据值或列表元素并且导入时未能赋予语义概念的数据对象的对象ID。
本文“全局列表”是指优选排序的无冗余数据值列表,其中全局列表中的每个数据值赋有一个或多个指针,每个指针指向概念列表之一中的元素或无概念列表中的元素,该元素包含与全局列表的这个数据值相同的数据值。
本文“语义概念”是指不同具体实施例中可实现的含义内容。例如,语义概念可以表示某类包含多个元素的对象或过程。根据原始数据的类型和/或所使用的解析器,可以将大量不同的概念赋予已解析和导入的数据值。就医学数据而言,语义概念可以是诊断,例如包括诸如“糖尿病”、“帕金森症”或“皮肤癌”等不同的具体实施例(数据值)。另一种语义概念可以是“症状”,包括“发烧”、“发冷”、“牙痛”等实施例或数据值。
本文“DVS系统导入解析结果”是指DVS系统从DVS系统外置的一个或多个解析器接收解析结果的过程。如果一个或多个解析器是DVS系统的内置组件,则导入是将解析结果从这个或这些解析器传输到负责以无冗余列表形式存储结果的DVS系统模块。
本文“计算机系统”是指单片机或分布式数据处理系统,尤其是数字数据处理系统。数据处理系统便可例如包括独立式计算机系统或计算机网络,尤其是云系统。计算机系统也可以例如设计为移动数据处理系统,例如笔记本电脑、平板型电脑或便携式电信设备,如智能电话。
本文“系统”是指能够处理数据的一个或多个元件组合。为此,系统组件交换数据和/或控制命令。例如,系统可以包括具有DVS系统的计算机。可选地,系统可以包括更多组件,例如一个或多个客户端计算机系统(发送搜索查询和/或分析请求到DVS系统)和/或源系统(均包含DVS系统和解析器在无冗余数据值列表中转换的一些原始数据)。
附图说明
下面结合附图来描述本发明实施方案。图中:
图1示出了DVS系统的系统框图;
图2示出了数据存储方法的流程图;
图3示出了具有不同结构和不同内容的原始数据的多种数据结构;
图4示出了DVS系统生成的一些列表的选择框图;
图5示出了具有DVS系统客户端的分布式计算机系统;
图6示出了具有正则表达式搜索结果的DVS系统的GUI屏幕截图;
图7示出了具有不同搜索选项的DVS系统的GUI屏幕截图;
图8示出了DVS系统的GUI屏幕截图,该GUI归纳了概念列表内容。
具体实施方式
图1示出了根据本发明实施方案具有DVS系统102的系统100的框图。
例如,图1所示的系统100可以执行图2的流程图描绘的数据存储搜索方法。因此,下面将参照这两图来描述系统100和图2的方法。
例如,该系统和方法可用于整合大量异构结构的原始数据112,使其可供高效和灵活扩展的方式进行搜索和分析。例如,原始数据可以包括不同内容和结构的XML文件、JSON文件、不同格式的文本文件(例如Microsoft Word、OpenOffice、Adobe Acrobat PDF文件、TXT文件等)、来自一个或多个不同关系数据库的不同表格、媒体数据或分层组织数据,例如对象树。某些实施方案中,还可以通过DVS系统的用户界面输入原始数据。通常,原始数据来自多个独立的数据源,例如来自各种组织,特别是公司、机构和机关。某些原始数据中,可以或多或少地明确证明数据对象、它们的数据值和可选的语义含义,例如在数据库表、Excel文件和其他具有相应字段的结构相对复杂的数据中。其他原始数据(例如图像数据)中,数据对象及其数据值无法显式而是隐式存在。这意味着仅在解析过程中识别并提取数据对象及其数据值。
为了解析不同原始数据,提供了几种不同的语法和/或语义解析器118、120、122、124、126、128、130。例如,解析器可以是DVS系统102的整合模块110的组成部分。解析器也可能是由DVS系统启动和控制执行的外置组件。为了能够解析原始数据,所使用的解析器118、120、122、124、126、128、130至少需要读取访问相应的原始数据。在解析期间,解析器优选地与DVS系统或DVS系统的其他组件进行交换,例如能够在为数据对象动态创建对象ID时判断该ID是真正唯一ID还是已被其中一个数据值列表中用作参考的对象ID占用。
第一步骤202,DVS系统102和/或其控制的解析器接收原始数据112或至少访问该原始数据的地址。访问地址至少允许读取访问原始数据。例如,原始数据可能是在一个或多个通过网络连接的源系统中生成或获取,并通过网络(例如因特网)传输到计算机系统100。某些实施方案中,DVS系统存储原始数据的副本,例如用于日后供现有解析器的附加和/或改进版本重新处理。然而,不会直接处理原始数据来答复搜索查询。
解析和导入不同原始数据可以并行进行,但也可以先后处理不同原始数据,甚至间隔很长时间,这取决于原始数据的可用性和/或解析用解析器。
步骤204,由多个解析器118、120、122、124、126、128、130处理原始数据来提取数据对象、它们的对象ID以及每个数据对象中包含的一个或多个数据值。例如,可以为Excel文件、文本文件、图像文件、不同XML文件和数据库表给予不同的解析器。对象ID可以是已由原始数据指定并由DVS系统接管为对象ID的数据对象标识符。替代地,也可以只在解析期间生成对象ID。例如,多个数据集可以逐行存储于Excel表格中。该Excel表格的解析器可以配置为将Excel文件的每一行解译为数据对象,并使用包含数据集/数据对象的行的文件名与行号的组合。如果所提取的数据值已在原始数据中明确赋予相符的语义概念(例如通过相应的字段或列标志符),则相关解析器为所提取的数据值赋予所提取数据值所体现的语义概念。由于解析器将某些字段标志符用作语义概念,如果数据存储器中尚无呈概念列表形式存在的概念,则DVS系统会自动生成相应的概念列表,DVS系统就会自动学习新的语义概念。解析时从原始数据中提取出的数据值根据字段标志符为其赋予的语义概念来存储于概念列表中。然而,解析器也可能只在复杂的解析过程中识别原始数据中未明确包含的数据对象和数据值。解析器也可能无法识别所提取的数据值属于哪个语义概念。进行解析步骤后,结果可以是(最初有可能冗余的)数据值列表形式,其元素分别链接到对象ID,可选地还赋有语义概念。
步骤206,DVS系统例如通过整合模块110导入解析过程的结果,并将结果呈无冗余数据值列表114、115、116形式存储于DVS系统管理的数据存储器或数据存储区104中。
这些列表包括一个或多个概念列表116、通常有无概念列表以及可选的全局列表115。优选地,根据特定排序关系排序列表内数据值,即例如按字母顺序排序。下面参照图3详述列表的功能和结构。通过这种存储形式,在一定程度上解决了对象结构,即特定数据对象中存在哪些数据值或语义概念的问题。这样就能强力压缩数据量,无需更改结构即可随时就附加原始数据和/或附加解析器形式提供的其他数据值和/或概念进行扩展。
步骤210,DVS系统提供无冗余列表114、115、116以便基于这些列表答复搜索查询和/或分析列表中包含的数据值。例如,创建列表的DVS系统可以包含搜索查询接收处理模块106和/或分析模块。例如,模块106可以配置为经由网络接口从一个或多个客户端计算机接收搜索查询或者经由GUI直接从本地工作用户接收搜索查询。作为补充或替代,模块106还可以包含大量复杂的分析功能,这些功能是基于对多个概念列表的集合运算,可选地还基于对无概念列表和全局列表的集合运算。
其他实施方案中,创建列表114、115、116的DVS系统也可以将列表114、115、116的原件或副本传输到搜索分析系统。搜索分析系统可以是DVS系统的另一实例,也可以是其他基于硬件和/或软件的数据处理系统,其接口用于接收和处理搜索查询和/或分析命令。可选地,这种其他搜索分析系统也可以包括解析器和用于导入解析结果的接口,但不必然包括此类组件。
图3示出了具有原始数据的数据结构,这些数据结构具有不同的结构和不同的内容。
例如,数据结构302、304和306是厂商电机的JSON格式产品数据单(出于空间因素,本图显示为制表符分隔的文本文件)。例如,可以这样完成解析过程,即三个JSON文件302、304和306中的每一个解译为各自的数据对象,各带对象ID。每个数据对象包含几个键值字段,例如语义概念“功率”的具体数据值、语义概念“转矩”的具体数据值等。
下面显示的数据结构是Excel表格,其中包含来自漆料经销商的不同漆料特性的规格。每一行308、310、312、313中包含正好一个数据对象(数据集)。在解析过程中,可以为每个识别出的数据对象赋予例如行号结合该Excel表格的标识符作为对象ID。
一部分原始数据可以呈文本数据形式,例如文本文件314、316、318。例如,可以使用纯语法解析器将此文本分解为单个字词(这些字词均充当数据值)。例如,语法解析器可以是分词器,将自然语言文本分解成字词以用作数据值(除了一些可能的停用词)。在此情况下,字词/数据值在导入时最初未赋语义概念,字词和相应源对象的对象ID保存在无概念列表中,每个字词仅在此列表中出现一次。
另一部分原始数据可以例如呈工商登记簿320、322、324形式提供。它们可以包含键值字段与自由文本的混合。
原始数据来自不同来源,但有时内容重合(“Gelb AG(盖尔布股份公司)”),有时数据值不明确(“银”)。本发明实施方案却允许高效整合处理所有这些数据,同时解决了语义歧义。
图4示出了DVS系统基于图3所示原始数据生成的一些数据结构的选择框图。无冗余列表114、115、116中显示的数据值也只是一种选择,列表通常要长得多。
DVS系统生成和管理的全部数据值列表114、115、116为无冗余列表,即它们仅包含每个数据值一次。优选地,还对数据值进行排序,以便基于搜索词在顺序中的排序和搜索过的列表数据值,在列表中进一步搜索不可能命中时,可以中止列表中的顺序搜索。
例如,解析器在处理原始数据时尤其识别出如下语义概念:颜色、厂商、漆号、货到付款、关系类型和金属类型。这些语义概念分别由概念列表402、404、406、408、410和412表示。
无概念列表115中包含解析时未能赋予语义概念的数据值。例如,如果消息文本314的解析器是纯文本字词分词器,无法识别字词含义,则由该解析器确定的字词“无概念”,采取无冗余形式存储于概念列表中。因此,如果文本314中提及“Gelb AG”,而所使用的解析器未识别该词的语义含义,则该数据值将存储于无概念列表中,引用数据对象314。相同的数据值“Gelb AG”也可能包含在其他原始数据中,由此解析这些其他原始数据时,可为该数据值赋予语义概念。例如,数据值“Gelb AG”也包含在字段标志符“Firma(公司)”下的工商登记簿320中。例如,工商登记解析器和/或DVS系统可以配置为将语义概念“Firma(公司)”和“Hersteller(厂商)”视为相同语义概念的同义词,从而概念“Hersteller”的概念列表404中的数据值“Gelb AG”存储为链接到数据对象302的对象ID。如果列表中已经存在数据值,则仅相应地补充赋予该数据值的对象ID集合。
无概念列表115和图3所示的其他一些列表表明,不同数据对象的列表数据值经过排序,并且列表中数据值的排序与特定数据对象的数据值来源无关。借此,从结构角度来看,在生成列表时完全解析了原始数据中数据对象的原始结构,因为数据值赋予数据对象只能采取对象ID形式提供并且可以重建。
可选地,某些实施方案中,也可以将数据值在各数据对象内的位置数据与列表115、116中的对象ID一起存储,从而也可以在原始数据中重建数据值在数据对象内的位置。
无冗余数据值列表优选地还包括全局列表114。它不包含对象ID,用于将数据值与一个或多个语义概念和相应的概念列表相关联。例如,为全局列表中的数据值“银”赋予概念列表“颜色”、“姓”和“金属类型”,而仅为数据值“Stolze(施托尔策)”赋予概念列表“姓”。例如,全局列表可用于在输入搜索词时动态显示包含特定搜索词的不同语义概念和/或将数据库搜索或数据分析时评估的数据值限制为代表特定语义概念的数据值。
优选地,列表还包括一个或多个代表数据对象关系的概念列表410。这里,数据值由关系类型(例如“配型(Verbaubar in)”)和对象ID(例如电机类型MF-3000,...,MF-6000的标识符)串联而成。该关系指定某个组件(在解析时从中提取该关系的数据对象中指定)可装配到哪种电机类型中。具有搜索值“Verbaubar_in_MF_3100”的搜索查询即可快速返回所有代表可装配到MF_3100型电机中的电机组件的数据对象的对象ID。这就为全部可能的对象关系类型提供了一种最高效的搜索机会,也可供主内存和/或计算能力不大的数据处理设备使用。
图5示出了具有DVS系统客户端506、508的分布式计算机系统500,经由网络向DVS系统102的接口106发送搜索查询和/或分析请求并接收响应的答复,例如对象列表,其数据值符合提交的搜索条件。
原始数据也由多个源系统502、504经由网络(例如因特网)提供。
然而,图5所示的系统架构500只是诸多可能架构之一。可能有许多替代架构,例如将原始数据以副本形式存储于与DVS系统相同的计算机系统100上和/或使用同样在计算机系统100上实例化的一个或多个本地客户端请求应用,作为通过网络连接的客户端系统506、508的补充或替代。解析器118、120、122、124、126、128、130可以是DVS系统的组成部分或由DVS系统控制的外置软件程序。
例如,解析器118、120、122、124、126、128、130可以首先从提取信息中生成键值列表(Key-Value-List(KV列表)),其中仍然包含冗余形式的数据值,例如,颜色=绿色,重量=100公斤,音乐流派=古典,书籍=科学,等等。作为补充或替代,可以通过数据处理系统的GUI接收KV列表,在此情况下,解析过程仅仅包括接受指定键值对并连接到从中获取键值对的数据对象的对象ID。例如,GUI可以允许医生基于多种症状输入进行诊断。“病例(Fall)”可以作为连续数据集(数据对象)输入,键值对“症状=高血糖水平”、“症状=低胰岛素浓度”、“症状=头晕”以及“诊断=糖尿病”保存在“症状”或“诊断”概念列表中,并通过搜索查询中该“病例”的对象ID与同一病例相关联。
然而,除了重建特定病例/患者的数据值外,还可以对包含数十万患者症状和诊断的数据值列表进行综合统计分析。
这样就能通过对无冗余列表进行高效的相关性分析来获得新的医疗结果,例如通过对来自多个概念列表的数据值的对象ID形成交集。
将解析器118、120、122、124、126、128、130生成的全部键值对503标准化,优选为自动标准化,始终以相同方式进行处理并传输到无冗余数据值列表114、115、116。无需更改列表结构或任何索引(在传统DBMS中,一般在整合更多数据或先前结构未知的新数据集时必须调整这两者)。
因此,数据值列表整体代表一种多维模型,其中数据集不会作为结构上与其他数据集分割的单独单元存在。数据值与特定数据对象的从属关系仅通过在无冗余列表中搜索和/或对这些列表中元素的对象ID进行集合运算来计算。
例如,搜索查询可以包含如下有关电话簿条目的搜索条件:"Vorname=/[CK].*ristin/","Straβe="/.*[Aa]llee.*/"与"Hausnummer=/14/".
搜索查询就包含两个正则表达式作为允许“模糊匹配”的搜索条件以及一个必须精确满足的数据值“14”。DVS系统配置为识别要应用搜索查询的搜索条件的概念列表(这里是名字、街道和门牌号),然后根据条件类型在各概念列表的数据值中进行模糊搜索或搜索完全相同的值。这种搜索不仅速度飞快,而且还有姓名中打字错误或拼写错误不会导致忽略符合搜索条件的电话簿条目(数据对象)的优势,前提是打字错误仍然包含在正则表达式中。
图6示出了根据一实施方案具有正则表达式搜索结果的DVS系统的GUI 600的屏幕截图。
本图所示的示例中,将大小为8.9GB的原始数据集解析并转换为大小为4.42GB的无冗余列表。原始数据集由一组逗号分隔的文件组成,各文件均包含大量电话数据集,各列均包含不同的语义概念,如姓、名、街道、门牌号、邮编、城市、区号和电话号码。正如前述实施方案,该数据转换为全局列表和如下概念列表,各列表仅含无冗余数据值:姓、名、邮编、城市、街道、区号和电话。此外,对于某些数据集(数据对象),定义了与其他数据对象(数据集)的关系,本例中为“母亲”和“父亲”关系。
GUI允许用户制定不同的搜索查询,其中可以包含有关一个或多个列表的搜索条件,可以用于不同的搜索模式(身份或正则表达式匹配),可以针对每个概念索引单独选择搜索模式。
图6所示的示例中,在搜索字段602输入正则表达式,借此在无冗余概念列表“姓”中搜索正则表达式。第一步,确定“姓”概念列表中包含的全部“匹配”正则表达式的数据值以及赋予该概念列表中这些匹配数据值的对象ID。第一步仅需0.7秒,因为无需搜索89GB的原始数据,而只需搜索具有320万个不同数据值的已排序姓列表。第二步,第一步中确定的对象ID全体用于输出代表姓氏“匹配”者的数据对象(数据集)。在本图所示的示例中,输出这些数据集大约需要11秒。对于此类运行时间,必须考虑到它们是在2012年制造的8GB RAM型MacBook Air计算机上测得,该计算机上除了用于数据搜索的DVS系统之外还运行Web服务器和各种其他程序,通过USB连接到笔记本电脑的外置SSD存储器来存储无冗余列表。在几年前的旧款笔记本电脑上而不是在专用数据库服务器上利用正则表达式进行搜索运行也就不到一秒。
使用无冗余数据值列表的优势还在于,既能非常高效地进行身份搜索,又能非常高效地使用正则表达式进行搜索。无冗余数据值列表形式的特定数据组织却支持大量其他搜索查询,其中一些请参阅图7。
图7示出了具有不同搜索选项的DVS系统的GUI 700的屏幕截图。一方面,用户可以选择进行“全局搜索”,这里称为“通用搜索”。使用通用搜索时,针对身份搜索输入搜索词或采取正则表达式形式输入搜索词。然后,在包含全体导入数据值的全局列表中进行搜索。例如,全局列表将包含一次搜索词“柏林(Berlin)”,该数据值引用全局列表中赋有几个概念列表“姓”、“名”、“城市”、“街道”,其中该数据值出现1327次、1112234次、89412次或81次。相比之下,数据值“柏林”未出现在“门牌号”和“邮编”概念列表中。名字“柏林”命中81次可能暗示原始数据中存在差错,例如分隔符缺失或错误,这会导致解析时无法识别字段分配。
作为全局搜索的补充或替代,用户还可以定义和执行任意组合搜索。组合搜索允许用户就搜索中需要考虑的每个语义概念输入搜索条件(这里例如是姓名、个人简称和电话或街道),优选地,在任何搜索条件中每次输入另外一个字母,就会触发对所有已输入(全部或部分)搜索条件的搜索。
根据表达式类型,几个正则表达式在几个概念列表上的运行时间介于几秒到几分之一秒的范围内。值得注意的是,无需创建索引,也无需根据要用于搜索的语义概念的数目和类型来调整列表的结构(或索引)。在许多传统的DBMS中,除了表格形式的关系数据(其体量大约相当于8.9GB的原始数据),表格之外还须创建大量搜索索引。借此,支持等量搜索查询的传统关系DBMS的高效内存消耗远比根据本发明实施方案的DVS系统对全局列表和/或概念列表和/或无概念列表进行各种可能组合搜索查询所消耗的4.42GB要高出数倍。
又如,将包含14亿条出租车行程数据集(包括始发点的时间和地点信息、乘客人数和支付金额)的550GB原始数据集转移到总大小为396GB的一组无冗余列表中。原始数据的数据集(数据对象)分别引用一个出租车区域作为始发区域和另一个出租车区域作为目的地区域。鉴于上述列表组织,尽管数据库规模庞大,但确定特定区域作为始发区域或目的地区域的出租车行程总数的运行时间仅需0.01秒。
图8示出了DVS系统的GUI 800的屏幕截图,该GUI归纳了概念列表内容。“Feldname(字段名)”列包含DVS系统管理并用于搜索的概念列表名称。该名称与该概念列表代表的语义概念完全相同。“(字段索引条目)”列中显示了各概念列表中不同数据值的数目。“Telefon(电话)”概念列表中存在6941134个不同的电话号码(不带区号)。“Name(姓)”概念表中存在3210129个不同的姓氏。“Vorname(名)”概念列表中共有673,264个不同的名字。“Vorkommen(出现次数)”列中显示了赋予各列表中全体数据值的全体(不同,即无冗余)对象ID。借此,原始数据包含34795673个“Telefon(电话)”字段中含有数据值的数据对象(数据集),这些“Telefon”字段中整体包含和提取了总共6941134个不同的电话号码。/>
Claims (19)
1.一种将数据(114、115、116)存储于数据存储器(104)的方法,所述方法包括:
数据处理搜索系统(102)接收(202)原始数据(112)或原始数据访问地址,其中,所述原始数据具有不同的结构;
多个不同的解析器解析(204)所述原始数据,以确定各有一个或多个数据值的数据对象和每个数据对象的对象ID,其中,至少一些数据值各赋语义概念;
所述数据处理搜索系统自动导入(206)解析结果;
所述数据处理搜索系统将全部解析结果呈无冗余数据值列表(114、115、116)形式自动存储(208)于所述数据存储器中,其中,所述无冗余列表包括:
一个或多个概念列表(116),其中,每个概念列表代表各语义概念,无冗余列表选择性包含解析时赋予该概念列表中语义概念的导入数据值,其中,该概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,其中,所包含的数据值为该概念列表中语义概念的表示;
无概念列表(115),其中,所述无概念列表选择性包含解析时未赋语义概念的导入数据值,其中,该无概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,其中,该数据对象所包含的数据值在解析时未能赋有语义概念;
所述数据处理搜索系统提供(210)所述无冗余列表(114、115、116)来答复搜索查询和/或进行数据分析,特别是在不访问原始数据的情况下进行搜索查询和/或数据分析。
2.根据权利要求1所述的方法,其中,至少一些原始数据呈多数据结构形式存在或接收,其中,所述多数据结构特别是属于如下两种以上数据结构的混合:
-XML文件;
-JSON文件;
-文本文件;
-CSV文件;
-数据库表;
-对象树;
-媒体文件,特别是视频文件、音频文件和/或图像文件;
-通过GUI接收的数据;
-流数据。
3.根据上述权利要求中任一项所述的方法,其中,所述无冗余列表还包括:
全局列表(114),其中,所述全局列表为全部导入数据值的无冗余列表,其中,所述全局列表中的每个数据值赋有一个或多个指针,其中,每个指针指向所述概念列表之一中的元素或所述无概念列表中的元素,该元素包含与该数据值相同的数据值;
其中,所述数据处理搜索系统配置为至少对所述全局列表进行分析或查询搜索,其中,所述全局列表用于识别和/或针对概念处理不同数据对象中表示不同语义概念的数据值。
4.根据上述权利要求中任一项所述方法,
其中,至少一些数据值是从包含所述原始数据的数据结构的字段中提取,其中,所述字段由数据结构指定,其中,所述字段包括一个或多个概念相关字段和/或一个或多个概念无关字段,其中,概念相关字段为赋有字段标志符的字段,其中,所述字段标志符代表语义概念;且/或,所述概念无关字段为未赋语义含义的字段,且/或
其中,至少一些数据值是由语义解析器导入,所述语义解析器基于数据分析识别导入数据值和赋予该数据值的语义概念,其中,所述数据分析特别是图像分析、音频信号分析、统计分析、分类法、机器学习法和/或模式识别法,
其中,例如,所述数据处理搜索系统将从所述概念相关字段中提取的数据值存储于代表该概念相关字段的字段标志符的语义概念的概念列表中;且/或
其中,例如,如果所使用的解析器未识别数据值的语义概念,所述数据处理搜索系统将从所述概念无关字段中提取的数据值唯独存储于所述无概念列表(115)中。
5.根据上述权利要求中任一项所述的方法,还包括:
在导入并存储数据值之后,提供另外的解析器,所述另外的解析器配置为识别并导入赋予至少一个新语义概念的数据值,其中,所述新语义概念为当前所述数据存储器中所包含的任何概念列表未代表的概念;
所述另外的解析器处理所述原始数据,其中,从所述原始数据中提取赋予至少一个新概念的一个或多个新数据值;
所述数据处理搜索系统将所述另外的解析器所识别的至少一个新语义概念与所述数据存储器中的概念列表进行比较,并针对所述至少一个新语义概念中的每一个新语义概念,所述另外的解析器提取至少一个数据值,自动生成并存储新概念列表;
将所述另外的解析器从所述原始数据中提取的数据值自动存储于所述至少一个新概念列表中代表所述另外的解析器为该数据值赋予新语义概念的那个新概念列表中。
6.根据上述权利要求中任一项所述的方法,还包括:
接收识别满足一个或多个概念相关搜索条件和/或一个或多个概念无关搜索条件的数据对象的搜索查询,其中,所述概念相关搜索条件为赋予语义概念标识符的搜索条件,其中,所述概念无关搜索条件为未赋语义概念的搜索条件;
在所述无概念列表中搜索满足每个接收到的概念无关搜索条件的一个或多个数据值;且/或
针对每个接收到的概念相关搜索条件,在代表该搜索条件的语义概念的概念列表中选择性搜索满足所述概念相关搜索条件的一个或多个数据值;
返回赋予所述数据处理搜索系统响应于搜索查询来搜索所述全局列表和/或所述至少一个概念列表而确定的数据值的对象ID或这些对象ID的子集。
7.根据上述权利要求中任一项所述方法,其中,使用所述无冗余列表(114、115、116)来进行查询搜索和/或数据分析包括:
对赋予两个以上无冗余列表中数据值的对象ID集合进行集合运算,其中,所述集合运算特别是包括交集、并集、差集或对称差集运算。
8.根据上述权利要求中任一项所述方法,
其中,至少一些数据对象与其他数据对象相关;
其中,在解析原始数据的过程中和/或稍后对原始数据和/或已存储的无冗余列表的数据值进行数据处理操作过程中,所述数据处理搜索系统提取这些数据对象与其他数据对象的对象关系;
其中,一个数据对象、即第一数据对象与另一个数据对象、即第二数据对象的每个提取关系呈关系类型与所述第二数据对象的对象ID的组合形式来提取;
其中,每个所提取的组合存储为所述无概念列表和/或所述至少一个概念列表中的数据值之一,其中,所述无概念列表和/或所述至少一个概念列表中每个所提取的组合均赋有存在该组合中指定关系的第一数据对象的对象ID。
9.根据权利要求8所述的方法,还包括:
接收确定与搜索数据对象有关系的全部数据对象的搜索查询或分析命令,其中,该请求或命令包含搜索对象ID;
搜索所述全局列表(114)来确定由关系类型和与搜索对象ID相同的对象ID组合而成的全部数据值;
识别所述全局列表中所确定的数据值涉及的一个或多个概念列表(116);
搜索一个或多个所识别的概念列表来确定由关系类型和与搜索对象ID相同的对象ID组合而成的数据值;
返回一个或多个概念列表中赋予所确定的数据值的对象ID,即与搜索对象有关系的数据对象的对象ID。
10.根据上述权利要求中任一项所述的方法,还包括:
所述数据处理搜索系统提供映射表,其中,所述映射表为所述无概念列表中的每个数据值和所述概念列表中的每个数据值赋予一个或多个标识符,其中,所述标识符特别是长度和/或类型取决于搜索和/或分析用计算机系统的处理器架构的值;
所述数据处理搜索系统生成所述无概念列表和每个概念列表的混淆副本,其中,所述混淆副本中的数据值均替换为所述映射表中赋予该数据值的标识符;
所述数据处理搜索系统使用所述混淆列表来进行所述搜索查询和/或分析。
11.根据上述权利要求中任一项所述的方法,还包括:
所述数据处理搜索系统加密所述概念列表和所述无概念列表,或所述数据处理搜索系统加密混淆概念列表和混淆无概念列表;
响应于接收到搜索查询或数据分析命令,识别需要处置来处理所述搜索查询或数据分析命令的加密列表;
向所述数据处理搜索系统验证所述搜索查询的发送者,其中,所述数据处理搜索系统针对每个所识别的列表分别检查是否授权所述发送者访问列表内容;
所述数据处理搜索系统选择性生成已验证所述发件人有权访问所识别列表的解密副本;
对列表解密副本进行搜索查询或数据分析;
在进行所述搜索查询或数据分析之后,所述数据处理搜索系统删除所述列表解密副本,其中优选地,所述数据处理搜索系统使用不同的加密密钥来加密每个列表。
12.根据上述权利要求中任一项所述方法,
其中,至少一个概念列表代表一种物种或亚种的多个个体的基因组标记,其中,至少一个其他概念列表代表这些个体的代谢或表型特征,其中,所述数据处理搜索系统通过列表集合运算进行数据分析,其中,数据分析涉及所述基因组标记与所述代谢或表型特征的相关性分析;或者
其中,所述全局列表和/或所述至少一个概念列表中至少一些数据值指定与其他对象的“相属”关系,包括该其他对象的对象ID,其中,至少一个其他概念列表代表这些个体的代谢或表型特征,其中,所述数据处理搜索系统进行查询搜索,其中,所述搜索条件涉及关系类型“相属”与对象ID的组合,其中,所述搜索条件的对象ID代表机器或车辆或者该机器或车辆的多个组成部件;或者
其中,所述全局列表和/或所述至少一个概念列表中至少一些数据值为自然语言字词,其中,所述数据处理搜索系统通过列表集合运算进行数据分析,其中,所述数据分析涉及字词相关分析,以创建该自然语言的预测模型。
13.根据上述权利要求中任一项所述方法,其中,对所述无冗余列表(114、115、116)中的数据值进行排序。
14.一种存储有计算机可读指令的易失性或非易失性存储介质,其中,所述指令设计为促使处理器执行根据上述权利要求中任一项所述的将数据存储于数据存储器的方法。
15.一种无冗余数据值列表(114、115、116),
其中,所述无冗余数据值列表包括多个概念列表(116)和一个无概念列表(115);
其中,所述无冗余列表包含数据值和各含一个或多个该数据值的数据对象的对象ID;
其中,每个概念列表代表各语义概念,无冗余列表选择性包含赋予该概念列表中语义概念的数据值,其中,该概念列表中的每个数据值均选择性赋有全部包含该数据值的数据对象的对象ID,其中,所包含的数据值为该概念列表中语义概念的表示;
其中,所述无概念列表选择性包含未赋语义概念的数据值,其中,该无概念列表中的每个数据值均选择性赋有全部包含该数据值的数据对象的对象ID,其中,该数据对象所包含的数据值未赋语义概念;
16.一种根据权利要求15所述的无冗余数据值列表(114、115、116)用来搜索和/或分析这些列表中所含数据值的用途。
17.一种用于电子数据库中搜索数据的计算机系统(100、500),其中,所述计算机系统配置为在此搜索时使用根据权利要求15所述的无冗余数据值列表(114、115、116)来搜索和/或分析该列表中所含的数据值。
18.一种用于存储数据的计算机系统(100、500),包括:
至少一个处理器(108);
数据存储器(104);
数据处理搜索系统(102),其中,所述数据处理搜索系统设计为管理和搜索存储于所述数据存储器(104)中的数据(114、115、116),并设计为促使所述至少一个处理器执行一种方法,包括:
数据处理搜索系统(102)接收(202)原始数据(112)或原始数据访问地址,其中,所述原始数据具有不同的结构;
多个不同的解析器解析(204)所述原始数据,以确定各有一个或多个数据值的数据对象和每个数据对象的对象ID,其中,至少一些数据值各赋语义概念;
所述数据处理搜索系统自动导入(206)解析结果;
所述数据处理搜索系统将全部解析结果呈无冗余数据值列表(114、115、116)形式自动存储(208)于所述数据存储器中,其中,所述无冗余列表包括:
一个或多个概念列表(116),其中,每个概念列表代表各语义概念,无冗余列表选择性包含解析时赋予该概念列表中语义概念的导入数据值,其中,该概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,其中,所包含的数据值为该概念列表中语义概念的表示;
无概念列表(115),其中,所述无概念列表选择性包含解析时未赋语义概念的导入数据值,其中,该无概念列表中的每个数据值均赋全部包含该数据值的数据对象的对象ID,其中,该数据对象所包含的数据值在解析时未能赋有语义概念;
所述数据处理搜索系统提供(210)无冗余列表(114、115、116)来答复搜索查询和/或进行数据分析。
19.根据权利要求18所述的计算机系统,其中,所述至少一个处理器包括算术逻辑单元,所述算术逻辑单元设计为对赋予两个以上无冗余列表中数据值的对象ID集合进行集合运算,其中,所述集合运算特别是包括交集、并集、差集或对称差集运算。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20206967.0A EP4002145A1 (de) | 2020-11-11 | 2020-11-11 | Listenbasierte datenspeicherung zur datensuche |
EP20206967.0 | 2020-11-11 | ||
PCT/EP2021/081011 WO2022101156A1 (de) | 2020-11-11 | 2021-11-09 | Listenbasierte datenspeicherung zur datensuche |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116783587A true CN116783587A (zh) | 2023-09-19 |
Family
ID=73343938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180080614.3A Pending CN116783587A (zh) | 2020-11-11 | 2021-11-09 | 基于列表的数据搜索用数据存储 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230394015A1 (zh) |
EP (1) | EP4002145A1 (zh) |
JP (1) | JP2023551641A (zh) |
CN (1) | CN116783587A (zh) |
WO (1) | WO2022101156A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722014B (zh) * | 2022-06-09 | 2022-09-02 | 杭银消费金融股份有限公司 | 基于数据库日志文件的批量数据时间序列传输方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001006414A2 (en) * | 1999-07-20 | 2001-01-25 | Inmentia, Inc. | Method and system for organizing data |
US7574652B2 (en) * | 2002-06-20 | 2009-08-11 | Canon Kabushiki Kaisha | Methods for interactively defining transforms and for generating queries by manipulating existing query data |
EP2365448A1 (en) * | 2010-03-11 | 2011-09-14 | British Telecommunications PLC | Data integration system |
-
2020
- 2020-11-11 EP EP20206967.0A patent/EP4002145A1/de active Pending
-
2021
- 2021-11-09 CN CN202180080614.3A patent/CN116783587A/zh active Pending
- 2021-11-09 JP JP2023528107A patent/JP2023551641A/ja active Pending
- 2021-11-09 WO PCT/EP2021/081011 patent/WO2022101156A1/de active Application Filing
- 2021-11-09 US US18/249,639 patent/US20230394015A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4002145A1 (de) | 2022-05-25 |
WO2022101156A1 (de) | 2022-05-19 |
US20230394015A1 (en) | 2023-12-07 |
JP2023551641A (ja) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9805080B2 (en) | Data driven relational algorithm formation for execution against big data | |
US6826566B2 (en) | Identifier vocabulary data access method and system | |
US20040133566A1 (en) | Data searching apparatus capable of searching with improved accuracy | |
US20090077078A1 (en) | Methods and systems for merging data sets | |
CN101535945A (zh) | 全文查询和搜索系统及其使用方法 | |
US20140046928A1 (en) | Query plans with parameter markers in place of object identifiers | |
US11556590B2 (en) | Search systems and methods utilizing search based user clustering | |
US11500871B1 (en) | Systems and methods for decoupling search processing language and machine learning analytics from storage of accessed data | |
US11567735B1 (en) | Systems and methods for integration of multiple programming languages within a pipelined search query | |
CN110866018A (zh) | 一种基于标签及标识解析的汽摩行业数据录入及检索方法 | |
CN112687364B (zh) | 一种基于Hbase的医疗数据管理方法及其系统 | |
US11727007B1 (en) | Systems and methods for a unified analytics platform | |
WO2022015392A1 (en) | Probabilistic text index for semi-structured data in columnar analytics storage formats | |
US10628421B2 (en) | Managing a single database management system | |
US11748634B1 (en) | Systems and methods for integration of machine learning components within a pipelined search query to generate a graphic visualization | |
CN116783587A (zh) | 基于列表的数据搜索用数据存储 | |
US8005844B2 (en) | On-line organization of data sets | |
CN116414854A (zh) | 数据资产查询方法、装置、计算机设备和存储介质 | |
CN115114297A (zh) | 数据轻量存储及查找方法、装置、电子设备及存储介质 | |
CN113127574A (zh) | 基于知识图谱的业务数据展示方法、系统、设备及介质 | |
US11954223B2 (en) | Data record search with field level user access control | |
WO2007099331A2 (en) | Data processing apparatus | |
CN117425886A (zh) | 具有仅添加数据结构的基于列表的数据搜索 | |
Majka | An Evaluation of Knowledge Discovery Techniques for Big Transportation Data | |
CN117874246A (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 |