CN106055587A - 一种分库数据库系统及其路由方法 - Google Patents

一种分库数据库系统及其路由方法 Download PDF

Info

Publication number
CN106055587A
CN106055587A CN201610342340.1A CN201610342340A CN106055587A CN 106055587 A CN106055587 A CN 106055587A CN 201610342340 A CN201610342340 A CN 201610342340A CN 106055587 A CN106055587 A CN 106055587A
Authority
CN
China
Prior art keywords
point
storehouse
database system
server
fragment data
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
CN201610342340.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.)
LeTV Holding Beijing Co Ltd
LeTV eCommerce Beijing Co Ltd
Original Assignee
LeTV Holding Beijing Co Ltd
LeTV eCommerce Beijing Co 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 LeTV Holding Beijing Co Ltd, LeTV eCommerce Beijing Co Ltd filed Critical LeTV Holding Beijing Co Ltd
Priority to CN201610342340.1A priority Critical patent/CN106055587A/zh
Publication of CN106055587A publication Critical patent/CN106055587A/zh
Priority to PCT/CN2016/104282 priority patent/WO2017201970A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据库技术领域,公开了一种分库数据库系统及其路由方法。本发明中,分库数据库系统包括:L个分片数据库和N个分库服务器,L、N均为大于1的自然数,分库数据库系统的路由方法包括:各分库服务器在接收到来自客户端的操作请求时,解析得到操作请求携带的查询条件;在需计算目标分片数据库时,根据查询条件计算操作请求对应的目标分片数据库;其中,各分库服务器保存查询条件与目标分片数据库的对应关系,并将对应关系同步更新至分库数据库系统中至少一未处理该操作请求的分库服务器;将操作请求发送至目标分片数据库。本发明与现有技术相比,通过减少分片路由的重复计算以解决分片路由多次计算的问题,从而提高了分库数据库系统的处理效率。

Description

