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.一种数据存储方法,其特征在于,所述方法包括:确定与第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。
【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:确定与第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得所述第二类数据对应的数据表标识;将所述第二类数据存储到与所述数据表标识对应的数据表中。2.根据权利要求1所述的方法,其特征在于,所述确定与第二类数据具有关联关系的第一类数据的第一业务标识的过程,具体包括:若与所述第二类数据具有关联关系的上游数据存在父数据,则将所述父数据的业务标识确定为所述第一类数据的第一业务标识;或者,若与所述第二类数据具有关联关系的上游数据不存在父数据,则将所述上游数据的业务标识确定为所述第一类数据的第一业务标识。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:若第一类数据对应的业务系统的数据表数量与第二类数据对应的业务系统的数据表数量相同,则根据第一业务标识确定第一类数据对应的数据表标识;根据第一类数据对应的数据表标识获得第二类数据对应的数据表标识。4.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识的过程,具体包括:确定所述第二类数据对应的业务系统的数据表数量;根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识。5.根据权利要求4所述的方法,其特征在于,所述根据第一业务标识和所述数据表数量获得第二类数据对应的数据表标识的过程,具体包括:对所述第一业务标识进行hash处理,得到第一数值;将所述第一数值对所述数据表数量进行取余处理,得到第二数值;根据所述第二数值确定所述第二类数据对应的数据表标识。6.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:根据第二类数据对应的数据表标识确定所述第二类数据的第二业务标识;记录所述第一业务标识与所述第二业务标识的映射关系。7.根据权利要求6所述的方法,其特征在于,所述将所述第二类数据存储到与所述数据表标识对应的数据表中之后,所述方法还包括:在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定所述第二类数据对应的数据表标识;从所述数据表标识对应的数据表中查询到所述第二类数据。8.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务标识获得所述第二类数据对应的数据表标识之后,所述方法还包括:根据第二类数据对应的数据表标识确定第二类数据对应的数据库标识;根据所述数据表标识和所述数据库标识确定所述第二类数据的第二业务标识;其中,所述第二业务标识包括所述数据表标识和所述数据库标识;记录所述第一业务标识与所述第二业务标识的映射关系。9.根据权利要求8所述的方法,其特征在于,所述将所述第二类数据存储到与所述数据表标识对应的数据表中之后,所述方法还包括:在接收到携带所述第一业务标识的数据查询请求时,通过所述第一业务标识查询所述映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定第二类数据对应的数据表标识和数据库标识;确定与所述数据库标识对应的数据库、与所述数据表标识对应的数据表;从所述数据库的所述数据表中查询到所述第二类数据。10.一种数据查询方法,其特征在于,所述方法包括:在接收到携带第一业务标识的数据查询请求时,通过所述第一业务标识查询映射关系,得到与所述第一业务标识对应的第二业务标识;根据所述第二业务标识确定第二类数据对应的数据表标识;从所述数据表标识对应的数据表中查询到所述第二类数据。11.根据权利要求10所述的方法,其特征在于,所述从所述数据表标识对应的数据表中查询到所述第二类数据之前,所述方法还包括:确定与所述第二类数据具有关联关系的第一类数据的第一业务标识;根据所述第一业务标识获得...
【专利技术属性】
技术研发人员:潘杨,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。