CN111488340B - 数据处理方法、装置及电子设备 - Google Patents

数据处理方法、装置及电子设备 Download PDF

Info

Publication number
CN111488340B
CN111488340B CN201910088051.7A CN201910088051A CN111488340B CN 111488340 B CN111488340 B CN 111488340B CN 201910088051 A CN201910088051 A CN 201910088051A CN 111488340 B CN111488340 B CN 111488340B
Authority
CN
China
Prior art keywords
data
index
intermediate state
search engine
main
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.)
Active
Application number
CN201910088051.7A
Other languages
English (en)
Other versions
CN111488340A (zh
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.)
Cainiao Smart Logistics Holding Ltd
Original Assignee
Cainiao Smart Logistics Holding 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 Cainiao Smart Logistics Holding Ltd filed Critical Cainiao Smart Logistics Holding Ltd
Priority to CN201910088051.7A priority Critical patent/CN111488340B/zh
Publication of CN111488340A publication Critical patent/CN111488340A/zh
Application granted granted Critical
Publication of CN111488340B publication Critical patent/CN111488340B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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

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)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种数据处理方法、装置及电子设备,其中,方法包括:获取数据库中经水平切分的原始数据,并将所述原始数据进行聚合形成一个中间状态数据表;将所述中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。本发明实施例的方案,通过使用搜索引擎,解决数据库水平切分之后的不定组合多维查询问题。

Description