一种分库数据库系统及其路由方法
技术领域
本发明涉及数据库技术领域,特别涉及一种分库数据库系统及其路由方法。
背景技术
在互联网网络应用中,随着业务的发展,数据库积累的数据越来越多,那么在处理大量用户访问、高并发请求的时候,单个数据库的处理瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用需求,因此,目前通常采用数据库分库分表的方案来提高数据库性能。
传统的分库分表方案一般是设置一个数据库表中的分片字段,并配置分库的分片策略,在使用时,根据应用传入的值配合分片策略进行计算,通过计算得出使用的分片节点(即目标分片数据库),由此可知,分片字段在分库数据库系统中对目标分片数据库的路由起到关键作用。除可设置分片字段外,还可以设置一个主键字段,主键字段为此数据库表经常操作的条件字段,当使用主键字段进行查询、更新等操作后,分库数据库系统会将该主键字段的值和目标分片数据库对应关系,以键值对的方式保存在分库服务器的本地缓存中,下次使用时可直接从本地缓存中获得对应的目标分片数据库。现结合图1,对传统分库数据库的路由方法进行说明,其包括以下步骤:
步骤101:从来自客户端的请求中解析出查询条件,比如,解析出的查询条件包括分片字段和/或主键字段。
步骤102:根据解析出的查询条件判断是否在本地缓存中命中目标分片数据库。如果在本地缓存中命中目标,则执行步骤105;反之,如果本地缓存中没有缓存相应数据(即查询条件与目标分片数据库的对应关系),则执行步骤103。
步骤103:根据解析出的查询条件计算得到目标分片数据库。本步骤中,可以根据分片字段的传入值配合分库数据库系统的分片策略计算得到目标分片数据库,或者根据主键字段在整个数据库中进行执行,计算得到目标分片数据库。
步骤104:保存目标分片数据库和请求的对应关系至本地缓存,以便下次同样操作请求时可以在本地缓存中直接命中目标分片数据库。
步骤105:将操作请求发送至目标分片数据库。
现有技术中,为防止单点问题,通常采用集群方式部署分库,那么一个分库数据库系统就包括有多个分库服务器,各分库服务器分别用于根据从客户端发送的操作请求中解析出的查询条件计算目标分片数据库。如果系统的多个分库服务器实现高可用,即各个分库服务器同时在执行目标分片数据库的路由任务,那么必然会存在目标分片数据库的多次计算或执行的问题,造成宝贵的CPU的浪费,降低了硬件资源的有效利用率。
发明内容
本发明的目的在于提供一种分库数据库系统及其路由方法,通过减少目标分片数据库的重复计算以提高分库数据库系统的处理效率,进而提高系统硬件的使用效率。
为解决上述技术问题,本发明的实施方式提供了一种分库数据库系统的路由方法,所述分库数据库系统包括:L个分片数据库和N个分库服务器,所述L、N均为大于1的自然数,其特征在于,包括以下步骤:所述各分库服务器在接收到来自客户端的操作请求时,解析得到所述操作请求携带的查询条件;在需计算目标分片数据库时,根据所述查询条件计算所述操作请求对应的分片数据库;其中,所述各分库服务器保存所述查询条件与目标分片数据库的对应关系,并将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器;将所述操作请求发送至所述目标分片数据库。
本发明的实施方式还提供了一种分库数据库系统,包括:L个分片数据库和N个分库服务器,所述L、N均为大于1的自然数;所述分库服务器包括解析模块、计算模块、保存模块、同步模块和发送模块;所述解析模块用于在所述分库服务器接收到来自客户端的操作请求时,解析得到所述操作请求携带的查询条件;所述计算模块用于在需要计算目标分片数据库时,根据所述查询条件计算所述操作请求对应的目标分片数据库;所述所述保存模块用于将所述查询条件和所述计算模块计算出的目标分片数据库的对应关系保存至所述分库服务器的本地缓存;所述同步模块用于将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器;所述发送模块用于将所述操作请求发送至所述目标分片数据库。
本发明实施方式相对于现有技术而言,针对需要根据来自客户端的操作请求进行计算处理以路由到目标分片数据库的情形,将计算得到的操作请求与目标分片数据库的对应关系进行本地保存,同时同步更新至分库数据库系统中至少一未处理该操作请求的分库服务器,从而通过分库数据库系统中的多个分库服务器之间的数据同步的方式减少相同操作请求的重复计算,有助于提高分库数据库系统的处理效率。
优选地,在将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器中,将所述对应关系同步更新至所述分库数据库系统中未处理该操作请求的所有分库服务器。从而使得系统具有较高的运行效率。
优选地,将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器,具体包括:所述分库服务器将所述对应关系同步更新至集中式缓存服务器;所述集中式缓存服务器将更新的所述对应关系,同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器。通过集中式缓存服务器进行数据更新中转,一方面有利于降低各分库服务器的负担,另一方面,有利于对计算结果进行较长时间的保存。
优选地,所述集中式缓存服务器将更新的所述对应关系,同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器,具体包括:所述集中式缓存服务器发布关于所述对应关系的更新消息;所述分库数据库系统中至少一未处理该操作请求的分库服务器在监听到所述集中式缓存服务器发布的更新消息时进行同步更新。从而使得各分库服务器之间的数据更新可以快速同步。
附图说明
图1是根据现有技术分库数据库系统的路由方法的流程图;
图2是根据本发明第一实施方式分库数据库系统的路由方法的流程图;
图3是根据本发明第二实施方式分库数据库系统的路由方法的流程图;
图4是根据本发明第三实施方式分库数据库系统的结构示意图;
图5是根据本发明第三实施方式分库数据库系统各分库服务器的结构示意图;
图6是根据本发明第四实施方式分库数据库系统的结构示意图;
图7是根据本发明第四实施方式分库服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
本发明的第一实施方式涉及一种分库数据库系统的路由方法,作为举例而非限制,该分库数据库系统的路由方法可以应用于电子商务、金融、电信等的应用。其中,分库数据库系统包括:L个分片数据库和N个分库服务器,L、N均为大于1的自然数。N个分库服务器采用集群部署方式,对接收到的操作请求进行目标分片数据库的路由。
如图2所示,该分库数据库系统的路由方法的包括以下步骤:
步骤201:各分库服务器在接收到来自客户端的操作请求时,解析得到操作请求携带的查询条件。比如,操作请求中可以携带用于指示操作的操作值,用于对分片数据库进行路由的查询条件,以及查询条件对应的值等,当然,本领域技术人员可以知晓操作请求携带的信息的其他变形。
步骤202:根据查询条件在分库服务器的本地缓存中定位目标分片数据库。
步骤203:判断在本地缓存中是否命中到目标分片数据库。
具体而言,分库服务器的本地缓存中比如存储有主键字段的值与分片对应关系的键值对,则当传入的值为主键值且有对应的目标分片数据库时,即可在本地缓存中命中该操作请求对应的目标分片数据库。本实施方式中如果根据查询条件未在分库服务器的本地缓存中命中目标分片数据库,则执行步骤204;如果根据查询条件在分库服务器的本地缓存中命中目标分片数据库,则执行步骤209。
步骤204:判断查询条件是否包括主键字段。如果查询条件包括主键字段,则执行步骤206,本实施方式中,如果查询条件不包括主键字段,则默认查询条件包含分段路由,则执行步骤205。
步骤205:根据分片路由的字段值以及分库服务器支持的分片策略计算得到目标分片数据库。
步骤206:根据主键字段的传入值计算查询条件对应的目标分片数据库。
本领域技术人员知晓在步骤205、206中可以采用现有分库数据库路由的计算方法进行路由计算,此处不再赘述。值得一提的是,在根据主键字段的传入值计算得到查询条件对应的目标分片数据库时,将该主键字段与该目标分片数据库的对应关系保存为键值对。
步骤207:各分库服务器保存查询条件与分片数据库的对应关系。本实施方式中,各分库服务器将查询条件与目标分片数据库的对应关系保存至本地缓存。即根据步骤205或者步骤206的计算结果将查询条件与目标分片数据库的对应关系进行保存。
步骤208:将对应关系同步更新至分库数据库系统中至少一未处理该操作请求的分库服务器。
作为举例而非限制,本实施方式中将对应关系同步更新至分库数据库系统中未处理该操作请求的所有分库服务器。换句话说,即是将该对应关系同步更新至未处理该操作请求的L-1个分库服务器。在集群式分库部署方案中,分库服务器越多,数据库系统的路由能力越强,响应速度越快。通过将各分库服务器实时计算得到的操作请求与分片数据库的对应结果同步至系统中其他的分库服务器,就可以减少系统处理相同请求时的重复计算次数,相当于同步提高了其他分库服务器在处理相同请求时的处理速度,从而提高系统的处理速度,在高并发的访问情况下可以有效节省宝贵的CPU资源,提高硬件资源的使用率。
步骤209:将操作请求发送至目标分片数据库。即根据操作请求在对应的目标分片数据库(即L个分片数据库中实际存放数据表的一个数据库)执行相应的增、删、查、改等的操作。
需要说明的是,本实施方式中客户端请求可以由负载均衡器转发至分库服务器,从而在高并发场景下,较好地协调各分库服务器地处理任务。
值得一提的是,本实施方式中,分库数据库系统的路由方法还包括以下步骤:根据分库服务器中更新的对应关系的使用频率对分库服务器的本地缓存进行动态清理。由于各分库服务器本地缓存的存储能力有限,并且一个分库服务器本地缓存还要与其他分库服务器的计算结果同步,导致分库服务器中存储的数据量会快速增加,当本地缓存中的数据积累到一定程度时,将无法同步更新,因此,就需要对本地缓存中的数据进行及时清理,本实施方式中,根据本地缓存中数据的使用频率进行清理,本领域技术人员亦知晓其他本地缓存的清理策略,此处不再赘述。
本实施方式与现有技术相比,当未在分库服务器的本地缓存中命中来自客户端的操作请求的目标分片数据库时,根据操作请求解析出的查询条件进行计算,从而得到查询条件对应的目标分片数据库。本实施方式不仅能够对计算结果进行本地缓存,而且可以将计算结果同步更新至其他分库服务器,从而在高并发的情况下,相同的操作请求进行一次计算即可,大大减小了重复计算量,进而减少各分库服务器的任务量,从而有利于提高分库数据库系统的处理效率。
本发明的第二实施方式涉及一种分库数据库系统的路由方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:在第一实施方式中,各分库服务器之间直接进行查询条件和目标服务器的对应关系的同步更新,在第二实施方式中,利用集中式缓存服务器将请求和分片数据库的对应关系同步更新至其他分库服务器。
如图3所示,本实施方式中,步骤301至步骤307与第一实施方式中步骤201至步骤207对应相同,步骤309与第二实施方式步骤209对应相同。在步骤308中,在将对应关系同步更新至分库数据库系统中至少一未处理该操作请求的分库服务器的步骤之中,包括以下子步骤:
子步骤3080:各分库服务器将对应关系同步更新至集中式缓存服务器。
子步骤3081:将集中式缓存服务器更新的对应关系同步更新至分库数据库系统中至少一未处理该操作请求的分库服务器。
在子步骤3080中,各分库服务器可以实时地将对应关系保存至集中式缓存服务器,而在子步骤3081中,集中式缓存服务器发布关于对应关系的更新消息,分库数据库系统中未处理该操作请求的所有分库服务器在监听到集中式缓存服务器发布的更新消息时进行同步更新。由于本实施方式增加了集中式缓存服务器,从而可以方便地将各分库服务器中本地缓存中新增的对应关系同步更新至集中器缓存服务器,并由集中式缓存服务器负责将该对应关系同步至其他未处理该操作请求的分库服务器,从而将各分库服务器还需要实时与其他分库服务器之间进行数据同步的负担中解放出来,降低了各分库服务器数据同步的复杂度。
需要说明的是,本实施方式中,集中式缓存服务器中的数据(存储的对应关系)会不断增加,导致占用较多的磁盘空间,因此,本实施方式中还可以根据预设条件对集中式缓存服务器保存的对应关系进行清理。具体而言,可以采用以下预设条件,比如:达到预设清理周期或者达到预设的保存数据量。当预设条件为达到预设清理周期时,预设清理设置可以设置为1个月,这样,每个月会对集中式缓存服务器中的数据进行清理,当预设条件为达到预设的保存数据量时,预设数据量比如为500GB,这样可以避免集中式缓存服务器中的数据量过大。
本实施方式通过集中式缓存服务器对于各分库服务器的计算结果进行保存,然后再向其他分库服务器发布更新消息,而其他分库服务器则可以在较为空闲时对本地缓存进行更新,从而使得各分库服务器之间可以更加协调地进行工作。并且,由于增加了集中式缓存服务器,在整个分库数据库系统进行分库、分表扩展时,某个分库服务器中的分片数据库和分片字段之间的对应关系可能会发生变更,从而可以通过集中式缓存服务器将一个分库服务器中的变化同步至其他分库服务器。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种分库数据库系统,包括:L个分片数据库1和N个分库服务器2,L、N均为大于1的自然数。如图4、5所示,分库服务器2包括解析模块20、计算模块21、保存模块22、同步模块23、发送模块24和本地缓存25。
解析模块用于在分库服务器接收到来自客户端的操作请求时,解析得到操作请求携带的查询条件。计算模块用于在需要计算目标分片数据库时,本实施方式中,计算模块用于在该分库服务器未在本地缓存中命中目标分片数据库时,根据查询条件计算所述操作请求对应的目标分片数据库。保存模块用于将查询条件和计算模块计算出的目标分片数据库的对应关系保存至分库服务器的本地缓存25。同步模块用于将对应关系同步更新至分库数据库系统中至少一未处理该操作请求的分库服务器。本实施方式中,同步模块用于将对应关系同步更新至分库数据库系统中所有未处理该操作请求的分库服务器。发送模块用于将操作请求发送至目标分片数据库。
不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种分库数据库系统。第四实施方式与第三实施方式的基础大致相同,主要区别之处在于:在第三实施方式中,各分库服务器之间直接进行同步,在第四实施方式中,如图6所示,分库数据库系统还包括集中式缓存服务器3。各分库服务器2的同步模块用于将查询条件和目标分片数据库1的对应关系同步更新至集中式缓存服务器3,并将集中式缓存服务器3更新的对应关系同步更新至分库数据库系统中未处理该操作请求的所有分库服务器2。
由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
在实际应用中,如图7所示,分库服务器可以包含:处理器、存储器和收发器,存储器和收发器均连接于处理器。在分库服务器接收到来自客户端的操作请求时,处理器从操作请求中解析出查询条件,并访问存储器,判断存储器中是否存储有与查询条件对应的目标分片数据库,当在存储器中未查到与查询条件对应的目标分片数据库时,则处理器根据查询条件计算得到目标分片数据库,比如,处理器根据查询条件中的分片字段的传入值与分片策略计算得到目标分片数据库或者根据查询条件中的主键字段的传入值计算得到目标分片数据库,处理器通过收发器将操作请求发送至对应的目标分片数据库。同时,处理器将查询条件与计算得到的目标分片数据库的对应关系保存入存储器,并通过收发器将该对应关系发送至集中式缓存服务器,同时,处理器将该对应关系发送至集中式缓存服务器。集中式缓存服务器对该对应关系进行存储并向分库数据库系统中其他未处理该操作请求的分库服务器发布关于该存储事件的消息,监听到该存储事件的消息的分库服务器则从集中式缓存服务器中获取该对应关系,并将该对应关系存储在本地存储器中。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种分库数据库系统的路由方法,所述分库数据库系统包括:L个分片数据库和N个分库服务器,所述L、N均为大于1的自然数,其特征在于,包括:
所述各分库服务器在接收到来自客户端的操作请求时,解析得到所述操作请求携带的查询条件;
在需计算目标分片数据库时,根据所述查询条件计算所述操作请求对应的目标分片数据库;所述各分库服务器保存所述查询条件与目标分片数据库的对应关系,并将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器;
将所述操作请求发送至所述目标分片数据库。
2.根据权利要求1所述的分库数据库系统的路由方法,其特征在于,
在将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器中,将所述对应关系同步更新至所述分库数据库系统中未处理该操作请求的所有分库服务器。
3.根据权利要求1所述的分库数据库系统的路由方法,其特征在于,将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器,具体包括:
所述分库服务器将所述对应关系同步更新至集中式缓存服务器;
所述集中式缓存服务器将更新的所述对应关系,同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器。
4.根据权利要求3所述的分库数据库系统的路由方法,其特征在于,
所述集中式缓存服务器将更新的所述对应关系,同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器,具体包括:
所述集中式缓存服务器发布关于所述对应关系的更新消息;
所述分库数据库系统中至少一未处理该操作请求的分库服务器在监听到所述集中式缓存服务器发布的更新消息时进行同步更新。
5.根据权利要求1所述的分库数据库系统的路由方法,其特征在于,还包括:
在所述解析得到所述操作请求携带的查询条件后,根据所述查询条件在所述分库服务器的本地缓存中定位所述目标分片数据库;
如果根据所述查询条件未在所述本地缓存中命中所述目标分片数据库,则需计算目标分片数据库;
如果根据所述查询条件在所述本地缓存中命中所述目标分片数据库,则将所述操作请求发送至所述目标分片数据库。
6.根据权利要求1所述的分库数据库系统的路由方法,其特征在于,在根据所述查询条件计算所述操作请求对应的目标分片数据库前,还包括:
判断所述查询条件是否包括主键字段;
如果所述查询条件未包括主键字段,则根据所述查询条件中的分片路由的字段值以及所述分库服务器支持的分片策略计算得到所述目标分片数据库;
如果所述查询条件包括主键字段,则根据所述主键字段的传入值计算所述主键字段对应的目标分片数据库。
7.根据权利要求6所述的分库数据库系统的路由方法,其特征在于,
在根据所述主键字段的传入值计算所述主键字段对应的目标分片数据库后,还包括:
将所述主键字段和所述主键字段对应的目标分片数据库保存为键值对。
8.根据权利要求3所述的分库数据库系统的路由方法,其特征在于,在将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器后,还包括:
根据预设条件对所述集中式缓存服务器保存的对应关系进行清理;其中,所述预设条件包括:达到预设清理周期或者达到预设保存数据量。
9.一种分库数据库系统,包括:L个分片数据库和N个分库服务器,所述L、N均为大于1的自然数;其特征在于,所述分库服务器包括解析模块、计算模块、保存模块、同步模块和发送模块;
所述解析模块用于在接收到来自客户端的操作请求时,解析得到所述操作请求携带的查询条件;
所述计算模块用于在需要计算目标分片数据库时,根据所述查询条件计算所述操作请求对应的目标分片数据库;
所述保存模块用于将所述计算模块计算出的查询条件与目标分片数据库的对应关系保存至本分库服务器的本地缓存;
所述同步模块用于将所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器;
所述发送模块用于将所述操作请求发送至所述目标分片数据库。
10.根据权利要求9所述的分库数据库系统,其特征在于,所述分库数据库系统还包括集中式缓存服务器;
所述同步模块用于将所述对应关系同步更新至集中式缓存服务器,所述集中式缓存服务器将更新的所述对应关系同步更新至所述分库数据库系统中至少一未处理该操作请求的分库服务器。
CN201610342340.1A 2016-05-21 2016-05-21 一种分库数据库系统及其路由方法 Pending CN106055587A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610342340.1A CN106055587A (zh) 2016-05-21 2016-05-21 一种分库数据库系统及其路由方法
PCT/CN2016/104282 WO2017201970A1 (zh) 2016-05-21 2016-11-01 一种分库数据库系统及其路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610342340.1A CN106055587A (zh) 2016-05-21 2016-05-21 一种分库数据库系统及其路由方法

