CN107622079A - 数据存储、查询方法及装置 - Google Patents

数据存储、查询方法及装置 Download PDF

Info

Publication number
CN107622079A
CN107622079A CN201710630484.1A CN201710630484A CN107622079A CN 107622079 A CN107622079 A CN 107622079A CN 201710630484 A CN201710630484 A CN 201710630484A CN 107622079 A CN107622079 A CN 107622079A
Authority
CN
China
Prior art keywords
database
order note
note identification
user
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.)
Pending
Application number
CN201710630484.1A
Other languages
English (en)
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710630484.1A priority Critical patent/CN107622079A/zh
Publication of CN107622079A publication Critical patent/CN107622079A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供了一种数据存储方法,利用预置订单标识与用户标识的对应关系,根据订单标识查询出对应的用户标识,从而可以利用用户标识将数据存储到用户标识对应的数据库中,由此,可实现根据订单标识存储数据。

Description

数据存储、查询方法及装置
技术领域
本说明书实施例涉及互联网技术领域,尤其涉及一种数据存储、查询方法及装置。
背景技术
数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作、增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。因此,分库分表技术应运而生。简单理解,分库分表就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。
发明内容
本说明书实施例提供及一种数据存储、查询方法及装置。
第一方面,本说明书实施例提供一种数据存储方法,包括:接收数据***请求,并从数据***请求中提取出订单标识;查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;将数据***到用户标识对应的数据库中。
第二方面,本说明书实施例提供一种数据查询方法,包括:接收数据查询请求,并从数据查询请求中提取出订单标识;查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;从用户标识对应的数据库中查询数据。
第三方面,本说明书实施例提供一种数据存储装置,包括:提取单元,用于从数据***请求中提取出订单标识;查询单元,用于查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;数据***单元,用于将数据***到用户标识对应的数据库中。
第四方面,本说明书实施例提供一种数据查询装置,包括:提取单元,用于从数据查询请求中提取出订单标识;用户标识查询单元,用于查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;数据查询单元,用于从用户标识对应的数据库中查询数据。
第五方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述数据存储方法的步骤。
第六方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述数据查询方法的步骤。
第七方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述数据存储方法的步骤。
第八方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述数据查询方法的步骤。
本说明书实施例有益效果如下:
可见,由于分库分表一般都是以用户ID为维度进行数据存储及查询的,在无法获知用户ID的情况下,通过本说明书实施例提供的数据存储方法,利用预置订单标识与用户标识的对应关系,根据订单标识查询出对应的用户标识,从而可以利用用户标识将数据存储到用户标识对应的数据库中。本说明书实施例提供的数据存储方法中,仅需对数据库进行简单改进即可,如在数据库中增设记录订单标识和用户标识对应关系的路由表,则可以通过订单标识查询出用户标识,再通过用户标识映射到该用户对应的数据库,在订单标识对应的数据库和用户标识对应的数据库不同的情况下,可实现跨库存储。
同理,通过本说明书实施例提供的数据查询方法,利用预置订单标识与用户标识的对应关系,根据订单标识查询出对应的用户标识,从而可以在用户标识对应的数据库中查询数据。本说明书实施例提供的数据查询方法中,仅需对数据库进行简单改进即可,如在数据库中增设记录订单标识和用户标识对应关系的路由表,则可以通过订单标识查询出用户标识,再通过用户标识映射到该用户对应的数据库,在订单标识对应的数据库和用户标识对应的数据库不同的情况下,可实现跨库查询。
附图说明
图1为本说明书实施例数据存储及查询***示意图;
图2为本说明书实施例第一方面提供的数据存储方法流程图;
图3为本说明书实施例第一方面提供的数据存储方法中分库分表示意图;
图4为本说明书实施例第一方面提供的数据存储方法逻辑示意图;
图5为本说明书实施例路由表与分库分表对应关系实例一示意图;
图6为本说明书实施例路由表与分库分表对应关系实例二示意图;
图7为本说明书实施例第二方面提供的数据查询方法流程图;
图8为本说明书实施例第二方面提供的数据查询方法逻辑示意图;
图9为本说明书实施例第三方面提供的数据存储装置结构示意图;
图10为本说明书实施例第四方面提供的数据查询装置结构示意图;
图11为本说明书实施例第七方面提供的用于数据存储的服务器结构示意图;
图12为本说明书实施例第八方面提供的用于数据查询的服务器结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本说明书实施例中,应用场景例如电商的数据存储及查询***,参见图1,为数据存储及查询***示意图。图1中,服务器与多个终端设备(例如智能手机)通信,在订单处理、***性能监控等方面,服务器都需要获取并存储用户数据。为了解决数据量庞大以及服务器性能的问题,常常采取分库分表的方式,一般而言,按照用户ID维度进行分库分表的划分,即保证同一个用户的数据在同一张分库分表中。在商户向服务器进行数据查询时,可能会出现不知道用户用户ID的情况,这种情况下,则无法查询到用户数据。
第一方面,本说明书实施例提供一种数据存储方法,请参考图2,包括步骤S201-S203。
S201:接收数据***请求,并从数据***请求中提取出订单标识。
数据***请求通常是商户向服务器发起的,比如,在用户提交一笔订单支付时,商户向服务器请求进行订单支付操作,此时,会向服务器发起有关支付的数据***请求。
订单标识,顾名思义,是标识一笔订单的唯一标识码,可以是字符串类型。本领域技术人员理解,不同商户的订单号可能重复,因此,在一个可选方式中,数据***请求中还可提取出商户标识,通过“商户标识+订单标识”唯一标识某个商户的一笔订单。当然,也可以设计仅仅采用订单标识就可以识别出某个商户的一笔订单,这种情况下,就不需要另外设定商户标识,订单标识在设计时即包含商户识别码即可。
S202:查询预先保存的订单标识与用户标识的对应关系,确定订单标识对应的用户标识。
为了解决某些情况下仅能获知订单标识(无法获知用户标识)而无法进行数据存储或查询的问题,本说明书实施例中,预先保存订单标识与用户标识的对应关系,通过订单标识可查询到用户标识,继而可利用查询到的用户标识进行数据的存储以及查询。
为了实现设置订单标识与用户标识的对应关系,可以对现有分库分表进行设计上的改动。简言之,首先,通过订单标识计算确定出订单标识对应哪个数据库;然后,将订单标识***到所确定的数据库的路由表中,其中,路由表中预先保存有订单标识与用户标识的对应关系。
例如,在每个分库中设计路由表,表结构完全一致,表包含内容如下表1中的示例,该示例中,通过“商户标识+订单标识”唯一标识某个商户的一笔订单。
表1
可见,通过上述路由表,可以将商户、订单和用户三者关联起来。
参见图3,本说明书实施例第一方面提供的数据存储方法中分库分表示意图。每个数据库中都有路由表和对应的业务表。其中,路由表是用于记录商户、订单和用户三者关系的表,业务表是以用户ID作为维度的表,主要用户存储用户业务数据。
在一个可选方式中,可通过计算订单标识哈西值的方式确定订单标识对应哪个数据库。例如,首先,根据订单标识计算哈西值;然后,根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
S203:将数据***到用户标识对应的数据库中。
为了实现数据存储这段时间对数据库的绝对使用权,在一个可选方式中,可以对路由表进行加锁操作,从而限制其他请求的占用。因此,在将订单标识***到所确定的数据库中的路由表中之后,还可包括如下步骤:根据订单标识加锁路由表;在加锁路由表过程中,进行将数据***到用户标识对应的数据库中的操作。
参见图4,为本说明书实施例第一方面提供的数据存储方法逻辑示意图。
S401:根据订单标识计算hash值,其中,计算方法与***平台、时间等因素无关,只与订单标识的二进制数据有关,即无论什么平台什么时间,只要订单标识值相同计算出来的hash值就一样。
S402:根据计算出的hash值,对数据库数量取余,余数即为对应编号的数据库。其中,预先对数据库进行编号,例如,编号1、2,…,10。假设hash值为2014,则2014/10余数为4,则确定是编号为4的数据库。
S403:将订单标识***到对应数据库对应的路由表中。由此,在路由表中可以查询到订单标识对应的用户标识。
S404:判断路由表***是否成功?其中,以“商户标识+订单标识”唯一标识某个商户的一笔订单为例,在***之前,判断路由表中是否包含商户标识的路由表,如果包含,则将当前订单标识***到该商户标识对应的路由表中。如果路由表中不包含商户标识,则***失败。
S405:在路由表***成功之后,根据订单标识加锁路由表。所谓加锁,即限制一段时间内不允许其他请求操作路由表。
S406:按照用户标识确定对应的数据库,将数据***到该数据库的业务表中。
需要说明的是,用户标识对应的数据库与订单标识对应的数据库可以是同一个数据库,也可以是不同的数据库。在用户标识对应的数据库与订单标识对应的数据库为不同的数据库情况下,即可实现“跨库”存储。
如前已经提及,路由表是用于记录商户、订单和用户三者关系的表,而业务表是以用户为维度的表,而且,一般是以用户ID维度进行分库分表的划分,即保证同一个用户的数据在同一张分库分表中,因此,假设同一个用户在两个不同商户进行了两笔订单,那么,在第一个商户的数据***请求会被路由到该商户对应的路由表中,在第二个商户的数据***请求会被路由到另一个路由表中,但是,由于是同一个用户,这两条数据***请求对应的数据最终都被存储到该用户对应的数据库下的业务表中。
参见图5和图6,分别为本说明书实施例路由表与分库分表对应关系实例一和实例二示意图。为了理解简便,假设对应编号的用户对应编号的数据库,例如,用户1对应数据库1,用户2对应数据库2,以此类推。图5中,示意出了请求与路由表的路由关系,其中,有三笔请求1、2、3,编号1、2的请求路由到数据库1(DB_1)中,编号3的请求路由到数据库2(DB_2)中。图6中,示意出了数据与业务表的路由关系,其中,编号1的业务数据被路由到数据库1(DB_1)的业务表中,编号2、3的业务数据被路由到数据库2(DB_2)的业务表中。可见,对于编号2,实现了跨库存储。因为编号2的请求在通过商户标识和订单标识是路由到数据库1,而该请求的用户2对应的数据库是数据库2,因此,虽然订单标识是路由到数据库1,但是数据是存储在数据库2中。
可见,由于分库分表一般都是以用户ID为维度进行数据存储的,在无法获知用户ID的情况下,通过本说明书实施例提供的数据存储方法,利用预置订单标识与用户标识的对应关系,根据订单标识查询出对应的用户标识,从而可以利用用户标识将数据存储到用户标识对应的数据库中。本说明书实施例提供的数据存储方法中,仅需对数据库进行简单改进即可,如在数据库中增设记录订单标识和用户标识对应关系的路由表,则可以通过订单标识查询出用户标识,再通过用户标识映射到该用户对应的数据库,在订单标识对应的数据库和用户标识对应的数据库不同的情况下,可实现跨库存储。
第二方面,基于同一发明构思,本说明书实施例提供一种数据查询方法,请参考图7,包括步骤S701-S703。
S701:接收数据查询请求,并从数据查询请求中提取出订单标识。
数据查询请求通常是商户向服务器发起的,比如,商户向服务器请求进行订单支付查询操作,此时,会向服务器发起有关数据查询请求。
订单标识,顾名思义,是标识一笔订单的唯一标识码,可以是字符串类型。本领域技术人员理解,不同商户的订单号可能重复,因此,在一个可选方式中,数据查询请求中还可提取出商户标识,通过“商户标识+订单标识”唯一标识某个商户的一笔订单。当然,也可以设计仅仅采用订单标识就可以识别出某个商户的一笔订单,这种情况下,就不需要另外设定商户标识,订单标识在设计时即包含商户识别码即可。
S702:查询预先保存的订单标识与用户标识的对应关系,确定订单标识对应的用户标识。
为了解决某些情况下仅能获知订单标识(无法获知用户标识)而无法进行数据存储或查询的问题,本说明书实施例中,预先保存订单标识与用户标识的对应关系,通过订单标识可查询到用户标识,继而可利用查询到的用户标识进行数据的存储以及查询。
为了实现设置订单标识与用户标识的对应关系,可以对现有分库分表进行设计上的改动。简言之,首先,通过订单标识计算确定出订单标识对应哪个数据库;然后,从订单标识所确定的数据库的路由表中查询出对应的用户标识。
例如,在每个分库中设计路由表,表结构完全一致,表包含内容仍可参考表1中的示例,该示例中,通过“商户标识+订单标识”唯一标识某个商户的一笔订单。
可见,通过上述路由表,可以将商户、订单和用户三者关联起来。
本说明书实施例第二方面提供的数据存储方法中分库分表示意图仍可参考图3。每个数据库中都有路由表和对应的业务表。其中,路由表是用于记录商户、订单和用户三者关系的表,业务表是以用户ID作为维度的表,主要用户存储用户业务数据。
在一个可选方式中,可通过计算订单标识哈西值的方式确定订单标识对应哪个数据库。例如,首先,根据订单标识计算哈西值;然后,根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
S703:从用户标识对应的数据库中查询数据。
参见图8,为本说明书实施例第二方面提供的数据查询方法逻辑示意图。
S801:根据订单标识计算hash值,其中,计算方法与***平台、时间等因素无关,只与订单标识的二进制数据有关,即无论什么平台什么时间,只要订单标识值相同计算出来的hash值就一样。
S802:根据计算出的hash值,对数据库数量取余,余数即为对应编号的数据库。其中,预先对数据库进行编号,例如,编号1、2,…,10。假设hash值为2014,则2014/10余数为4,则确定是编号为4的数据库。
S803:查询订单标识对应数据库的路由表。
S804:判断路由表查询是否成功?其中,以“商户标识+订单标识”唯一标识某个商户的一笔订单为例,在查询之前,判断路由表中是否包含商户标识的路由表,如果包含,则从该商户标识对应的路由表中进行查询。如果路由表中不包含商户标识或者包括商户标识但不包含订单标识,则查询失败。
S805:在路由表查询成功之后,即可获得用户标识;从用户标识对应的数据库的业务表中查询数据。
需要说明的是,用户标识对应的数据库与订单标识对应的数据库可以是同一个数据库,也可以是不同的数据库。在用户标识对应的数据库与订单标识对应的数据库为不同的数据库情况下,即可实现“跨库”查询。
如前已经提及,路由表是用于记录商户、订单和用户三者关系的表,而业务表是以用户为维度的表,而且,一般是以用户ID维度进行分库分表的划分,即保证同一个用户的数据在同一张分库分表中,因此,假设同一个用户在两个不同商户进行了两笔订单,那么,在第一个商户的数据***请求会被路由到该商户对应的路由表中,在第二个商户的数据***请求会被路由到另一个路由表中,但是,由于是同一个用户,这两条数据***请求对应的数据最终都被存储到该用户对应的数据库下的业务表中。
仍可参见图5和图6,分别为本说明书实施例路由表与分库分表对应关系实例一和实例二示意图。为了理解简便,假设对应编号的用户对应编号的数据库,例如,用户1对应数据库1,用户2对应数据库2,以此类推。图5中,示意出了请求与路由表的路由关系,其中,有三笔请求1、2、3,编号1、2的请求路由到数据库1(DB_1)中,编号3的请求路由到数据库2(DB_2)中。图6中,示意出了数据与业务表的路由关系,其中,编号1的业务数据被路由到数据库1(DB_1)的业务表中,编号2、3的业务数据被路由到数据库2(DB_2)的业务表中。可见,对于编号2,实现了跨库存储。因为编号2的请求在通过商户标识和订单标识是路由到数据库1,而该请求的用户2对应的数据库是数据库2,因此,虽然订单标识是路由到数据库1,但是数据是存储在数据库2中。
可见,由于分库分表一般都是以用户ID为维度进行数据存储和查询的,在无法获知ID的情况下,通过本说明书实施例提供的数据查询方法,利用预置订单标识与用户标识的对应关系,根据订单标识查询出对应的用户标识,从而可以在用户标识对应的数据库中查询数据。本说明书实施例提供的数据查询方法中,仅需对数据库进行简单改进即可,如在数据库中增设记录订单标识和用户标识对应关系的路由表,则可以通过订单标识查询出用户标识,再通过用户标识映射到该用户对应的数据库,在订单标识对应的数据库和用户标识对应的数据库不同的情况下,可实现跨库查询。
第三方面,基于同一发明构思,本说明书实施例提供一种数据存储装置,请参考图9,该装置包括:
提取单元901,用于从数据***请求中提取出订单标识;
查询单元902,用于查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;
数据***单元903,用于将数据***到用户标识对应的数据库中。
在一个实现方式中,该装置还包括:
确定单元904,用于根据所述订单标识计算确定出所述订单标识对应的数据库;
订单标识***单元905,用于将所述订单标识***到所确定的数据库的路由表中,其中,所述路由表中预先保存有订单标识与用户标识的对应关系。
在一个可选方式中,所述确定单元904包括:
计算子单元9041,用于根据所述订单标识计算哈西值;
编号确定子单元9042,用于根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
在一个可选方式中,该装置还包括:加锁单元906,用于根据所述订单标识加锁所述路由表;其中,在加锁所述路由表过程中,所述数据***单元903进行所述将数据***到用户标识对应的数据库中的操作。
在一个可选方式中,该装置还包括:商户标识提取单元907,用于从所述数据***请求中提取出商户标识;其中,在所述订单标识***单元905将所述订单标识***到所确定的数据库中的路由表的过程中,是将所述订单标识***到所确定的数据库中包含所提取的商户标识的路由表中。
在一个可选方式中,所述用户标识对应的数据库与所述订单标识对应的数据库为同一个数据库,或者,所述用户标识对应的数据库与所述订单标识对应的数据库为不同的数据库。
第四方面,基于同一发明构思,本说明书实施例提供一种数据查询装置,请参考图10,该装置包括:
提取单元1001,用于从数据查询请求中提取出订单标识;
用户标识查询单元1002,用于查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;
数据查询单元1003,用于从用户标识对应的数据库中查询数据。
在一个可选方式中,该装置还包括:
确定单元1004,用于根据所述订单标识计算确定出所述订单标识对应的数据库;
路由表查询单元1005,用于在所确定的数据库中查询到记录所述订单标识的路由表,其中,所述路由表中预先保存有订单标识与用户标识的对应关系。
在一个可选方式中,所述确定单元1004包括:
计算子单元10041,用于根据所述订单标识计算哈西值;
编号确定子单元10042,用于根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
在一个可选方式中,所述装置还包括:商户标识提取单元1006,用于从所述数据查询请求中提取出商户标识;其中,所述路由表查询单元1005在所确定的数据库中查询记录所述订单标识的路由表的过程中,是将所述订单标识***到所确定的数据库中包含所提取的商户标识的路由表中。
在一个可选方式中,所述用户标识对应的数据库与所述订单标识对应的数据库为同一个数据库,或者,所述用户标识对应的数据库与所述订单标识对应的数据库为不同的数据库。
第五方面,基于与前述实施例中数据存储方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述数据存储方法的任一方法的步骤。
第六方面,基于与前述实施例中数据查询的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述数据查询的方法的任一方法的步骤。
第七方面,基于与前述实施例中数据存储方法同样的发明构思,本发明还提供一种服务器,如图11所示,包括存储器1104、处理器1102及存储在存储器1104上并可在处理器112上运行的计算机程序,所述处理器1102执行所述程序时实现前文所述主播端设备显示虚拟礼物特效的方法的任一方法的步骤。
其中,在图11中,总线架构(用总线1100来代表),总线1100可以包括任意数量的互联的总线和桥,总线1100将包括由处理器1102代表的一个或多个处理器和存储器1104代表的存储器的各种电路链接在一起。总线1100还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口1106在总线1100和接收器1101和发送器1103之间提供接口。接收器1101和发送器1103可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器1102负责管理总线1100和通常的处理,而存储器1104可以被用于存储处理器1102在执行操作时所使用的数据。
第八方面,基于与前述实施例中数据查询方法同样的发明构思,本发明还提供一种服务器,如图12所示,包括存储器1204、处理器1202及存储在存储器1204上并可在处理器上运行的计算机程序,所述处理器1202执行所述程序时实现前文所述服务器侧显示虚拟礼物特效的方法的任一方法的步骤。
其中,在图12中,总线架构(用总线1200来代表),总线1200可以包括任意数量的互联的总线和桥,总线1200将包括由处理器1202代表的一个或多个处理器和存储器1204代表的存储器的各种电路链接在一起。总线1200还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口1206在总线1200和接收器1201和发送器1203之间提供接口。接收器1201和发送器1203可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器1202负责管理总线1200和通常的处理,而存储器1204可以被用于存储处理器1202在执行操作时所使用的数据。
前述图1-图10实施例中的数据存储或查询方法或装置的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对方法及装置的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
本说明书是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (26)