数据处理方法、装置及电子设备
技术领域
本申请涉及通信技术领域,尤其涉及一种数据处理方法、装置及电子设备。
背景技术
水平切分,是指通过一系列的切分规则将数据水平分布到不同的数据库或表中。对于大数据量,如底层采用mysql数据库表水平切分(分库分表)存储主表+附表数据,在解决跨分片随机组合列进行综合查询时常采用如下方案:
1.针对查询条件设置合适的索引。当查询条件很多且随机组合时,会导致查询很难走到正确的索引,进而导致查询超时;另外,随机组合的多维查询条件,也使索引构建成本很高,需要跟随使用的情况构建索引,导致索引结构和查询场景强绑定,不易于维护。对于新增列属性时,需要同步修改数据库的宽表结构,以及数据库数据同步任务,有一定的维护成本。
2.直接在数据库多分片上进行数据查询,然后进行合并。缺点:调度复杂,需要对于相关表进行多次关联查询,由于没有分表键,所以都要进行数据表的全量扫描。对于扫描结果,需要把大量的数据加载到内存进行处理,计算成本很高,对于groupBy和分页,更是需要把大量的数据处理放到程序中,所带来的开发和维护成本是灾难性的。同时,对于多维不定组合的查询条件,也会面临1中索引构建的问题。
发明内容
本发明提供了一种数据处理方法、装置及电子设备,通过使用搜索引擎,解决数据库水平切分之后的不定组合多维查询问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据处理方法,包括:
获取数据库中经水平切分的原始数据,并将所述原始数据进行聚合形成一个中间状态数据表;
将所述中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。
第二方面,提供了另一种数据处理方法,包括:
获取数据库中经水平切分的至少一个主表的主表数据;
将所述主表数据同步到预置搜索引擎中,并对该数据设置索引。
第三方面,提供了一种数据处理装置,包括:
数据获取模块,用于获取数据库中经水平切分的原始数据,并将所述原始数据进行聚合形成一个中间状态数据表;
同步索引模块,用于将所述中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。
第四方面,提供了另一种数据处理装置,包括:
主表数据获取模块,用于获取数据库中经水平切分的至少一个主表的主表数据;
数据同步索引模块,用于将所述主表数据同步到预置搜索引擎中,并对该数据设置索引。
第五方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行本发明第一方面提供的数据处理方法。
第六方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行本发明第二方面提供的数据处理方法。
本发明提供了一种数据处理方法、装置及电子设备,通过获取数据库中经水平切分的原始数据后,将原始数据进行聚合形成一个中间状态数据表;然后,将中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引,从而将在水平切分的数据库中进行数据搜索的问题移植到在搜索引擎中对数据进行搜索的问题,借助搜索引擎针对这些数据设置相应的索引,从而方便实现针对如多维度不定组合条件的数据查询,避免了在水平切分后的数据库中进行数据查询时所面临的设置及维护联合索引的问题,或者查询过程需遍历所有分库分表以及复杂的逻辑计算,计算量较大的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的数据处理逻辑流程图;
图2为本发明实施例的数据处理系统结构图;
图3为本发明实施例的数据处理方法流程图一;
图4为本发明实施例的数据处理方法流程图二;
图5为本发明实施例的数据处理方法流程图三;
图6为本发明实施例的数据处理装置结构图一;
图7为本发明实施例的数据处理装置结构图二;
图8为本发明实施例的数据处理装置结构图三;
图9为本发明实施例的电子设备的结构示意图一;
图10为本发明实施例的电子设备的结构示意图二。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例改善了现有技术中,在针对数据库数据经水平切分后进行数据查询所存在的,在设置和维护联合索引时遇到的问题,以及在通过合并数据进行数据查询时的调度复杂,计算量大的问题,其核心思想是,通过获取数据库中经水平切分的原始数据后,将原始数据进行聚合形成一个中间状态数据表;然后,将中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引,从而将在水平切分的数据库中进行数据搜索的问题移植到在搜索引擎中对数据进行搜索的问题,借助搜索引擎针对这些数据设置相应的索引,从而方便实现针对水平切分后的数据库数据进行如多维度不定组合条件的数据查询。
基于上述数据处理的方案思想,图1为本发明实施例的数据处理逻辑流程图,该处理流程中包括如下几个状态及处理环节。
对图中标记1表结构示例
主表A
按员工工号对表数量取模进行分库分表,比如总共设置三个主表:A1、A2和A3。
A1
员工工号 员工名称
0001 N1
0004 N4
A2
员工工号 员工名称
0002 N2
0005 N5
A3
员工工号 员工名称
0003 N3
0006 N6
附表B
依照主表,按员工工号对表数量取模进行分库分表(纵表),如以下为上述主表A1、A2和A3对应的三个附表B1、B2和B3。
B1
员工工号 Key Value
0001 height 170cm
0001 weight 80kg
0001 age 20
0004 height 180cm
0004 weight 90kg
0004 age 22
B2
员工工号 Key Value
0002 height 171cm
0002 weight 81kg
0002 age 21
0005 height 181cm
0005 weight 90kg
0005 age 23
B3
员工工号 Key Value
0003 height 175cm
0003 weight 85kg
0003 age 28
0006 height 182cm
0006 weight 93kg
0006 age 27
问题点:
以上为业务系统中常有的表结构。至少一个通过某业务主键进行数据库水平切分(分库分表)的主表,至少一个存储扩展属性的附表,且和主表保持相同的分库分表规则。
问题1:
如果数据查询条件中不含有员工信息,比如查找年龄最小的三位员工,由于数据分散在不同的表中,而业务系统的分表分库数量,一般都是比较多的,查询所有数据进行计算再返回结果,处理逻辑很复杂并且响应时间(RT)会比较高。
问题2:
当主表(或者附表)属性很多时,查询条件进行不定多维组合时,会有很高的索引维护成本。比如查询年龄<25and height<180cm的员工数据,需要针对年龄和身高建立组合索引,如果查询weight<90 and height>180cm的员工数据,需要针对重量和身高建立组合索引。当数据列为N的时候,查询的组合条件数量可能是其中M是查询条件的个数,索引的维护成本是极高的。
本申请针对上述问题提出了一种解决方案。
主要特点在于:
1.支持数据库水平切分之后,不带分表字段的查询需求;
2.提供当主表列很多,基于查询条件进行多维不定组合时的解决方案。
具体解决方案:
引入横表C(图中标记4),主要用于聚合主表和附表数据,横表依然使用主表的分库分表规则。
C1
C2
C3
注意,附表B可以无限增加行支持主表属性的扩充,而横表C不需要修改表结构,保证结构稳定,维护成本低。
图中标记2部分
数据同步链路,监听主表A+附表B新增、更新、删除消息,相应的处理为针对横表C结构进行数据插入、更新、删除。
图中标记3
java应用
功能1:负责接收表A+B的新增、更新、删除消息,处理为针对横表C结构进行数据写操作。
功能2:负责接收查询请求(7),调用搜索引擎(6),该搜索引擎可以是开放搜索引擎opensearch,通过查询API,查询结果。
图中标记5
横表C通过数据新增、更新、删除的binlog消息,将数据同步到opensearch中,opensearch把分库分表的数据聚合在一起,按照指定的列建立倒排索引。
需要说明的是,在横表C数据同步到opensearch时,针对横表C的keyValue数据列,支持按分隔符分隔多个KeyValue(比如“;”),再按指定KV分隔符(比如“=”),分割出Key和Value;key作为属性,value作为属性值被同步到opensearch的数据中,每种key可作为单独的一列,这样就能把附表B的属性抽取出来作为数据列进行索引构建。
图中标记6
搜索引擎产品,可以是开放搜索引擎。按表数据中的属性建立索引之后,可以支持索引列的不定多维查询。
基于图1的数据处理的方案思想,如图2所示,为本方案提供的数据处理系统的结构图。该系统涉及以下几个主体:数据库210,搜索引擎220和数据处理装置230。
数据库210可以为关系型数据库,其上存储的数据可以是经预置规则水平切分后存储的数据,通常水平切分后的数据可以存储在至少一个主表,以及与主表关联的至少一个附表中。
搜索引擎220,可实现外部触发的针对经水平切分后的数据库数据进行多维度不定项条件的数据搜索。具体可通过正排索引实现从数据源同步数据,也可以通过倒排索引实现满足指定搜索条件的数据搜索。
数据处理装置230,用于将数据库210中的数据,特别是经水平切分后的数据同步到搜索引擎220中,并接收外部输入的搜索请求,触发搜索引擎220根据搜索请求中的搜索条件,搜索目标数据,返回搜索结果。数据处理装置230具体包括:
数据获取模块,用于获取数据库210中经水平切分的原始数据,并将原始数据进行聚合形成一个中间状态数据表;
同步索引模块,用于将中间状态数据表中的数据同步到预置搜索引擎220中,并对该数据设置索引。
其中,经水平切分的原始数据可以是图1中的主表A和附表B中的数据,中间状态数据表可以是横表C中的数据。
进一步地,在形成中间状态数据表时,可以是在主表的基础上,增加一个多值列字段;然后将与主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置,从而保证不管附表中的属性有多少列,都可以使生成后的中间状态数据表的表结构不变。
进一步地,在对同步到搜索引擎220的数据设置索引时,可将多值列字段中的数据按键值进行拆分后同步至搜索引擎后,提取指定键名对应的拓展属性设置倒排索引,从而能把附表B的属性抽取出来作为数据列进行索引构建。
进一步地,在对数据库210中的数据进行更新时,可以通过将主表数据和附表数据的增量数据先同步更新到中间状态数据表中,然后通过中间状态数据表与搜索引擎220之间的数据同步,最终将数据库210中的增量数据同步到搜索引擎中。当用户需要对数据库210中的数据进行搜索时,可以向数据处理装置230发起包含至少一个维度的搜索条件的数据查询请求,数据处理装置230根据数据查询请求调用搜索引擎220基于预置索引进行目标数据搜索,并返回搜索结果。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述数据处理的方案思想,如图3所示,其为本发明实施例示出的数据处理方法流程图一,该方法可通过图2中所示的数据处理装置230执行完成。如图3所示,该数据处理方法包括如下步骤:
S310,获取数据库中经水平切分的原始数据,并将原始数据进行聚合形成一个中间状态数据表。
其中,数据库可以是关系型数据库。数据库数据经水平切分后,数据会分布在至少一个主表(如图1中的主表A)和至少一个附表(如图1中的附表B)中。
为了同步的将一条数据中的各属性列同步的传输到搜索引擎中,需要将所属同一主表主键的附表中的属性聚合在一起,与主表中的相应主键同为一行上的数据,该过程可称之为“打横”。图1中的横表C就是把主表A中的属性和附表B中的属性按主表中的主键进行了打横操作。打横后的数据表称之为中间状态数据表,该中间状态数据表主要用于协调将数据库中的数据向搜索引擎进行同步。
S320,将中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。
中间状态数据表在向搜索引擎进行数据同步时,是以行为单位进行数据同步,这样可以保证每个主键对应的一条完整数据可以同步的传输到搜索引擎中,避免不同步传输所造成的可能引入脏数据的危险,或者搜索引擎在向外提供搜索服务时由于同步延迟造成的数据不完整而降低了搜索引擎的可用性。
在将中间状态数据表中的数据同步到预置搜索引擎后,可以针对这些数据从新建立索引,比如提取出指定的属性列设置倒排索引。
本发明提供的数据处理方法,通过获取数据库中经水平切分的原始数据后,将原始数据进行聚合形成一个中间状态数据表;然后,将中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引,从而将在水平切分的数据库中进行数据搜索的问题移植到在搜索引擎中对数据进行搜索的问题,借助搜索引擎针对这些数据设置相应的索引,从而方便实现针对如多维度不定组合条件的数据查询,避免了在水平切分后的数据库中进行数据查询时所面临的设置及维护联合索引的问题,或者查询过程需遍历所有分库分表以及复杂的逻辑计算,计算量较大的问题。
实施例二
如图4所示,为本发明实施例的数据处理方法流程图二。与实施例一所示方法的区别在于,采用了将原始数据进行聚合形成一个中间状态数据表的一种优选实施方案。如图4所示,在方法初始还可执行如下步骤:
S410,获取数据库中经水平切分的原始数据。
其中,该原始数据可包括主表数据和附表数据。
S420,在主表中增加一个多值列字段。
例如,在图1主表A中增加一个KeyValue字段作为多值列字段。所谓多值列即指该列中的属性值可以为多个。
S430,将与主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置。
例如,在主表A中增加KeyValue字段后,将附表中的拓展属性以键值的方式写入到同一主键对应的KeyValue字段位置中,该字段位置中包含了附表B中对应同一主键的所有扩展属性,比如身高(height)、体重(weight)和年龄(age)。最后形成如横表C的中间状态数据表。
上述步骤S410~430可视为步骤S310的细化步骤。
在此基础上,可继续执行S320的步骤。以下示出了S320的一种优选实时方案,可通过执行如下步骤实现:
S440,将多值列字段中的数据按键值进行拆分后同步至搜索引擎,并提取指定键名对应的拓展属性设置倒排索引。
例如,在将横表C数据同步到opensearch时,针对横表C的keyValue数据列,支持按分隔符分隔多个KeyValue(比如“;”),再按指定KV分隔符(比如“=”),分割出Key和Value;key作为属性,value作为属性值被同步到opensearch的数据中,每种key可作为单独的一列,这样就能把附表B的属性抽取出来作为数据列进行索引构建。
在设置索引时,可以优先选择倒排索引,以方便搜索引擎对外提供可用性高的搜索服务。
另外,当数据库中的数据发生增量变化时,还可以获取数据库中主表数据和附表数据的增量数据,并将增量数据同步更新到中间状态数据表中。通过中间状态数据表与搜索引擎之间的数据同步,最终将数据库中的增量数据同步到搜索引擎中。
当用户需要对数据库中的数据进行搜索时,可以向数据处理装置发起包含至少一个维度的搜索条件的数据查询请求。数据处理装置可以响应于包含至少一个维度的搜索条件的数据查询请求,调用搜索引擎基于预置索引进行目标数据搜索,并返回搜索结果。如此,在用户感知上,如同在数据库中进行目标数据搜索,从而提高针对水平切分后的数据库数据进行高可用性搜索。
该实施例在图3所示实施例基础上,进一步地,在原始数据包括主表数据和附表数据时,通过在主表中增加一个多值列字段;并将与主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置,从而方便、快速实现对主表和附表的数据聚合,同时聚合后形成的中间状态数据表结构稳定,易于维护。
进一步地,通过将多值列字段中的数据按键值进行拆分后同步至搜索引擎,并提取指定键名对应的拓展属性设置倒排索引,从而方便实现数据同步,以及对同步的数据设置索引,方便后续对数据的搜索。
实施例三
如图5所示,为本发明实施例的数据处理方法流程图三。与实施例一所示方法的区别在于,该实施例中主要针对被处理的数据库数据为主表数据时的相应处理的阐述。如图5所示,该方法包括如下步骤:
S510,获取数据库中经水平切分的至少一个主表的主表数据。
例如,获取关系型数据库中经水平切分的至少一个上述主表A的主表数据。
S520,将主表数据同步到预置搜索引擎中,并对该数据设置索引。
由于主表A之间的数据结构相同,不需要经过数据聚合(即打横)处理,可以直接将每个主表A分别同步到搜索引擎中。
在设置索引时,仍可以选择主表中的属性列设置倒排索引。
本发明提供的数据处理方法,通过获取数据库中经水平切分的至少一个主表的主表数据后,将主表数据同步到预置搜索引擎中,并对该数据设置索引,从而将在水平切分的数据库中进行数据搜索的问题移植到在搜索引擎中对数据进行搜索的问题,借助搜索引擎针对这些数据设置相应的索引,从而方便实现针对如多维度不定组合条件的数据查询,避免了在水平切分后的数据库中进行数据查询时所面临的设置及维护联合索引的问题,或者查询过程需遍历所有分库分表以及复杂的逻辑计算,计算量较大的问题。
实施例四
如图6所示,为本发明实施例的数据处理装置结构图一,该信息处理装置可设置在图2所示的数据处理系统中的数据处理装置230中,用于执行如图3所示的方法步骤,其包括:
数据获取模块610,用于获取数据库中经水平切分的原始数据,并将原始数据进行聚合形成一个中间状态数据表;
同步索引模块620,用于将中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。
进一步地,上述原始数据可包括主表数据和附表数据,相应的,如图7所示,上述数据获取模块610可包括:
字段设置单元710,用于在主表中增加一个多值列字段;
数据写入单元720,用于将与主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置。
进一步地,在图7所示的数据处理装置中,同步索引模块620可用于,将多值列字段中的数据按键值进行拆分后同步至搜索引擎,并提取指定键名对应的拓展属性设置倒排索引。
进一步地,在图7所示的数据处理装置中,还可包括:
数据更新模块730,用于获取主表数据和附表数据的增量数据,并将增量数据同步更新到所述中间状态数据表中。
进一步地,在图6或者图7所示的数据处理装置中,还可包括:
数据查询模块740,用于响应于包含至少一个维度的搜索条件的数据查询请求,调用搜索引擎基于预置索引进行目标数据搜索,并返回搜索结果。
进一步地,上述数据库可包括:关系型数据库。
图7所示数据处理装置可用于执行如图4所示的方法步骤。
本发明提供的数据处理装置,通过获取数据库中经水平切分的原始数据后,将原始数据进行聚合形成一个中间状态数据表;然后,将中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引,从而将在水平切分的数据库中进行数据搜索的问题移植到在搜索引擎中对数据进行搜索的问题,借助搜索引擎针对这些数据设置相应的索引,从而方便实现针对如多维度不定组合条件的数据查询,避免了在水平切分后的数据库中进行数据查询时所面临的设置及维护联合索引的问题,或者查询过程需遍历所有分库分表以及复杂的逻辑计算,计算量较大的问题。
进一步地,在原始数据包括主表数据和附表数据时,通过在主表中增加一个多值列字段;并将与主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置,从而方便、快速实现对主表和附表的数据聚合,同时聚合后形成的中间状态数据表结构稳定,易于维护。
进一步地,通过将多值列字段中的数据按键值进行拆分后同步至搜索引擎,并提取指定键名对应的拓展属性设置倒排索引,从而方便实现数据同步,以及对同步的数据设置索引,方便后续对数据的搜索。
实施例五
如图8所示,为本发明实施例的数据处理装置结构图三,该信息处理装置可设置在图2所示的数据处理系统中的数据处理装置230中,用于执行如图5所示的方法步骤,其包括:
主表数据获取模块810,用于获取数据库中经水平切分的至少一个主表的主表数据;
数据同步索引模块820,用于将主表数据同步到预置搜索引擎中,并对该数据设置索引。
本发明提供的数据处理装置,通过获取数据库中经水平切分的至少一个主表的主表数据后,将主表数据同步到预置搜索引擎中,并对该数据设置索引,从而将在水平切分的数据库中进行数据搜索的问题移植到在搜索引擎中对数据进行搜索的问题,借助搜索引擎针对这些数据设置相应的索引,从而方便实现针对如多维度不定组合条件的数据查询,避免了在水平切分后的数据库中进行数据查询时所面临的设置及维护联合索引的问题,或者查询过程需遍历所有分库分表以及复杂的逻辑计算,计算量较大的问题。
实施例六
前面实施例四描述了数据处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图9所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器910和处理器920。
存储器910,用于存储程序。
除上述程序之外,存储器910还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器910可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器920,耦合至存储器910,用于执行存储器910中的程序,所述程序运行时执行如图3至图4中任意一种数据处理方法。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图9所示,电子设备还可以包括:通信组件930、电源组件940、音频组件950、显示器960等其它组件。图9中仅示意性给出部分组件,并不意味着电子设备只包括图9所示组件。
通信组件930被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件930经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件930还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件940,为电子设备的各种组件提供电力。电源组件940可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件950被配置为输出和/或输入音频信号。例如,音频组件950包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器910或经由通信组件930发送。在一些实施例中,音频组件950还包括一个扬声器,用于输出音频信号。
显示器960包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
实施例七
前面实施例五描述了数据处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图10所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器101和处理器102。
存储器101,用于存储程序。
除上述程序之外,存储器101还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器102,耦合至存储器101,用于执行存储器101中的程序,所述程序运行时执行如图5中的数据处理方法。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图10所示,电子设备还可以包括:通信组件103、电源组件104、音频组件105、显示器106等其它组件。图10中仅示意性给出部分组件,并不意味着电子设备只包括图10所示组件。
通信组件103被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件103经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件103还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件104,为电子设备的各种组件提供电力。电源组件104可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件105被配置为输出和/或输入音频信号。例如,音频组件105包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器101或经由通信组件103发送。在一些实施例中,音频组件105还包括一个扬声器,用于输出音频信号。
显示器106包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (13)

