CN108399175A - 一种数据存储、查询方法及其装置 - Google Patents
一种数据存储、查询方法及其装置 Download PDFInfo
- Publication number
- CN108399175A CN108399175A CN201710067363.0A CN201710067363A CN108399175A CN 108399175 A CN108399175 A CN 108399175A CN 201710067363 A CN201710067363 A CN 201710067363A CN 108399175 A CN108399175 A CN 108399175A
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- service identification
- secondary sources
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据存储、查询方法及其装置,该存储方法包括:确定与第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。通过本申请的技术方案,为了查询到与第一类数据对应的第二类数据,即使第二类数据对应的业务***存在多个数据库,每个数据库又存在多个数据表,也可以通过查询一个数据库的一个数据表,就查询到第二类数据,这一查询过程,不需要跨数据库数据表,查询工作量较小,效率较高,***开销低,节约业务***的资源,资源利用率高,便于数据检索,能够提高数据库维护的便利性,可扩展性好。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据存储、查询方法及其装置。
背景技术
目前,随着社会的发展,业务***中的大量数据需要被存储起来,而数据库是用于存储数据的集合。随着业务的不断增大,当需要存储的数据量到达一定程度时,使用单个数据库进行数据的存储管理,会出现容量瓶颈、性能瓶颈等问题,影响到业务***的处理能力,从而会影响业务更加快速的发展;同时,单个数据库也是业务***的单点,一旦出现故障,会直接影响到业务的可用性。
为了解决单一数据库的问题,可以采用分库分表技术,分库分表是数据库存储、管理海量数据的一种方法,分库是指将海量数据由一个数据库存储管理拆分为多个数据库存储管理,分表是指将海量数据由一个数据表存储管理拆分为多个数据表存储管理。通过分库分表技术,在提高数据库容量的同时,还可以提高业务***的整体稳定性,减少单一数据库异常对业务造成的影响。
当存在多个业务***时,不同业务***的数据会存在关联性,例如,业务***A的数据1与业务***B的数据2具有关联性。当业务***B只存在一个数据库、一个数据表时,可以直接从该数据库的该数据表中查询到与数据1关联的数据2。但是,在采用分库分表技术后,假设业务***B存在多个数据库,每个数据库又存在多个数据表,那么,为了查询到与数据1关联的数据2,需要依次查询每个数据库的每个数据表是否存在数据2。这一查询过程,需要跨数据库数据表,查询工作量很大,效率很差,***开销高,浪费业务***的资源。
发明内容
本申请提供一种数据存储方法,所述方法包括:
确定与第二类数据具有关联关系的第一类数据的第一业务标识;
根据所述第一业务标识获得所述第二类数据对应的数据表标识;
将所述第二类数据存储到与所述数据表标识对应的数据表中。
本申请提供一种数据查询方法,所述方法包括:
在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;
根据所述第二业务标识确定第二类数据对应的数据表标识;
从所述数据表标识对应的数据表中查询到所述第二类数据。
本申请提供一种数据存储装置,所述装置包括:确定模块,用于确定与第二类数据具有关联关系的第一类数据的第一业务标识;
获取模块,用于根据第一业务标识获得所述第二类数据对应的数据表标识;
存储模块,用于将第二类数据存储到与所述数据表标识对应的数据表中。
本申请提供一种数据查询装置,所述装置包括:
获取模块,用于在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;
确定模块,用于根据所述第二业务标识确定第二类数据对应的数据表标识;
查询模块,用于从所述数据表标识对应的数据表中查询到所述第二类数据。
基于上述技术方案,本申请实施例中,在存储第二类数据时,可以确定与第二类数据具有关联关系的第一类数据的第一业务标识,根据第一业务标识获得第二类数据对应的数据表标识,并将第二类数据存储到与该数据表标识对应的数据表中。在接收到携带第一业务标识的数据查询请求时,可以通过第一业务标识确定第二类数据对应的数据表标识,并从该数据表标识对应的数据表中查询到第二类数据。基于此,当存在多个业务***,不同业务***的数据存在关联性时,为了查询到与第一类数据对应的第二类数据,即使第二类数据对应的业务***存在多个数据库,每个数据库又存在多个数据表,也可以通过查询一个数据库的一个数据表,就查询到第二类数据,这一查询过程,不需要跨数据库数据表,查询工作量较小,效率较高,***开销低,节约业务***的资源,资源利用率高,便于数据检索,能够提高数据库维护的便利性,可扩展性好。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的数据存储方法的流程图;
图3是本申请一种实施方式中的数据查询方法的流程图;
图4是本申请一种实施方式中的服务器的硬件结构图;
图5是本申请一种实施方式中的数据存储装置的结构图;
图6是本申请另一种实施方式中的服务器的硬件结构图;
图7是本申请一种实施方式中的数据查询装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种数据存储方法,如图1所示,该方法可以应用于包括多个业务***(也可以称为应用***)的网络中,每个业务***可以包括多个数据库,每个数据库可以包括多个数据表。其中,这些业务***可以是分布式部署,即这些业务***可以部署在一个服务器,也可以部署在多个服务器。
为了解决单一数据库的问题,可以采用分库分表技术,分库分表是数据库存储、管理海量数据的一种方法,分库是指将海量数据由一个数据库存储管理拆分为多个数据库存储管理,分表是指将海量数据由一个数据表存储管理拆分为多个数据表存储管理。基于此,本申请实施例中,每个业务***可以包括多个数据库,每个数据库可以包括多个数据表。这样,在提高数据库容量的同时,还可以提高业务***的整体稳定性,减少单一数据库异常对业务造成的影响。
参见图2所示,为该数据存储方法的流程图,该方法可以包括以下步骤:
步骤201,确定与第二类数据具有关联关系的第一类数据的第一业务标识。
步骤202,根据该第一业务标识获得该第二类数据对应的数据表标识。
步骤203,将该第二类数据存储到与该数据表标识对应的数据表中。
在一个例子中,上述执行顺序只是为了方便描述所给出的一个示例,在实际应用中,还可以改变各步骤之间的执行顺序,对此执行顺序不做限制。
针对步骤201,在一个例子中,针对“确定与第二类数据具有关联关系的第一类数据的第一业务标识”的过程,可以包括但不限于:方式一、若与该第二类数据具有关联关系的上游数据存在父数据,则将该父数据的业务标识确定为该第一类数据的第一业务标识;若与该第二类数据具有关联关系的上游数据不存在父数据,则将该上游数据的业务标识确定为该第一类数据的第一业务标识。或者,方式二、无论与该第二类数据具有关联关系的上游数据是否存在父数据,均直接将该上游数据的业务标识确定为该第一类数据的第一业务标识。
如图1所示,业务***A的数据与业务***B的数据具有关联关系,业务***B的数据与业务***C的数据具有关联关系,且业务***A的数据与业务***C的数据具有关联关系。例如,业务***A是一个支付***,业务***B是一个退款***,业务***C是一个金融***。在此应用场景下,假设数据1、数据2、数据3具有关联关系,需要将数据1存储在业务***A的数据表,将数据2存储在业务***B的数据表,将数据3存储在业务***C的数据表。
针对“将数据1存储在业务***A的数据表”的过程,由于业务***A不存在上游***,也就是不存在与数据1关联的上游数据,因此可以采用预设策略为数据1选择数据库和数据表,并将数据1存储到该数据库的该数据表。例如,从数据1中解析出用户标识,基于用户标识的倒数第二位确定数据库标识,基于用户标识的最后一位确定数据表标识。假设D为3,则用户标识的倒数第二位为0、1、2、3时,对应的数据库标识为A1,用户标识的倒数第二位为4、5、6时,对应的数据库标识为A2,用户标识的倒数第二位为7、8、9时,对应的数据库标识为A3。针对数据库A1,假设O为10,则用户标识的最后一位为0时,对应的数据表标识为A11,用户标识的最后一位为1时,对应的数据表标识为A12,以此类推。针对数据库A2和数据库A3,其处理与数据库A1类似,在此不再赘述。上述只是给出了预设策略的一个示例,对此预设策略不做限制,所有能够为数据1选择数据库、数据表的方式均在本申请实施例保护范围之内。
针对“将数据2存储在业务***B的数据表”的过程,由于业务***B存在上游***(即业务***A),也就是存在与数据2关联的上游数据(即数据1),因此可以采用本申请实施例的技术方案进行处理。在此步骤中,只介绍与步骤201有关的内容,对于“将数据2存储在业务***B的数据表”的其它过程,在后续过程说明。针对步骤201,可以将需要存储到业务***B的数据2称为第二类数据,与第二类数据具有关联关系的上游数据为数据1,且该上游数据不存在父数据,因此,将数据1的业务标识确定为第一类数据的第一业务标识。
针对“将数据3存储在业务***C的数据表”的过程,由于业务***C存在上游***(即业务***B),也就是存在与数据3关联的上游数据(即数据2),因此可以采用本申请实施例的技术方案进行处理。在此步骤中,只介绍与步骤201有关的内容,对于“将数据3存储在业务***C的数据表”的其它过程,在后续过程说明。针对步骤201,可以将需要存储到业务***C的数据3称为第二类数据,与第二类数据具有关联关系的上游数据为数据2,该上游数据存在父数据(数据1),因此将数据1的业务标识确定为第一类数据的第一业务标识。
在一个例子中,当与第二类数据具有关联关系的上游数据不存在更上游的数据时,则说明没有该上游数据对应的父数据。当与第二类数据具有关联关系的上游数据存在更上游的数据时,则说明存在该上游数据对应的父数据,而父数据是指第一个业务***(即不存在上游***的业务***A)的数据。例如,若业务***C还与业务***D关联,当需要存储到业务***D的数据4为第二类数据时,则上游数据为数据3,该上游数据的父数据是数据1,而不是数据2。
基于上述方式,针对所有与数据1关联的数据(如数据2、数据3、数据4等),第一类数据均是数据1,这样,可以基于同一个业务标识来确定数据2、数据3、数据4对应的数据表标识,而不会出现如下情况:基于数据1的业务标识来确定数据2对应的数据表标识、基于数据2的业务标识来确定数据3对应的数据表标识、基于数据3的业务标识来确定数据4对应的数据表标识。
这样,可以实现如下效果:假设数据2和数据3均需要存储在业务***B,则基于数据1的业务标识来确定数据2、数据3对应的数据表标识时,数据2、数据3对应的数据表标识相同,从而使得数据2、数据3存储在同一个数据表中。在查询数据2、数据3时,可以从同一个数据表中查询到数据2、数据3,不需要跨数据表处理,性能较高。若基于数据1的业务标识来确定数据2对应的数据表标识,基于数据2的业务标识来确定数据3对应的数据表标识,则数据2、数据3对应的数据表标识可能不同,从而使得数据2、数据3存储在不同数据表,这样,在查询数据1对应的数据2、数据3时,就需要跨数据表处理,性能较低。
针对步骤202,在一个例子中,针对“根据该第一业务标识获得该第二类数据对应的数据表标识”的过程,可以包括但不限于如下方式:方式一、确定第一类数据对应的业务***的数据表数量、第二类数据对应的业务***的数据表数量;若该第一类数据对应的业务***的数据表数量与该第二类数据对应的业务***的数据表数量相同,则可以根据第一业务标识确定该第一类数据对应的数据表标识,并根据该第一类数据对应的数据表标识获得第二类数据对应的数据表标识。方式二、确定第二类数据对应的业务***的数据表数量,并可以根据该第一业务标识和该数据表数量获得该第二类数据对应的数据表标识。
基于方式一、针对“将数据2存储在业务***B的数据表”的过程,假设D为3,E为3,则第一类数据(即数据1)对应的业务***A的数据表数量为O+P+Q,第二类数据(即数据2)对应的业务***B的数据表数量为R+S+T。进一步的,假设二者数量相同,则可以根据数据1的业务标识确定数据1对应的数据表标识,并将数据1对应的数据表标识确定为数据2对应的数据表标识。
针对“根据数据1的业务标识确定数据1对应的数据表标识”的过程,在生成数据1的业务标识时,可以生成包括数据1的数据表标识的业务标识,如数据1存储在数据表A16中,则业务标识可以为XXXXX006,XXXXX是任意数值,可以根据经验进行选择,对此不做限制,而006表示数据1存储在业务***A的第6个数据表中,因此,可以根据数据1的业务标识XXXXX006确定出数据1对应的数据表标识为6,并确定数据2对应的数据表标识为6。当然,这里是将业务标识的最后3位作为数据表标识,在实际应用中,还可以将业务标识的其它位置作为数据表标识,如前3位,第5-7位等等,对此不做限制。
针对“将数据3存储在业务***C的数据表”的过程,与上述过程类似。
针对方式二,在一个例子中,针对“根据该第一业务标识和该数据表数量获得该第二类数据对应的数据表标识”的过程,可以包括但不限于:对该第一业务标识进行hash处理,得到第一数值;将该第一数值对该数据表数量进行取余处理,得到第二数值;根据该第二数值确定该第二类数据对应的数据表标识。
基于方式二、针对“将数据2存储在业务***B的数据表”的过程,假设E为3,则第二类数据(数据2)对应的业务***B的数据表数量为R+S+T。假设第一业务标识为98745006,则可以对“98745006”进行hash处理,得到第一数值,具体的hash算法可以根据实际经验进行选择,在此不再赘述。之后,将第一数值对(R+S+T)进行取余处理,得到第二数值。假设第二数值为0,则数据2对应的数据表标识为1,表示业务***B的第1个数据表,假设第二数值为1,则数据2对应的数据表标识为2,表示业务***B的第2个数据表,以此类推。
在一个例子中,假设业务***A的分库数是D1(D1≥1),业务***A的分表数是T1(T1≥1),业务***B的分库数是D2(D2≥1),业务***B的分表数是T2(T1≥2),第一业务标识为ID1。基于此,针对上述“对该第一业务标识进行hash处理,得到第一数值;以及,将该第一数值对该数据表数量进行取余处理,得到第二数值”的过程,可以包括但不限于采用如下公式进行处理:hash(ID1)%T2;其中,hash()算法为根据经验预先配置的hash算法。
针对“将数据3存储在业务***C的数据表”的过程,与上述过程类似。
针对步骤203,在一个例子中,针对“将数据2存储在业务***B的数据表”的过程,假设数据表标识为7,则可以将数据2存储在业务***B的第7个数据表中。此外,针对“将数据3存储在业务***C的数据表”的过程,假设数据表标识为9,则可以将数据3存储在业务***C的第9个数据表中。
在一个例子中,在根据该第一业务标识获得该第二类数据对应的数据表标识(即步骤102)之后,还可以根据该第二类数据对应的数据表标识确定第二类数据的第二业务标识,并记录第一业务标识与第二业务标识的映射关系。
例如,在生成数据2的业务标识时,可以生成包括数据2的数据表标识的业务标识,如数据2的数据表标识为7时,数据2的业务标识可以为YYYYY007,YYYYY是任意数值,可以根据经验进行选择,对此不做限制,而007表示数据2存储在业务***B的第7个数据表中。当然,这里是将业务标识的最后3位作为数据表标识,在实际应用中,在生成数据2的业务标识时,还可以将业务标识的其它位置作为数据表标识,如前3位,第5-7位等等,对此不做限制。
在一个例子中,基于第一业务标识与第二业务标识的映射关系,在接收到携带第一业务标识的数据查询请求时,通过第一业务标识查询该映射关系,可以得到与第一业务标识对应的第二业务标识,根据该第二业务标识确定第二类数据对应的数据表标识,并从该数据表标识对应的数据表中查询到第二类数据。
例如,假设维护有“第一业务标识98745006与第二业务标识34598007”的映射关系,基于此,在接收到携带98745006的数据查询请求时,通过98745006查询该映射关系,可以得到34598007。而且,由于34598007的最后3位为007,因此确定数据表标识为007,也就是说,第二类数据对应的数据表标识为007,因此,可以到业务***B的第7个数据表中去查询34598007对应的数据2。
在一个例子中,在根据该第一业务标识获得该第二类数据对应的数据表标识(即步骤102)之后,还可以根据该第二类数据对应的数据表标识确定该第二类数据对应的数据库标识,并根据该第二类数据对应的数据表标识和数据库标识确定该第二类数据的第二业务标识;其中,该第二业务标识包括该数据表标识和该数据库标识。之后,记录第一业务标识与第二业务标识的映射关系。
在一个例子中,针对“根据该第二类数据对应的数据表标识确定该第二类数据对应的数据库标识”的过程,假设业务***B包括3个数据库,数据库1包括10个数据表,数据库2包括12个数据表,数据库1包括9个数据表,当数据表标识为7(位于1-10之间)时,则对应的数据库标识为1,当数据表标识为15(位于11-22之间)时,则对应的数据库标识为2,当数据表标识为28(位于23-31之间)时,则对应的数据库标识为3,以此类推,对此不做限制。
例如,在生成数据2的业务标识时,可以生成包括数据2的数据表标识、数据库标识的业务标识,如数据2的数据表标识为7、数据库标识为1时,则数据2的业务标识可以为YYYYY001007,YYYYY是任意数值,可以根据经验进行选择,对此不做限制,而001表示数据2存储在业务***B的第1个数据库中,007表示数据2存储在业务***B的第7个数据表中。当然,这里是将业务标识的最后3位作为数据表标识,将业务标识的倒数第4-6位作为数据库标识为例,在实际应用中,在生成数据2的业务标识时,还可以将业务标识的其它位置作为数据表标识,将业务标识的其它位置作为数据库标识,对此不做限制。
在一个例子中,基于第一业务标识与第二业务标识的映射关系,在接收到携带第一业务标识的数据查询请求时,还可以通过第一业务标识查询该映射关系,得到与第一业务标识对应的第二业务标识,根据该第二业务标识确定第二类数据对应的数据表标识和数据库标识,并确定与该数据库标识对应的数据库、与该数据表标识对应的数据表,从该数据库的该数据表中查询到第二类数据。
例如,假设维护有“第一业务标识98745006与第二业务标识34598001007”的映射关系,基于此,在接收到携带98745006的数据查询请求时,通过98745006查询该映射关系,可以得到34598001007。由于34598001007的倒数第4-6位为001,最后3位为007,因此,确定数据库标识为001,数据表标识为007,也就是说,第二类数据对应的数据库标识为001,数据表标识为007,因此,可以到业务***B的第1个数据库的第7个数据表中去查询34598001007对应的数据2。
基于上述技术方案,当存在多个业务***,不同业务***的数据存在关联性时,为了查询到与第一类数据对应的第二类数据,即使第二类数据对应的业务***存在多个数据库,每个数据库又存在多个数据表,也可以通过查询一个数据库的一个数据表,就查询到第二类数据,这一查询过程,不需要跨数据库数据表,查询工作量较小,效率较高,***开销低,节约业务***的资源,资源利用率高,便于数据检索,能够提高数据库维护的便利性,可扩展性好。
与上述数据存储方法类似,本申请实施例还提出一种数据查询方法,如图1所示,该方法可以应用于包括多个业务***的网络中,每个业务***可以包括多个数据库,每个数据库可以包括多个数据表。其中,这些业务***可以是分布式部署,即这些业务***可以部署在一个服务器,也可以部署在多个服务器。参见图3所示,为该数据查询方法的流程图,该方法可以包括以下步骤:
步骤301,在接收到携带第一业务标识的数据查询请求时,通过该第一业务标识查询映射关系,得到与该第一业务标识对应的第二业务标识。
步骤302,根据该第二业务标识确定该第二类数据对应的数据表标识。
步骤303,从该数据表标识对应的数据表中查询到该第二类数据。
在一个例子中,上述执行顺序只是为了方便描述所给出的一个示例,在实际应用中,还可以改变各步骤之间的执行顺序,对此执行顺序不做限制。
在一个例子中,在从该数据表标识对应的数据表中查询到该第二类数据(即步骤303)之前,还可以确定与该第二类数据具有关联关系的第一类数据的第一业务标识,并根据该第一业务标识获得该第二类数据对应的数据表标识。进一步的,可以将该第二类数据存储到与该数据表标识对应的数据表中。
在一个例子中,针对“确定与该第二类数据具有关联关系的第一类数据的第一业务标识”的过程,可以包括但不限于如下方式:方式一、若与该第二类数据具有关联关系的上游数据存在父数据,则将该父数据的业务标识确定为该第一类数据的第一业务标识;若与该第二类数据具有关联关系的上游数据不存在父数据,则将该上游数据的业务标识确定为该第一类数据的第一业务标识。或者,方式二、无论与该第二类数据具有关联关系的上游数据是否存在父数据,均直接将该上游数据的业务标识确定为该第一类数据的第一业务标识。
在一个例子中,针对“根据该第一业务标识获得该第二类数据对应的数据表标识”的过程,可以包括但不限于如下方式:方式一、确定该第一类数据对应的业务***的数据表数量、该第二类数据对应的业务***的数据表数量;若该第一类数据对应的业务***的数据表数量与该第二类数据对应的业务***的数据表数量相同,则可以根据该第一业务标识确定该第一类数据对应的数据表标识,并根据该第一类数据对应的数据表标识获得第二类数据对应的数据表标识。方式二、确定该第二类数据对应的业务***的数据表数量,并可以根据该第一业务标识和该数据表数量获得该第二类数据对应的数据表标识。
针对方式二,在一个例子中,针对“根据该第一业务标识和该数据表数量获得该第二类数据对应的数据表标识”的过程,可以包括但不限于:对该第一业务标识进行hash处理,得到第一数值;将该第一数值对该数据表数量进行取余处理,得到第二数值;根据该第二数值确定该第二类数据对应的数据表标识。
在一个例子中,在根据该第一业务标识获得该第二类数据对应的数据表标识之后,还可以根据该第二类数据对应的数据表标识确定该第二类数据的第二业务标识,并记录第一业务标识与第二业务标识的映射关系。
进一步的,基于第一业务标识与第二业务标识的映射关系,在接收到携带第一业务标识的数据查询请求时,通过第一业务标识查询该映射关系,可以得到与第一业务标识对应的第二业务标识,根据该第二业务标识确定第二类数据对应的数据表标识,并从该数据表标识对应的数据表中查询到第二类数据。
在一个例子中,在根据该第一业务标识获得该第二类数据对应的数据表标识之后,还可以根据该第二类数据对应的数据表标识确定该第二类数据对应的数据库标识,并根据该第二类数据对应的数据表标识和数据库标识确定该第二类数据的第二业务标识;其中,该第二业务标识可以包括该数据表标识和该数据库标识。之后,记录第一业务标识与第二业务标识的映射关系。
进一步的,基于第一业务标识与第二业务标识的映射关系,在接收到携带第一业务标识的数据查询请求时,还可以通过第一业务标识查询该映射关系,得到与第一业务标识对应的第二业务标识,根据该第二业务标识确定第二类数据对应的数据表标识和数据库标识,并确定与该数据库标识对应的数据库、与该数据表标识对应的数据表,从该数据库的该数据表中查询到第二类数据。
基于上述技术方案,当存在多个业务***,不同业务***的数据存在关联性时,为了查询到与第一类数据对应的第二类数据,即使第二类数据对应的业务***存在多个数据库,每个数据库又存在多个数据表,也可以通过查询一个数据库的一个数据表,就查询到第二类数据,这一查询过程,不需要跨数据库数据表,查询工作量较小,效率较高,***开销低,节约业务***的资源,资源利用率高,便于数据检索,能够提高数据库维护的便利性,可扩展性好。
以下结合具体应用场景,对上述数据存储、查询方法进行详细说明。本应用场景下,如图1所示,业务***A的数据与业务***B的数据具有关联关系,业务***B的数据与业务***C的数据具有关联关系,且业务***A的数据与业务***C的数据具有关联关系。例如,业务***A是一个支付***,业务***B是一个退款***,业务***C是一个金融***。在此应用场景下,假设数据1、数据2、数据3具有关联关系,需要将数据1存储在业务***A的数据表,将数据2存储在业务***B的数据表,将数据3存储在业务***C的数据表。
在上述应用场景下,该数据存储、查询方法可以包括以下步骤:
步骤1、采用预设策略为数据1选择数据库和数据表,将数据1存储到该数据库的该数据表,并根据数据库标识和数据表标识生成数据1的业务标识。
步骤2、由于业务***B存在上游***(业务***A),也就是存在与数据2关联的上游数据(数据1),因此将需要存储到业务***B的数据2称为第二类数据,与第二类数据具有关联关系的上游数据为数据1,且该上游数据不存在父数据,因此将数据1的业务标识确定为第一类数据的第一业务标识。
步骤3、确定数据2对应的业务***B的数据表数量。
步骤4、对数据1的业务标识进行hash处理,得到第一数值,并将该第一数值对该业务***B的数据表数量进行取余处理,得到第二数值。
步骤5、根据该第二数值确定该数据2对应的数据表标识(如数据表7)。
步骤6、将数据2存储到与该数据表标识对应的业务***B的数据表7。
步骤7、根据数据2对应的数据表标识、数据库标识确定数据2的业务标识,其中,该业务标识可以包括数据2对应的数据表标识和数据库标识。
步骤8、业务***B记录数据1的业务标识与数据2的业务标识的映射关系。
步骤9、由于业务***C存在上游***(业务***B),也就是存在与数据3关联的上游数据(数据2),因此将需要存储到业务***C的数据3称为第二类数据,与第二类数据具有关联关系的上游数据为数据2,且上游数据存在父数据,因此将父数据(数据1)的业务标识确定为第一类数据的第一业务标识。
步骤10、确定数据3对应的业务***C的数据表数量。
步骤11、对数据1的业务标识进行hash处理,得到第一数值,并将该第一数值对该业务***C的数据表数量进行取余处理,得到第二数值。
步骤12、根据该第二数值确定该数据3对应的数据表标识(如数据表9)。
步骤13、将数据3存储到与该数据表标识对应的业务***C的数据表9。
步骤14、根据数据3对应的数据表标识、数据库标识确定数据3的业务标识,其中,该业务标识可以包括数据3对应的数据表标识和数据库标识。
步骤15、业务***C记录数据1的业务标识与数据3的业务标识的映射关系,以及,记录数据2的业务标识与数据3的业务标识的映射关系。
步骤16、业务***B在接收到携带数据1的业务标识的数据查询请求时,通过数据1的业务标识查询步骤8记录的映射关系,得到数据2的业务标识。
步骤17、业务***B根据数据2的业务标识确定数据2的数据库标识、数据表标识,并确定与该数据库标识对应的数据库、与该数据表标识对应的数据表,并从该数据库的该数据表中查询到数据2,对此查询过程不再详加赘述。
步骤18、业务***C在接收到携带数据1/数据2的业务标识的数据查询请求时,通过该业务标识查询步骤15记录的映射关系,得到数据3的业务标识。
步骤19、业务***C根据数据3的业务标识确定数据3的数据库标识、数据表标识,并确定与该数据库标识对应的数据库、与该数据表标识对应的数据表,并从该数据库的该数据表中查询到数据3,对此查询过程不再详加赘述。
基于与上述方法同样的申请构思,本申请实施例中还提供一种数据存储装置120,该数据存储装置120应用在服务器10上。数据存储装置120可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的服务器10的处理器11,读取非易失性存储器12中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为数据存储装置120所在的服务器10的一种硬件结构图,除图4所示的处理器11、非易失性存储器12外,服务器10还可以包括其它硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,服务器10还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图5所示,为本申请提出的数据存储装置的结构图,所述装置包括:确定模块1201,用于确定与第二类数据具有关联关系的第一类数据的第一业务标识;获取模块1202,用于根据第一业务标识获得第二类数据对应的数据表标识;存储模块1203,用于将第二类数据存储到与所述数据表标识对应的数据表中。
所述确定模块1201,具体用于在确定与第二类数据具有关联关系的第一类数据的第一业务标识的过程中,若与所述第二类数据具有关联关系的上游数据存在父数据,则将所述父数据的业务标识确定为所述第一类数据的第一业务标识;或者,若与所述第二类数据具有关联关系的上游数据不存在父数据,则将所述上游数据的业务标识确定为所述第一类数据的第一业务标识。
所述获取模块1202,具体用于在根据第一业务标识获得所述第二类数据对应的数据表标识的过程中,若第一类数据对应的业务***的数据表数量与第二类数据对应的业务***的数据表数量相同,则根据第一业务标识确定第一类数据对应的数据表标识;根据第一类数据对应的数据表标识获得第二类数据对应的数据表标识;或者,确定所述第二类数据对应的业务***的数据表数量;根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识;
其中,所述获取模块1202,具体用于在根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识的过程中,对所述第一业务标识进行hash处理,得到第一数值;将所述第一数值对所述数据表数量进行取余处理,得到第二数值;根据所述第二数值确定所述第二类数据对应的数据表标识。
在一个例子中,所述数据存储装置还包括(在图中未体现):
记录模块,用于根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识,并记录所述第一业务标识与所述第二业务标识的映射关系;
查询模块,用于在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定所述第二类数据对应的数据表标识;从所述数据表标识对应的数据表中查询到所述第二类数据。
基于与上述方法同样的申请构思,本申请实施例中还提供一种数据查询装置220,该数据查询装置220应用在服务器20上。数据查询装置220可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的服务器20的处理器21,读取非易失性存储器22中对应的计算机程序指令形成的。从硬件层面而言,如图6所示,为数据查询装置220所在的服务器20的一种硬件结构图,除图6所示的处理器21、非易失性存储器22外,服务器20还可以包括其它硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,服务器20还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图7所示,为本申请提出的数据查询装置的结构图,所述装置包括:获取模块2201,用于在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;确定模块2202,用于根据所述第二业务标识确定第二类数据对应的数据表标识;查询模块2203,用于从所述数据表标识对应的数据表中查询到所述第二类数据。
在一个例子中,所述数据查询装置还包括(在图中未体现):
存储模块,用于确定与所述第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。
在一个例子中,所述数据查询装置还包括(在图中未体现):
记录模块,用于根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识;记录所述第一业务标识与所述第二业务标识的映射关系。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (20)
1.一种数据存储方法,其特征在于,所述方法包括:
确定与第二类数据具有关联关系的第一类数据的第一业务标识;
根据所述第一业务标识获得所述第二类数据对应的数据表标识;
将所述第二类数据存储到与所述数据表标识对应的数据表中。
2.根据权利要求1所述的方法,其特征在于,所述确定与第二类数据具有关联关系的第一类数据的第一业务标识的过程,具体包括:
若与所述第二类数据具有关联关系的上游数据存在父数据,则将所述父数据的业务标识确定为所述第一类数据的第一业务标识;或者,
若与所述第二类数据具有关联关系的上游数据不存在父数据,则将所述上游数据的业务标识确定为所述第一类数据的第一业务标识。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:
若第一类数据对应的业务***的数据表数量与第二类数据对应的业务***的数据表数量相同,则根据第一业务标识确定第一类数据对应的数据表标识;
根据第一类数据对应的数据表标识获得第二类数据对应的数据表标识。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:
确定所述第二类数据对应的业务***的数据表数量;
根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识。
5.根据权利要求4所述的方法,其特征在于,所述根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识的过程,具体包括:
对所述第一业务标识进行hash处理,得到第一数值;
将所述第一数值对所述数据表数量进行取余处理,得到第二数值;
根据所述第二数值确定所述第二类数据对应的数据表标识。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:
根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识;
记录所述第一业务标识与所述第二业务标识的映射关系。
7.根据权利要求6所述的方法,其特征在于,所述将所述第二类数据存储到与所述数据表标识对应的数据表中之后,所述方法还包括:
在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;
根据所述第二业务标识确定所述第二类数据对应的数据表标识;
从所述数据表标识对应的数据表中查询到所述第二类数据。
8.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:
根据第二类数据对应的数据表标识确定第二类数据对应的数据库标识;
根据所述数据表标识和所述数据库标识确定所述第二类数据的第二业务标识;其中,所述第二业务标识包括所述数据表标识和所述数据库标识;
记录所述第一业务标识与所述第二业务标识的映射关系。
9.根据权利要求8所述的方法,其特征在于,所述将所述第二类数据存储到与所述数据表标识对应的数据表中之后,所述方法还包括:
在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;
根据所述第二业务标识确定第二类数据对应的数据表标识和数据库标识;
确定与所述数据库标识对应的数据库、与所述数据表标识对应的数据表;
从所述数据库的所述数据表中查询到所述第二类数据。
10.一种数据查询方法,其特征在于,所述方法包括:
在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;
根据所述第二业务标识确定第二类数据对应的数据表标识;
从所述数据表标识对应的数据表中查询到所述第二类数据。
11.根据权利要求10所述的方法,其特征在于,所述从所述数据表标识对应的数据表中查询到所述第二类数据之前,所述方法还包括:
确定与所述第二类数据具有关联关系的第一类数据的第一业务标识;
根据所述第一业务标识获得所述第二类数据对应的数据表标识;
将所述第二类数据存储到与所述数据表标识对应的数据表中。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:
若第一类数据对应的业务***的数据表数量与第二类数据对应的业务***的数据表数量相同,则根据第一业务标识确定第一类数据对应的数据表标识;
根据第一类数据对应的数据表标识获得第二类数据对应的数据表标识;
或者,确定所述第二类数据对应的业务***的数据表数量;
根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识。
13.根据权利要求11所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:
根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识;
记录所述第一业务标识与所述第二业务标识的映射关系。
14.一种数据存储装置,其特征在于,所述装置包括:
确定模块,用于确定与第二类数据具有关联关系的第一类数据的第一业务标识;
获取模块,用于根据第一业务标识获得所述第二类数据对应的数据表标识;
存储模块,用于将第二类数据存储到与所述数据表标识对应的数据表中。
15.根据权利要求14所述的装置,其特征在于,
所述确定模块,具体用于在确定与第二类数据具有关联关系的第一类数据的第一业务标识的过程中,若与所述第二类数据具有关联关系的上游数据存在父数据,则将所述父数据的业务标识确定为所述第一类数据的第一业务标识;或者,若与所述第二类数据具有关联关系的上游数据不存在父数据,则将所述上游数据的业务标识确定为所述第一类数据的第一业务标识。
16.根据权利要求14所述的装置,其特征在于,
所述获取模块,具体用于在根据第一业务标识获得所述第二类数据对应的数据表标识的过程中,若第一类数据对应的业务***的数据表数量与第二类数据对应的业务***的数据表数量相同,则根据第一业务标识确定第一类数据对应的数据表标识;根据第一类数据对应的数据表标识获得第二类数据对应的数据表标识;或者,确定所述第二类数据对应的业务***的数据表数量;根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识;
其中,所述获取模块,具体用于在根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识的过程中,对所述第一业务标识进行hash处理,得到第一数值;将所述第一数值对所述数据表数量进行取余处理,得到第二数值;根据所述第二数值确定所述第二类数据对应的数据表标识。
17.根据权利要求14所述的装置,其特征在于,还包括:
记录模块,用于根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识,并记录所述第一业务标识与所述第二业务标识的映射关系;
查询模块,用于在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定所述第二类数据对应的数据表标识;从所述数据表标识对应的数据表中查询到所述第二类数据。
18.一种数据查询装置,其特征在于,所述装置包括:
获取模块,用于在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;
确定模块,用于根据所述第二业务标识确定第二类数据对应的数据表标识;
查询模块,用于从所述数据表标识对应的数据表中查询到所述第二类数据。
19.根据权利要求18所述的装置,其特征在于,还包括:
存储模块,用于确定与所述第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。
20.根据权利要求18所述的装置,其特征在于,还包括:
记录模块,用于根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识;记录所述第一业务标识与所述第二业务标识的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710067363.0A CN108399175B (zh) | 2017-02-07 | 2017-02-07 | 一种数据存储、查询方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710067363.0A CN108399175B (zh) | 2017-02-07 | 2017-02-07 | 一种数据存储、查询方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108399175A true CN108399175A (zh) | 2018-08-14 |
CN108399175B CN108399175B (zh) | 2022-04-12 |
Family
ID=63094168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710067363.0A Active CN108399175B (zh) | 2017-02-07 | 2017-02-07 | 一种数据存储、查询方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108399175B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245150A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 数据处理、查询方法、装置、设备及数据处理*** |
CN110275890A (zh) * | 2019-06-27 | 2019-09-24 | 中国石油集团东方地球物理勘探有限责任公司 | 一种数据查询方法及*** |
CN110704455A (zh) * | 2019-10-17 | 2020-01-17 | 北京中油瑞飞信息技术有限责任公司 | 生成数据资产目录的方法、装置、终端及存储介质 |
CN113849524A (zh) * | 2021-11-30 | 2021-12-28 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020193A (zh) * | 2012-12-03 | 2013-04-03 | 北京奇虎科技有限公司 | 处理数据库操作请求的方法和设备 |
CN103577440A (zh) * | 2012-07-27 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN103593419A (zh) * | 2013-10-30 | 2014-02-19 | 华为技术有限公司 | 数据查询方法、装置、服务器及*** |
CN103677649A (zh) * | 2012-09-12 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 数据存取方法及装置 |
CN105022739A (zh) * | 2014-04-21 | 2015-11-04 | 腾讯科技(北京)有限公司 | 数据的存储方法及装置 |
CN106168949A (zh) * | 2016-05-03 | 2016-11-30 | 泰康保险集团股份有限公司 | 数据库拆分的方法及装置 |
CN106202219A (zh) * | 2016-06-27 | 2016-12-07 | 安徽科成信息科技有限公司 | 一种网络监控日志的更新方法 |
US20160371308A1 (en) * | 2015-06-18 | 2016-12-22 | International Business Machines Corporation | Back referencing of deduplicated data |
US20170024435A1 (en) * | 2015-07-22 | 2017-01-26 | Oracle International Corporation | Use Of Dynamic Dictionary Encoding With An Associated Hash Table To Support Many-To-Many Joins And Aggregations |
-
2017
- 2017-02-07 CN CN201710067363.0A patent/CN108399175B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577440A (zh) * | 2012-07-27 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN103677649A (zh) * | 2012-09-12 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 数据存取方法及装置 |
CN103020193A (zh) * | 2012-12-03 | 2013-04-03 | 北京奇虎科技有限公司 | 处理数据库操作请求的方法和设备 |
CN103593419A (zh) * | 2013-10-30 | 2014-02-19 | 华为技术有限公司 | 数据查询方法、装置、服务器及*** |
CN105022739A (zh) * | 2014-04-21 | 2015-11-04 | 腾讯科技(北京)有限公司 | 数据的存储方法及装置 |
US20160371308A1 (en) * | 2015-06-18 | 2016-12-22 | International Business Machines Corporation | Back referencing of deduplicated data |
US20170024435A1 (en) * | 2015-07-22 | 2017-01-26 | Oracle International Corporation | Use Of Dynamic Dictionary Encoding With An Associated Hash Table To Support Many-To-Many Joins And Aggregations |
CN106168949A (zh) * | 2016-05-03 | 2016-11-30 | 泰康保险集团股份有限公司 | 数据库拆分的方法及装置 |
CN106202219A (zh) * | 2016-06-27 | 2016-12-07 | 安徽科成信息科技有限公司 | 一种网络监控日志的更新方法 |
Non-Patent Citations (2)
Title |
---|
MOTOKI MIURA等: "《A simple sheet bending recognition for augmenting a two-dimensional marker-based response analyzer》", 《2015 INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION (ICIEV)》 * |
韩军: "《基于关系数据库的XML数据存储和查询的设计与实现》", 《万方学位论文平台》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245150A (zh) * | 2019-05-30 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 数据处理、查询方法、装置、设备及数据处理*** |
CN110245150B (zh) * | 2019-05-30 | 2023-03-17 | 创新先进技术有限公司 | 数据处理、查询方法、装置、设备及数据处理*** |
CN110275890A (zh) * | 2019-06-27 | 2019-09-24 | 中国石油集团东方地球物理勘探有限责任公司 | 一种数据查询方法及*** |
CN110275890B (zh) * | 2019-06-27 | 2021-01-15 | 中国石油集团东方地球物理勘探有限责任公司 | 一种数据查询方法及*** |
CN110704455A (zh) * | 2019-10-17 | 2020-01-17 | 北京中油瑞飞信息技术有限责任公司 | 生成数据资产目录的方法、装置、终端及存储介质 |
CN113849524A (zh) * | 2021-11-30 | 2021-12-28 | 阿里云计算有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108399175B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102226257B1 (ko) | 서비스 데이터를 블록체인 시스템에 기입하기 위한 방법 및 디바이스 | |
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
US8965914B2 (en) | Grouping identity records to generate candidate lists to use in an entity and relationship resolution process | |
JP6716727B2 (ja) | ストリーミングデータ分散処理方法及び装置 | |
CN108399175A (zh) | 一种数据存储、查询方法及其装置 | |
TWI694700B (zh) | 資料處理方法和裝置、用戶端 | |
US8843632B2 (en) | Allocation of resources between web services in a composite service | |
CN107729135B (zh) | 按序进行并行数据处理的方法和装置 | |
CN108683692A (zh) | 一种业务请求处理方法及装置 | |
CN108932257A (zh) | 多维度数据的查询方法及装置 | |
CN103731498B (zh) | 一种基于副本选择的大数据实时查询***负载均衡方法 | |
US9537810B2 (en) | System and method for flexible holding storage during messaging | |
WO2020024648A1 (zh) | 数据处理方法和装置、客户端、服务器 | |
US8626799B2 (en) | Mapping data structures | |
CN110457182A (zh) | 一种负载均衡集群实例运行指标监控*** | |
JP2019504415A (ja) | データ格納サービス処理方法及び装置 | |
US9380126B2 (en) | Data collection and distribution management | |
CN112597525B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
CN112650748A (zh) | 业务线索分配方法、装置、电子设备及可读存储介质 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN110019544A (zh) | 数据查询方法及*** | |
US9852164B2 (en) | Task handling in a multisystem environment | |
CN111047415B (zh) | 服饰配件订单处理方法、***、电子设备及存储介质 | |
US11393050B2 (en) | Resource accommodation device, schedule management device, and resource accommodation system | |
CN105447183A (zh) | Mpp架构数据库集群序列***及序列管理方法 |
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 |