Publications (1)

Publication Number Publication Date
CN106055587A true CN106055587A (zh) 2016-10-26

Family

ID=57176512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610342340.1A Pending CN106055587A (zh) 2016-05-21 2016-05-21 一种分库数据库系统及其路由方法

Country Status (2)

Country Link
CN (1) CN106055587A (zh)
WO (1) WO2017201970A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017201970A1 (zh) * 2016-05-21 2017-11-30 乐视控股(北京)有限公司 一种分库数据库系统及其路由方法
CN107729370A (zh) * 2017-09-12 2018-02-23 上海艾融软件股份有限公司 微服务多数据源连接实现方法
CN107943832A (zh) * 2017-10-23 2018-04-20 中国联合网络通信集团有限公司 业务处理方法及装置
CN108874837A (zh) * 2017-05-16 2018-11-23 北京京东尚科信息技术有限公司 数据库分库方法、装置、中间件及存储介质和电子设备
CN109254880A (zh) * 2017-07-12 2019-01-22 苏宁云商集团股份有限公司 一种处理数据库宕机的方法及装置
CN109460409A (zh) * 2018-11-01 2019-03-12 泰康保险集团股份有限公司 数据访问方法和装置
CN109669951A (zh) * 2018-11-09 2019-04-23 金蝶软件(中国)有限公司 对象查询方法、装置、计算机设备和存储介质
CN110324403A (zh) * 2019-05-23 2019-10-11 平安科技(深圳)有限公司 动态分库路由方法、装置、服务器及存储介质
CN110457342A (zh) * 2019-07-02 2019-11-15 网联清算有限公司 交易处理方法及装置
CN110851474A (zh) * 2018-07-26 2020-02-28 深圳市优必选科技有限公司 数据查询方法、数据库中间件、数据查询设备及存储介质
CN110955664A (zh) * 2019-12-03 2020-04-03 中国建设银行股份有限公司 分库分表消息路由方法及装置
CN111131040A (zh) * 2019-11-29 2020-05-08 京东数字科技控股有限公司 路由的配置方法、装置及系统、存储介质、电子装置
CN111597160A (zh) * 2020-04-21 2020-08-28 中国人民财产保险股份有限公司 分布式数据库系统、分布式数据处理方法和装置
CN111782549A (zh) * 2020-07-31 2020-10-16 北京字节跳动网络技术有限公司 测试方法、装置和电子设备
CN112231501A (zh) * 2020-10-20 2021-01-15 浙江大华技术股份有限公司 人像库的数据存储、检索方法及装置、存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711572B (zh) * 2019-10-25 2024-04-05 北京沃东天骏信息技术有限公司 适用于分库分表的在线扩容方法和装置
CN111309810B (zh) * 2020-02-20 2022-11-18 苏宁云计算有限公司 基于小样本key值的分库分表方法及系统
CN113760968A (zh) * 2020-09-24 2021-12-07 北京沃东天骏信息技术有限公司 数据查询方法、装置、系统、电子设备及存储介质
CN113760978A (zh) * 2020-10-27 2021-12-07 北京沃东天骏信息技术有限公司 一种数据容灾方法和装置
CN113204535B (zh) * 2021-05-20 2024-02-02 中国工商银行股份有限公司 路由方法及装置、电子设备和计算机可读存储介质
CN113590609A (zh) * 2021-06-22 2021-11-02 北京旷视科技有限公司 数据分库方法及装置、存储介质及电子设备
CN113486023A (zh) * 2021-07-27 2021-10-08 中国银行股份有限公司 数据库分库分表的方法及装置
CN113645304B (zh) * 2021-08-13 2023-06-16 恒生电子股份有限公司 数据服务处理方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281330A (zh) * 2011-08-03 2011-12-14 深圳市科迪特信息技术有限公司 用于saas平台的数据存储、通讯访问及控制的方法
US20120209873A1 (en) * 2011-02-16 2012-08-16 International Business Machines Corporation Set-level comparisons in dynamically formed groups
CN103096126A (zh) * 2012-12-28 2013-05-08 中国科学院计算技术研究所 协作式缓存集群中面向视频点播服务的协作式缓存方法及系统
CN103207919A (zh) * 2013-04-26 2013-07-17 北京亿赞普网络技术有限公司 一种MongoDB集群快速查询计算的方法及装置
CN103473229A (zh) * 2012-06-06 2013-12-25 深圳市世纪光速信息技术有限公司 一种内存检索系统和方法、以及实时检索系统和方法
CN103714097A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 一种访问数据库的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702614B1 (en) * 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
US8626709B2 (en) * 2008-09-26 2014-01-07 Codefutures Corporation Scalable relational database replication
CN103853718B (zh) * 2012-11-28 2018-05-08 北京京东尚科信息技术有限公司 分片数据库访问方法及数据库系统
CN106055587A (zh) * 2016-05-21 2016-10-26 乐视控股(北京)有限公司 一种分库数据库系统及其路由方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120209873A1 (en) * 2011-02-16 2012-08-16 International Business Machines Corporation Set-level comparisons in dynamically formed groups
CN102281330A (zh) * 2011-08-03 2011-12-14 深圳市科迪特信息技术有限公司 用于saas平台的数据存储、通讯访问及控制的方法
CN103473229A (zh) * 2012-06-06 2013-12-25 深圳市世纪光速信息技术有限公司 一种内存检索系统和方法、以及实时检索系统和方法
CN103714097A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 一种访问数据库的方法和装置
CN103096126A (zh) * 2012-12-28 2013-05-08 中国科学院计算技术研究所 协作式缓存集群中面向视频点播服务的协作式缓存方法及系统
CN103207919A (zh) * 2013-04-26 2013-07-17 北京亿赞普网络技术有限公司 一种MongoDB集群快速查询计算的方法及装置

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017201970A1 (zh) * 2016-05-21 2017-11-30 乐视控股(北京)有限公司 一种分库数据库系统及其路由方法
CN108874837A (zh) * 2017-05-16 2018-11-23 北京京东尚科信息技术有限公司 数据库分库方法、装置、中间件及存储介质和电子设备
CN109254880B (zh) * 2017-07-12 2022-07-19 苏宁易购集团股份有限公司 一种处理数据库宕机的方法及装置
CN109254880A (zh) * 2017-07-12 2019-01-22 苏宁云商集团股份有限公司 一种处理数据库宕机的方法及装置
CN107729370A (zh) * 2017-09-12 2018-02-23 上海艾融软件股份有限公司 微服务多数据源连接实现方法
CN107943832A (zh) * 2017-10-23 2018-04-20 中国联合网络通信集团有限公司 业务处理方法及装置
CN110851474A (zh) * 2018-07-26 2020-02-28 深圳市优必选科技有限公司 数据查询方法、数据库中间件、数据查询设备及存储介质
CN109460409A (zh) * 2018-11-01 2019-03-12 泰康保险集团股份有限公司 数据访问方法和装置
CN109669951A (zh) * 2018-11-09 2019-04-23 金蝶软件(中国)有限公司 对象查询方法、装置、计算机设备和存储介质
CN110324403A (zh) * 2019-05-23 2019-10-11 平安科技(深圳)有限公司 动态分库路由方法、装置、服务器及存储介质
CN110457342A (zh) * 2019-07-02 2019-11-15 网联清算有限公司 交易处理方法及装置
CN110457342B (zh) * 2019-07-02 2023-01-06 网联清算有限公司 交易处理方法及装置
CN111131040A (zh) * 2019-11-29 2020-05-08 京东数字科技控股有限公司 路由的配置方法、装置及系统、存储介质、电子装置
CN110955664A (zh) * 2019-12-03 2020-04-03 中国建设银行股份有限公司 分库分表消息路由方法及装置
CN111597160A (zh) * 2020-04-21 2020-08-28 中国人民财产保险股份有限公司 分布式数据库系统、分布式数据处理方法和装置
CN111782549A (zh) * 2020-07-31 2020-10-16 北京字节跳动网络技术有限公司 测试方法、装置和电子设备
CN111782549B (zh) * 2020-07-31 2024-06-21 北京字节跳动网络技术有限公司 测试方法、装置和电子设备
CN112231501A (zh) * 2020-10-20 2021-01-15 浙江大华技术股份有限公司 人像库的数据存储、检索方法及装置、存储介质