1.一种数据处理方法,包括:
获取数据库中经水平切分的原始数据,并将所述原始数据进行聚合形成一个中间状态数据表;所述切分后的原始数据包括至少一个主表和至少一个附表;所述中间状态数据表将同一主表主键的附表中的属性聚合在一起;
将所述中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。
2.根据权利要求1所述的方法,其中,所述原始数据包括主表数据和附表数据,所述将所述原始数据进行聚合形成一个中间状态数据表包括:
在所述主表中增加一个多值列字段;
将与所述主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置。
3.根据权利要求2所述的方法,其中,所述将所述中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引包括:
将所述多值列字段中的数据按键值进行拆分后同步至搜索引擎,并提取指定键名对应的拓展属性设置倒排索引。
4.根据权利要求2所述的方法,其中,所述方法还包括:
获取所述主表数据和所述附表数据的增量数据,并将所述增量数据同步更新到所述中间状态数据表中。
5.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
响应于包含至少一个维度的搜索条件的数据查询请求,调用搜索引擎基于预置索引进行目标数据搜索,并返回搜索结果。
6.根据权利要求1所述的方法,其中,所述数据库包括:关系型数据库。
7.一种数据处理装置,包括:
数据获取模块,用于获取数据库中经水平切分的原始数据,并将所述原始数据进行聚合形成一个中间状态数据表;所述切分后的原始数据包括至少一个主表和至少一个附表;所述中间状态数据表将同一主表主键的附表中的属性聚合在一起;
同步索引模块,用于将所述中间状态数据表中的数据同步到预置搜索引擎中,并对该数据设置索引。
8.根据权利要求7所述的装置,其中,所述原始数据包括主表数据和附表数据,所述数据获取模块包括:
字段设置单元,用于在所述主表中增加一个多值列字段;
数据写入单元,用于将与所述主表所属同一主键的附表中的扩展属性以键值形式写入该多值列字段中的对应位置。
9.根据权利要求8所述的装置,其中,所述同步索引模块用于,
将所述多值列字段中的数据按键值进行拆分后同步至搜索引擎,并提取指定键名对应的拓展属性设置倒排索引。
10.根据权利要求8所述的装置,其中,所述装置还包括:
数据更新模块,用于获取所述主表数据和所述附表数据的增量数据,并将所述增量数据同步更新到所述中间状态数据表中。
11.根据权利要求7-10中任一项所述的装置,其中,所述装置还包括:
数据查询模块,用于响应于包含至少一个维度的搜索条件的数据查询请求,调用搜索引擎基于预置索引进行目标数据搜索,并返回搜索结果。
12.根据权利要求7所述的装置,其中,所述数据库包括:关系型数据库。
13.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行权利要求1-6中任意一项权利要求所述的数据处理方法。
CN201910088051.7A 2019-01-29 2019-01-29 数据处理方法、装置及电子设备 Active CN111488340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910088051.7A CN111488340B (zh) 2019-01-29 2019-01-29 数据处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910088051.7A CN111488340B (zh) 2019-01-29 2019-01-29 数据处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN111488340A CN111488340A (zh) 2020-08-04
CN111488340B true CN111488340B (zh) 2023-09-12

