一种数据存储、查询方法及其装置制造方法及图纸

技术编号:18668195 阅读:22 留言:0更新日期:2018-08-14 20:37
本申请提供一种数据存储、查询方法及其装置,该存储方法包括:确定与第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。通过本申请的技术方案,为了查询到与第一类数据对应的第二类数据,即使第二类数据对应的业务系统存在多个数据库,每个数据库又存在多个数据表,也可以通过查询一个数据库的一个数据表,就查询到第二类数据,这一查询过程,不需要跨数据库数据表,查询工作量较小,效率较高,系统开销低,节约业务系统的资源,资源利用率高,便于数据检索,能够提高数据库维护的便利性,可扩展性好。

A data storage and query method and its device

The present application provides a data storage, query method and apparatus comprising: determining the first service identification of the first type of data associated with the second type of data; obtaining the data table identification corresponding to the second type of data according to the first service identification; and storing the second type of data to the same. The data table identifies the corresponding data table. Through the technical scheme of this application, in order to query the second kind of data corresponding to the first kind of data, even if the business system corresponding to the second type of data has multiple databases, and each database has multiple datatables, the second type of data can also be queried by querying a data table of a database, and the second type of data can be queried. The query process does not need cross-database data tables, the query workload is small, the efficiency is high, the system overhead is low, the resources of the business system are saved, the resource utilization is high, the data retrieval is convenient, the convenience of database maintenance can be improved, and the scalability is good.

【技术实现步骤摘要】
一种数据存储、查询方法及其装置
本申请涉及互联网
,尤其涉及一种数据存储、查询方法及其装置。
技术介绍
目前,随着社会的发展,业务系统中的大量数据需要被存储起来,而数据库是用于存储数据的集合。随着业务的不断增大,当需要存储的数据量到达一定程度时,使用单个数据库进行数据的存储管理,会出现容量瓶颈、性能瓶颈等问题,影响到业务系统的处理能力,从而会影响业务更加快速的发展;同时,单个数据库也是业务系统的单点,一旦出现故障,会直接影响到业务的可用性。为了解决单一数据库的问题,可以采用分库分表技术,分库分表是数据库存储、管理海量数据的一种方法,分库是指将海量数据由一个数据库存储管理拆分为多个数据库存储管理,分表是指将海量数据由一个数据表存储管理拆分为多个数据表存储管理。通过分库分表技术,在提高数据库容量的同时,还可以提高业务系统的整体稳定性,减少单一数据库异常对业务造成的影响。当存在多个业务系统时,不同业务系统的数据会存在关联性,例如,业务系统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是一个支付系统,业务系本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:确定与第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:确定与第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。2.根据权利要求1所述的方法,其特征在于,所述确定与第二类数据具有关联关系的第一类数据的第一业务标识的过程,具体包括:若与所述第二类数据具有关联关系的上游数据存在父数据,则将所述父数据的业务标识确定为所述第一类数据的第一业务标识;或者,若与所述第二类数据具有关联关系的上游数据不存在父数据,则将所述上游数据的业务标识确定为所述第一类数据的第一业务标识。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:若第一类数据对应的业务系统的数据表数量与第二类数据对应的业务系统的数据表数量相同,则根据第一业务标识确定第一类数据对应的数据表标识;根据第一类数据对应的数据表标识获得第二类数据对应的数据表标识。4.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:确定所述第二类数据对应的业务系统的数据表数量;根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识。5.根据权利要求4所述的方法,其特征在于,所述根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识的过程,具体包括:对所述第一业务标识进行hash处理,得到第一数值;将所述第一数值对所述数据表数量进行取余处理,得到第二数值;根据所述第二数值确定所述第二类数据对应的数据表标识。6.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识;记录所述第一业务标识与所述第二业务标识的映射关系。7.根据权利要求6所述的方法,其特征在于,所述将所述第二类数据存储到与所述数据表标识对应的数据表中之后,所述方法还包括:在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定所述第二类数据对应的数据表标识;从所述数据表标识对应的数据表中查询到所述第二类数据。8.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:根据第二类数据对应的数据表标识确定第二类数据对应的数据库标识;根据所述数据表标识和所述数据库标识确定所述第二类数据的第二业务标识;其中,所述第二业务标识包括所述数据表标识和所述数据库标识;记录所述第一业务标识与所述第二业务标识的映射关系。9.根据权利要求8所述的方法,其特征在于,所述将所述第二类数据存储到与所述数据表标识对应的数据表中之后,所述方法还包括:在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定第二类数据对应的数据表标识和数据库标识;确定与所述数据库标识对应的数据库、与所述数据表标识对应的数据表;从所述数据库的所述数据表中查询到所述第二类数据。10.一种数据查询方法,其特征在于,所述方法包括:在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定第二类数据对应的数据表标识;从所述数据表标识对应的数据表中查询到所述第二类数据。11.根据权利要求10所述的方法,其特征在于,所述从所述数据表标识对应的数据表中查询到所述第二类数据之前,所述方法还包括:确定与所述第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得...

【专利技术属性】
技术研发人员:潘杨
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1