1.一种数据存储方法,其特征在于,包括:
接收数据***请求,并从数据***请求中提取出订单标识;
查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;
将数据***到用户标识对应的数据库中。
2.根据权利要求1所述的方法,其特征在于,在从数据***请求中提取出订单标识之后、确定所述订单标识对应的用户标识之前,还包括:
根据所述订单标识计算确定出所述订单标识对应的数据库;
将所述订单标识***到所确定的数据库的路由表中,其中,所述路由表中预先保存有订单标识与用户标识的对应关系。
3.如权利要求2所述的方法,其特征在于,所述根据所述订单标识计算确定出对应的数据库,包括:
根据所述订单标识计算哈西值;
根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
4.如权利要求2所述的方法,其特征在于,在所述将所述订单标识***到所确定的数据库中的路由表中之后,还包括:
根据所述订单标识加锁所述路由表;
在加锁所述路由表过程中,进行所述将数据***到用户标识对应的数据库中的操作。
5.如权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:从所述数据***请求中提取出商户标识;
在将所述订单标识***到所确定的数据库中的路由表的过程中,是将所述订单标识***到所确定的数据库中包含所提取的商户标识的路由表中。
6.如权利要求2-4任一项所述的方法,其特征在于,所述用户标识对应的数据库与所述订单标识对应的数据库为同一个数据库,或者,所述用户标识对应的数据库与所述订单标识对应的数据库为不同的数据库。
7.一种数据查询方法,其特征在于,包括:
接收数据查询请求,并从数据查询请求中提取出订单标识;
查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;
从用户标识对应的数据库中查询数据。
8.根据权利要求7所述的方法,其特征在于,在从数据查询请求中提取出订单标识之后、确定所述订单标识对应的用户标识之前,还包括:
根据所述订单标识计算确定出所述订单标识对应的数据库;
在所确定的数据库中查询到记录所述订单标识的路由表,其中,所述路由表中预先保存有订单标识与用户标识的对应关系。
9.如权利要求8所述的方法,其特征在于,所述根据所述订单标识计算确定出对应的数据库,包括:
根据所述订单标识计算哈西值;
根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
10.如权利要求8或9所述的方法,其特征在于,所述方法还包括:从所述数据查询请求中提取出商户标识;
在所确定的数据库中查询记录所述订单标识的路由表的过程中,是将所述订单标识***到所确定的数据库中包含所提取的商户标识的路由表中。
11.如权利要求8或9所述的方法,其特征在于,所述用户标识对应的数据库与所述订单标识对应的数据库为同一个数据库,或者,所述用户标识对应的数据库与所述订单标识对应的数据库为不同的数据库。
12.一种数据存储装置,其特征在于,包括:
提取单元,用于从数据***请求中提取出订单标识;
查询单元,用于查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;
数据***单元,用于将数据***到用户标识对应的数据库中。
13.根据权利要求12所述的装置,其特征在于,还包括:
确定单元,用于根据所述订单标识计算确定出所述订单标识对应的数据库;
订单标识***单元,用于将所述订单标识***到所确定的数据库的路由表中,其中,所述路由表中预先保存有订单标识与用户标识的对应关系。
14.如权利要求13所述的装置,其特征在于,所述确定单元包括:
计算子单元,用于根据所述订单标识计算哈西值;
编号确定子单元,用于根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
15.如权利要求13所述的装置,其特征在于,还包括:加锁单元,用于根据所述订单标识加锁所述路由表;其中,在加锁所述路由表过程中,所述数据***单元进行所述将数据***到用户标识对应的数据库中的操作。
16.如权利要求13-15任一项所述的装置,其特征在于,还包括:商户标识提取单元,用于从所述数据***请求中提取出商户标识;其中,在所述订单标识***单元将所述订单标识***到所确定的数据库中的路由表的过程中,是将所述订单标识***到所确定的数据库中包含所提取的商户标识的路由表中。
17.如权利要求13-15任一项所述的装置,其特征在于,所述用户标识对应的数据库与所述订单标识对应的数据库为同一个数据库,或者,所述用户标识对应的数据库与所述订单标识对应的数据库为不同的数据库。
18.一种数据查询装置,其特征在于,包括:
提取单元,用于从数据查询请求中提取出订单标识;
用户标识查询单元,用于查询预先保存的订单标识与用户标识的对应关系,确定所述订单标识对应的用户标识;
数据查询单元,用于从用户标识对应的数据库中查询数据。
19.根据权利要求18所述的装置,其特征在于,还包括:
确定单元,用于根据所述订单标识计算确定出所述订单标识对应的数据库;
路由表查询单元,用于在所确定的数据库中查询到记录所述订单标识的路由表,其中,所述路由表中预先保存有订单标识与用户标识的对应关系。
20.如权利要求19所述的装置,其特征在于,所述确定单元包括:
计算子单元,用于根据所述订单标识计算哈西值;
编号确定子单元,用于根据所计算出的哈西值,对数据库个数进行取余操作,得到的余数即确定为订单标识对应的数据库的编号。
21.如权利要求19或20所述的装置,其特征在于,还包括:商户标识提取单元,用于从所述数据查询请求中提取出商户标识;其中,所述路由表查询单元在所确定的数据库中查询记录所述订单标识的路由表的过程中,是将所述订单标识***到所确定的数据库中包含所提取的商户标识的路由表中。
22.如权利要求19或20所述的装置,其特征在于,所述用户标识对应的数据库与所述订单标识对应的数据库为同一个数据库,或者,所述用户标识对应的数据库与所述订单标识对应的数据库为不同的数据库。
23.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求7-11任一项所述方法的步骤。
25.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
26.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求7-11任一项所述方法的步骤。
CN201710630484.1A 2017-07-28 2017-07-28 数据存储、查询方法及装置 Pending CN107622079A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710630484.1A CN107622079A (zh) 2017-07-28 2017-07-28 数据存储、查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710630484.1A CN107622079A (zh) 2017-07-28 2017-07-28 数据存储、查询方法及装置