Family

ID=71811497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910088051.7A Active CN111488340B (zh) 2019-01-29 2019-01-29 数据处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111488340B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385620A (zh) * 2020-10-19 2022-04-22 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及可读存储介质
CN112632053A (zh) * 2020-12-30 2021-04-09 第四范式(北京)技术有限公司 实现数据拼接的方法和实现数据拼接的系统
CN115168409B (zh) * 2022-09-05 2023-02-28 金蝶软件(中国)有限公司 数据库分表的数据查询方法、装置和计算机设备

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002047463A2 (en) * 2000-12-12 2002-06-20 A2I, Inc. A method and apparatus for transforming data
US6865576B1 (en) * 1999-05-21 2005-03-08 International Business Machines Corporation Efficient schema for storing multi-value attributes in a directory service backing store
CN102065413A (zh) * 2010-11-17 2011-05-18 北京北方烽火科技有限公司 数据库升级方法及系统、基站自启动方法及系统
CN102096685A (zh) * 2009-12-11 2011-06-15 阿里巴巴集团控股有限公司 分布式数据同步到数据仓库的方法及装置
CN102622354A (zh) * 2011-01-27 2012-08-01 北京世纪读秀技术有限公司 一种基于特征向量的聚合数据快速查找方法
CN103136335A (zh) * 2013-01-31 2013-06-05 北京千分点信息科技有限公司 一种基于数据平台的数据控制方法
CN103577474A (zh) * 2012-08-03 2014-02-12 阿里巴巴集团控股有限公司 一种数据库的更新方法及系统
CN105404634A (zh) * 2014-09-15 2016-03-16 南京理工大学 基于Key-Value数据块的数据管理方法及系统
CN105446972A (zh) * 2014-06-17 2016-03-30 阿里巴巴集团控股有限公司 基于及融合用户关系数据的搜索方法、装置和系统
CN107111617A (zh) * 2014-12-19 2017-08-29 微软技术许可有限责任公司 数据库中的图处理
CN107103011A (zh) * 2016-02-23 2017-08-29 阿里巴巴集团控股有限公司 终端数据搜索的实现方法和装置
CN107273519A (zh) * 2017-06-22 2017-10-20 睿视智联科技(香港)有限公司 数据分析方法、装置、终端及存储介质
CN107291948A (zh) * 2016-09-21 2017-10-24 广州特道信息科技有限公司 一种分布式newSQL数据库的访问方法
CN108280123A (zh) * 2017-12-11 2018-07-13 西安烽火软件科技有限公司 一种HBase的列聚合方法
CN108280152A (zh) * 2018-01-05 2018-07-13 北京明略软件系统有限公司 一种数据获取方法及其装置
CN109117433A (zh) * 2017-06-23 2019-01-01 菜鸟智能物流控股有限公司 一种索引树对象的创建及其索引方法和相关装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070244865A1 (en) * 2006-04-17 2007-10-18 International Business Machines Corporation Method and system for data retrieval using a product information search engine
US8977643B2 (en) * 2010-06-30 2015-03-10 Microsoft Corporation Dynamic asset monitoring and management using a continuous event processing platform
US9348890B2 (en) * 2011-08-30 2016-05-24 Open Text S.A. System and method of search indexes using key-value attributes to searchable metadata
US9569441B2 (en) * 2013-10-09 2017-02-14 Sap Se Archival of objects and dynamic search
US9348870B2 (en) * 2014-02-06 2016-05-24 International Business Machines Corporation Searching content managed by a search engine using relational database type queries
KR102310246B1 (ko) * 2014-04-23 2021-10-08 삼성전자주식회사 세컨더리 인덱스 생성 방법 및 세컨더리 인덱스 저장 장치
US10452631B2 (en) * 2017-03-15 2019-10-22 International Business Machines Corporation Managing large scale association sets using optimized bit map representations
US11086895B2 (en) * 2017-05-09 2021-08-10 Oracle International Corporation System and method for providing a hybrid set-based extract, load, and transformation of data

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865576B1 (en) * 1999-05-21 2005-03-08 International Business Machines Corporation Efficient schema for storing multi-value attributes in a directory service backing store
WO2002047463A2 (en) * 2000-12-12 2002-06-20 A2I, Inc. A method and apparatus for transforming data
CN102096685A (zh) * 2009-12-11 2011-06-15 阿里巴巴集团控股有限公司 分布式数据同步到数据仓库的方法及装置
CN102065413A (zh) * 2010-11-17 2011-05-18 北京北方烽火科技有限公司 数据库升级方法及系统、基站自启动方法及系统
CN102622354A (zh) * 2011-01-27 2012-08-01 北京世纪读秀技术有限公司 一种基于特征向量的聚合数据快速查找方法
CN103577474A (zh) * 2012-08-03 2014-02-12 阿里巴巴集团控股有限公司 一种数据库的更新方法及系统
CN103136335A (zh) * 2013-01-31 2013-06-05 北京千分点信息科技有限公司 一种基于数据平台的数据控制方法
CN105446972A (zh) * 2014-06-17 2016-03-30 阿里巴巴集团控股有限公司 基于及融合用户关系数据的搜索方法、装置和系统
CN105404634A (zh) * 2014-09-15 2016-03-16 南京理工大学 基于Key-Value数据块的数据管理方法及系统
CN107111617A (zh) * 2014-12-19 2017-08-29 微软技术许可有限责任公司 数据库中的图处理
CN107103011A (zh) * 2016-02-23 2017-08-29 阿里巴巴集团控股有限公司 终端数据搜索的实现方法和装置
CN107291948A (zh) * 2016-09-21 2017-10-24 广州特道信息科技有限公司 一种分布式newSQL数据库的访问方法
CN107273519A (zh) * 2017-06-22 2017-10-20 睿视智联科技(香港)有限公司 数据分析方法、装置、终端及存储介质
CN109117433A (zh) * 2017-06-23 2019-01-01 菜鸟智能物流控股有限公司 一种索引树对象的创建及其索引方法和相关装置
CN108280123A (zh) * 2017-12-11 2018-07-13 西安烽火软件科技有限公司 一种HBase的列聚合方法
CN108280152A (zh) * 2018-01-05 2018-07-13 北京明略软件系统有限公司 一种数据获取方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于元数据的分布式通用查询系统研究与实现;王战英;王占宏;;微型电脑应用(第08期);全文 *