Also Published As

Publication number Publication date
WO2017201970A1 (zh) 2017-11-30

Similar Documents

Publication Publication Date Title
CN106055587A (zh) 一种分库数据库系统及其路由方法
CN102638584B (zh) 数据分布缓存方法及系统
CN103905572B (zh) 域名解析请求的处理方法及装置
CN105045871B (zh) 数据聚合查询方法及装置
CN109040337B (zh) 一种信息查询方法、边缘服务器及信息查询系统
CN106708917B (zh) 一种数据处理方法、装置以及olap系统
CN105095313B (zh) 一种数据访问方法和设备
WO2007115477A1 (fr) Procédé et système de synchronisation de données
CN105138679B (zh) 一种基于分布式缓存的数据处理系统及处理方法
CN104866339B (zh) Fota数据的分布式持久化管理方法、系统和装置
CN106708826A (zh) 数据处理及查询方法、装置
CN102054000A (zh) 数据查询方法、装置及系统
CN103051478B (zh) 一种大容量电信网管系统及其设置和应用方法
CN106775498A (zh) 一种缓存数据同步方法及系统
CN106940696B (zh) 一种用于sdn多层控制器的信息查询方法及系统
CN108833610A (zh) 一种信息更新方法、装置及系统
CN115221186A (zh) 一种数据查询方法、系统、装置及电子设备
CN105787124A (zh) 应用于数据库的数据处理方法、装置及数据存储系统
CN106603610A (zh) 一种数据获取方法及装置
CN106815318A (zh) 一种时序数据库的集群化方法及系统
CN109522294A (zh) 一种分布式数据缓存系统和数据缓存方法
CN103577424B (zh) 分布式数据库视图的实现方法及系统
CN115809146A (zh) 定时任务的执行方法及其装置、电子设备
Kurcewicz et al. A distributed WWW cache
CN105868045A (zh) 一种数据缓存方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161026

WD01 Invention patent application deemed withdrawn after publication