Publications (1)

Publication Number Publication Date
CN107622079A true CN107622079A (zh) 2018-01-23

Family

ID=61088243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710630484.1A Pending CN107622079A (zh) 2017-07-28 2017-07-28 数据存储、查询方法及装置

Country Status (1)

Country Link
CN (1) CN107622079A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595514A (zh) * 2018-03-23 2018-09-28 九派天下支付有限公司 电子订单处理方法及装置
CN110874370A (zh) * 2018-08-10 2020-03-10 广州弘度信息科技有限公司 数据查询方法、装置、计算机设备和可读存储介质
CN111309704A (zh) * 2018-12-12 2020-06-19 北京沃东天骏信息技术有限公司 数据库操作方法和数据库操作***
CN111709817A (zh) * 2020-06-23 2020-09-25 腾讯科技(深圳)有限公司 订单数据的处理方法、装置、计算机可读介质及电子设备
CN111708808A (zh) * 2020-06-10 2020-09-25 中国建设银行股份有限公司 分布式业务***及其业务汇总查询方法、装置和设备
CN112162981A (zh) * 2020-09-08 2021-01-01 杭州涂鸦信息技术有限公司 一种自适应的路由分库分表方法及***
CN112445822A (zh) * 2019-08-30 2021-03-05 拉扎斯网络科技(上海)有限公司 数据查询方法、装置、电子设备及计算机可读存储介质
CN112860680A (zh) * 2021-03-18 2021-05-28 杭州云灵科技有限公司 数据处理方法及***、数据查询方法及***
CN113610604A (zh) * 2021-08-09 2021-11-05 上海微盟企业发展有限公司 一种数据处理方法、装置、设备及存储介质
CN115033577A (zh) * 2022-08-15 2022-09-09 深圳市星卡软件技术开发有限公司 设备订单数据的存储方法、查询方法及装置
CN115344620A (zh) * 2022-10-19 2022-11-15 成都中科合迅科技有限公司 自定义数据池实现前后端分离后数据按需同步方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012195683A (ja) * 2011-03-15 2012-10-11 Nec Corp 通信システムおよびデータベース構築方法
CN104765749A (zh) * 2014-01-07 2015-07-08 阿里巴巴集团控股有限公司 一种数据存储方法及装置
CN105610881A (zh) * 2014-11-06 2016-05-25 阿里巴巴集团控股有限公司 一种分布式缓存范围查询方法、装置及***
CN106897335A (zh) * 2016-06-28 2017-06-27 阿里巴巴集团控股有限公司 一种业务数据的存储方法、记录标识符的生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012195683A (ja) * 2011-03-15 2012-10-11 Nec Corp 通信システムおよびデータベース構築方法
CN104765749A (zh) * 2014-01-07 2015-07-08 阿里巴巴集团控股有限公司 一种数据存储方法及装置
CN105610881A (zh) * 2014-11-06 2016-05-25 阿里巴巴集团控股有限公司 一种分布式缓存范围查询方法、装置及***
CN106897335A (zh) * 2016-06-28 2017-06-27 阿里巴巴集团控股有限公司 一种业务数据的存储方法、记录标识符的生成方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595514A (zh) * 2018-03-23 2018-09-28 九派天下支付有限公司 电子订单处理方法及装置
CN110874370A (zh) * 2018-08-10 2020-03-10 广州弘度信息科技有限公司 数据查询方法、装置、计算机设备和可读存储介质
CN111309704A (zh) * 2018-12-12 2020-06-19 北京沃东天骏信息技术有限公司 数据库操作方法和数据库操作***
CN111309704B (zh) * 2018-12-12 2023-06-23 北京沃东天骏信息技术有限公司 数据库操作方法和数据库操作***
CN112445822A (zh) * 2019-08-30 2021-03-05 拉扎斯网络科技(上海)有限公司 数据查询方法、装置、电子设备及计算机可读存储介质
CN111708808A (zh) * 2020-06-10 2020-09-25 中国建设银行股份有限公司 分布式业务***及其业务汇总查询方法、装置和设备
CN111709817A (zh) * 2020-06-23 2020-09-25 腾讯科技(深圳)有限公司 订单数据的处理方法、装置、计算机可读介质及电子设备
CN112162981A (zh) * 2020-09-08 2021-01-01 杭州涂鸦信息技术有限公司 一种自适应的路由分库分表方法及***
CN112860680A (zh) * 2021-03-18 2021-05-28 杭州云灵科技有限公司 数据处理方法及***、数据查询方法及***
CN112860680B (zh) * 2021-03-18 2022-07-29 杭州云灵科技有限公司 数据处理方法及***、数据查询方法及***
CN113610604A (zh) * 2021-08-09 2021-11-05 上海微盟企业发展有限公司 一种数据处理方法、装置、设备及存储介质
CN115033577A (zh) * 2022-08-15 2022-09-09 深圳市星卡软件技术开发有限公司 设备订单数据的存储方法、查询方法及装置
WO2024037094A1 (zh) * 2022-08-15 2024-02-22 深圳市星卡软件技术开发有限公司 设备订单数据的存储方法、查询方法及装置
CN115344620A (zh) * 2022-10-19 2022-11-15 成都中科合迅科技有限公司 自定义数据池实现前后端分离后数据按需同步方法
CN115344620B (zh) * 2022-10-19 2023-01-06 成都中科合迅科技有限公司 自定义数据池实现前后端分离后数据按需同步方法