Also Published As

Publication number Publication date
CN111488340A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN109299102B (zh) 一种基于Elastcisearch的HBase二级索引系统及方法
CN111488340B (zh) 数据处理方法、装置及电子设备
CN107784044B (zh) 表数据查询方法及装置
US20100039495A1 (en) Method to populate contact list from recent call log
CN110674154B (zh) 一种基于Spark的对Hive中数据进行插入、更新和删除的方法
CN107451208B (zh) 一种数据搜索方法与装置
JP6928677B2 (ja) オンライン分析処理を行うためのデータ処理方法及び装置
US20220083618A1 (en) Method And System For Scalable Search Using MicroService And Cloud Based Search With Records Indexes
EP2849089A1 (en) Virtual table indexing mechanism and method capable of realizing multi-attribute compound condition query
CN106407360B (zh) 一种数据的处理方法及装置
KR101653776B1 (ko) 데이터 분할 방법 및 장치
JP2015518223A (ja) メモリ検索、リアルタイム検索システム及び方法、コンピュータ記憶媒体
CN105956123A (zh) 基于局部更新软件的数据处理方法及装置
US20110022581A1 (en) Derived statistics for query optimization
CN104182405A (zh) 一种连接查询方法及装置
EP2901344A1 (en) System and method for flexible distributed massively parallel processing (mpp) database
CN111367954A (zh) 数据查询处理方法、装置及系统、计算机可读存储介质
US10762068B2 (en) Virtual columns to expose row specific details for query execution in column store databases
US11150996B2 (en) Method for optimizing index, master database node and subscriber database node
CN102779138A (zh) 实时数据的硬盘存取方法
CN110874358B (zh) 多属性列的存储、检索方法和装置以及电子设备
CN107169003B (zh) 一种数据关联方法及装置
CN105653654B (zh) 一种抽奖资格索引系统及方法
KR101955376B1 (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
CN112905587B (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
GR01 Patent grant
GR01 Patent grant