Similar Documents

Publication Publication Date Title
CN107622079A (zh) 数据存储、查询方法及装置
CN112153085B (zh) 一种数据处理方法、节点及区块链***
CN109543455B (zh) 一种区块链的数据归档方法及装置
CN106981024B (zh) 一种交易限额计算处理***及其处理方法
CN108769111A (zh) 一种服务器连接方法、计算机可读存储介质及终端设备
CN104572727A (zh) 一种数据查询方法及装置
CN103647656B (zh) 计费节点负载控制方法、数据访问控制方法及节点
EP3709568A1 (en) Deleting user data from a blockchain
CN109582473A (zh) 基于区块链的跨链数据访问方法和装置
CN107516038A (zh) 一种确定设备指纹的方法及装置
CN104298687B (zh) 一种哈希分区管理方法及装置
CN110289999B (zh) 一种数据处理方法、***及装置
CN109409882A (zh) 一种基于区块链的信用认证存储方法和装置
US20190229931A1 (en) Distributed telephone number ledger and register
CN107391761A (zh) 一种基于重复数据删除技术的数据管理方法及装置
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN109145625A (zh) 保单信息的处理方法、装置及区块链数据存储***
CN111723159A (zh) 一种基于区块链的数据验证方法和装置
CN105468623A (zh) 数据处理方法及装置
CN114138181B (zh) 一种绑定池放置组选主的方法、装置、设备及可读介质
CN108154024A (zh) 一种数据检索方法、装置及电子设备
CN112597525B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN109146444A (zh) 虚拟账户创建方法及装置、账户信息更新方法及装置
CN110689333B (zh) 一种区块链自动对账方法、装置、***和存储介质
CN106095511A (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
TA01 Transfer of patent application right

Effective date of registration: 20201019

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201019

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20180123

RJ01 Rejection of invention patent application after publication