CN108829709A - 分布式数据库管理方法、装置、存储介质和处理器 - Google Patents

分布式数据库管理方法、装置、存储介质和处理器 Download PDF

Info

Publication number
CN108829709A
CN108829709A CN201810414433.XA CN201810414433A CN108829709A CN 108829709 A CN108829709 A CN 108829709A CN 201810414433 A CN201810414433 A CN 201810414433A CN 108829709 A CN108829709 A CN 108829709A
Authority
CN
China
Prior art keywords
request
management
management node
node
nodes
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
CN201810414433.XA
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.)
Beijing Kingsoft Security Management System Technology Co ltd
Original Assignee
Guangzhou Jinshan Safety Management System Technology 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 Guangzhou Jinshan Safety Management System Technology Co Ltd filed Critical Guangzhou Jinshan Safety Management System Technology Co Ltd
Priority to CN201810414433.XA priority Critical patent/CN108829709A/zh
Publication of CN108829709A publication Critical patent/CN108829709A/zh
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

本发明公开了一种分布式数据库管理方法、装置、存储介质和处理器。其中,该方法包括:接收到请求,其中,请求用于对分布式数据库中存储的数据进行处理;为请求生成全局唯一的标识信息;将标识信息同步到所有的管理节点,其中,管理节点为多个,管理节点用于对分布式数据库进行管理。本发明解决了现有管理模式管理效率低的技术问题。

Description

分布式数据库管理方法、装置、存储介质和处理器
技术领域
本发明涉及数据库领域,具体而言,涉及一种分布式数据库管理方法、装置、存储介质和处理器。
背景技术
随着数据量越来越大,关系型数据库开始暴露出一些难以克服的缺点,而非关系型数据库因其高可扩展性、高并发性等优势出现了快速发展,其中非关系型数据库中最具有代表性的数据库为分布式数据库。
目前,分布式数据库的管理模式是由一个管理节点管理分布式数据库,依据该管理节点处理请求、分配请求、处理突发情况。
但是,通过一个管理节点管理分布式数据库的方式,管理效率较低,容错率也较低,对管理效果影响较大。并且,如果管理节点出现了故障,则会导致整个数据库瘫痪。
针对上述的采用一个管理节点管理分布式数据库的方式,而导致数据库管理效率低、容错率低,以及数据库管理易瘫痪的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种分布式数据库管理方法、装置、存储介质和处理器,以至少解决现有管理模式管理效率低的技术问题。
根据本发明实施例的一个方面,提供了一种分布式数据库管理方法,包括:接收到请求,其中,所述请求用于对分布式数据库中存储的数据进行处理;为所述请求生成全局唯一的标识信息;将所述标识信息同步到所有的管理节点,其中,所述管理节点为多个,所述管理节点用于对所述分布式数据库进行管理。
进一步地,在将所述标识信息同步到所述所有的管理节点之后,所述方法还包括:从所述所有的管理节点中选择用于处理所述请求的节点,其中,选择出的管理节点用于对所述请求对应的分布式数据库中涉及到的内容进行锁定,并在锁定之后对所述请求进行处理,所述锁定用于指示所述所有的管理节点除所述选择出的管理节点之外的其他节点禁止处理所述请求以及所述请求对应的内容。
进一步地,从所述所有的管理节点中选择用于处理所述请求的节点包括:查询所述所有的管理节点中每个所述管理节点当前的工作负载;选择所述所有的管理节点中所述工作负载最少的管理节点作为用于处理所述请求的节点。
进一步地,从所述所有的管理节点中选择用于处理所述请求的节点包括:获取所述所有的管理节点中每个所述管理节点的优先级,其中,所述优先级用于指示所述管理节点处理请求的优先等级;选择所述所有的管理节点中所述优先级最高的管理节点作为用于处理所述请求的节点。
进一步地,为所述请求生成全局唯一的标识信息包括:通过全局事件管理器为所述请求生成所述全局唯一的标识信息,其中,所述全局事件管理器用于管理已经生成的标识信息。
进一步地,所述方法还包括:在所述多个管理节点之间选举出主管理节点,其中,所述主管理节点用于管理所述多个管理节点中的其他管理节点;在所述主管理节点失效之后,从所述其他管理节点中再选举出新的主管理节点。
进一步地,所述方法还包括:在所述多个管理节点之后相互发送心跳消息,其中,所述心跳消息用于指示发送该心跳消息的管理节点是否状态正常。
根据本发明实施例的另一方面,还提供了一种分布式数据库管理装置,包括:接收模块,用于接收到请求,其中,所述请求用于对分布式数据库中存储的数据进行处理;生成模块,用于为所述请求生成全局唯一的标识信息;同步模块,用于将所述标识信息同步到所有的管理节点,其中,所述管理节点为多个,所述管理节点用于对所述分布式数据库进行管理。
进一步地,所述装置还包括:选择模块,用于从所述所有的管理节点中选择用于处理所述请求的节点,其中,选择出的管理节点用于对所述请求对应的分布式数据库中涉及到的内容进行锁定,并在锁定之后对所述请求进行处理,所述锁定用于指示所述所有的管理节点除所述选择出的管理节点之外的其他节点禁止处理所述请求以及所述请求对应的内容。
进一步地,所述选择模块包括:查询单元,用于查询所述所有的管理节点中每个所述管理节点当前的工作负载;选择单元,用于选择所述所有的管理节点中所述工作负载最少的管理节点作为用于处理所述请求的节点。
进一步地,所述生成模块包括:生成单元,用于通过全局事件管理器为所述请求生成所述全局唯一的标识信息,其中,所述全局事件管理器用于管理已经生成的标识信息。
根据本发明实施例的另一个方面,还提供给了一种存储介质,所述存储介质上保存有程序,所述程序被运行时执行上所述的方法。
根据本发明实施例的另一个方面,还提供给了一种处理器,所述程序被运行时执行上述的方法。
在本发明实施例中,接收用户发送的请求,而请求内容可以是请求对数据库中储存的数据进行处理,为接收的请求生成全局唯一的标识信息,将该标识信息同步到所有的管理节点上。分布式数据库由多个管理节点进行管理,在接收到大量请求的情况下,多个管理节点能够分散处理接收到的请求,避免了由单个管理节点对分布式数据库进行管理时同时处理大量请求会导致延时处理较为严重的现象发生,提高了分布式数据库的管理效率。进一步,由多个管理节点对分布式数据库进行管理,多个管理节点在对数据库进行管理或者处理请求时可以相互进行协调,例如,同一个请求可以由两个或两个以上的管理节点共同处理,从而可以避免单个管理节点对数据库进行管理或者处理请求时可能出现错误的现象,从而提高了分布式数据库的容错率。
此外,由多个管理节点对分布式数据库进行管理,当其中有管理节点出现故障时,其他管理节点可以继续处理故障节点上待处理的任务,避免了分布式数据库的管理系统的瘫痪。同时,为接收的请求生成全局唯一的标识信息,进而使得所有的管理节点针对同一个请求具有相同的标识信息。进而达到管理节点在相互协调同一个请求时,可以直接使用该请求对应的标识信息进行通信协调,使数据库管理系统更高效;以及由于且每个标识信息是全局唯一的,即不会出现多个请求具有相同的标识信息,进而避免了因管理节点识别请求而出现失误的状况,使数据库管理系统失误率降低。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种分布式数据库管理方法的流程图;
图2是根据本发明实施例的一种分布式数据库管理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种分布式数据库管理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的分布式数据库管理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收到请求,其中,请求用于对分布式数据库中存储的数据进行处理;
步骤S104,为请求生成全局唯一的标识信息;
步骤S106,将标识信息同步到所有的管理节点,其中,管理节点为多个,管理节点用于对分布式数据库进行管理。
通过上述步骤,接收用户发送的请求,而请求内容可以是请求对数据库中储存的数据进行处理,为接收的请求生成全局唯一的标识信息,将该标识信息同步到所有的管理节点上。分布式数据库由多个管理节点进行管理,在接收到大量请求的情况下,多个管理节点能够分散处理接收到的请求,避免了由单个管理节点对分布式数据库进行管理时同时处理大量请求会导致延时处理较为严重的现象发生,提高了分布式数据库的管理效率。进一步,由多个管理节点对分布式数据库进行管理,多个管理节点在对数据库进行管理或者处理请求时可以相互进行协调,例如,同一个请求可以由两个或两个以上的管理节点共同处理,从而可以避免单个管理节点对数据库进行管理或者处理请求时可能出现错误的现象,从而提高了分布式数据库的容错率。
此外,由多个管理节点对分布式数据库进行管理,当其中有管理节点出现故障时,其他管理节点可以继续处理故障节点上待处理的任务,避免了分布式数据库的管理系统的瘫痪。同时,为接收的请求生成全局唯一的标识信息,进而使得所有的管理节点针对同一个请求具有相同的标识信息。进而达到管理节点在相互协调同一个请求时,可以直接使用该请求对应的标识信息进行通信协调,使数据库管理系统更高效;以及由于且每个标识信息是全局唯一的,即不会出现多个请求具有相同的标识信息,进而避免了因管理节点识别请求而出现失误的状况,使数据库管理系统失误率降低。
在步骤S102提供的方案中,请求可以是用户发送的请求,也可以是其他服务器发送的请求。请求内容可以是对分布式数据库中储存的数据进行读取,也可以是对分布式数据库的数据进行修改、删除、写入等操作。
在步骤S104提供的方案中,标识可以用十进制的数字(便于用户识别)标识,也可以用字母、二进制的数字(便于机器识别)等标识,在一般情况下,管理节点非常容易识别该标识,即该标识比原请求的识别效率高,使得分布式数据库管理更具有高效性和简洁性,降低了分布式数据库管理系统的失误率。
在步骤S106提供的方案中,每个管理节点都可以管理分布式数据库分散在各地的数据。其中管理节点在相互协调如何处理某个请求时,可以直接使用表示该请求的全局唯一的标识信息,即当管理节点A、B、C、D在处理某个请求时,该请求全局唯一的标识信息为S0001,管理节点A、B、C、D可以直接相互询问协商由哪个管理节点处理全局唯一的标识信息为S0001的请求,此时管理节点A、B、C、D之间的协商效率大大增加,也便于管理节点对请求进行统计处理,使得分布式数据库管理具有高效性和简洁性,并且解决了现有管理模式效率低、易出错的技术问题,以及由现有管理模式而导致数据库管理易瘫痪的技术问题,实现了管理系统更高效、更简洁、容错率更高,以及避免了数据库管理瘫痪的技术效果。
作为一种可选的实施例,在将标识信息同步到所有的管理节点之后,还可以但不限于包括:从所有的管理节点中选择用于处理请求的节点,其中,选择出的管理节点用于对请求对应的分布式数据库中涉及到的内容进行锁定,并在锁定之后对请求进行处理,锁定用于指示所有的管理节点除选择出的管理节点之外的其他节点禁止处理请求以及请求对应的内容。
采用本发明上述实施例,通过接收某请求,并为该请求生成标识信息,且同步到所有的管理节点上,在从所有管理节点中选择一个管理节点去处理该请求,在选择出处理该请求的管理节点之后,直接锁定数据库中该请求所涉及到的内容,其中锁定的内容仅允许处理该请求的管理节点进行处理,最后,处理该请求的管理节点对数据库进行操作,完成该请求的要求。达到了防止多个管理节点同时处理该请求,而导致协调机制出现问题的技术效果,同时也提高分布式数据库管理系统的高效性和简洁性。
其中,锁定的作用就是为了防止在选择出处理该请求的管理节点的情况下,其他管理节点再次处理该请求,而导致的同一个请求被处理多次,进而使得协调机制出现问题,降低分布式管理系统的高效性和简洁性。
作为一个可选的示例,存在A、B、C、D四个管理节点,这四个管理节点都可以对分布式数据库的数据进行管理,首先,当用户发送请求,其中该请求为读取分布式数据库中用户消费的相关数据,接着,对该请求产生全局唯一的标识信息S0002,然后,管理节点A、B、C、D同时接收到全局唯一的标识信息S0002,以及由全局唯一的标识信息S0002表示的请求,最后,管理节点A、B、C、D进行协调,选择出一个管理节点处理该命令,即处理由S0002表示的读取分布式数据库中有关用户消费数据的请求,例如选择管理节点A,当选择出管理节点A后,管理节点A立即对分布式数据库中所有的有关用户消费数据进行锁定,防止出现管理节点B、C、D在上述情况下,依旧对数据库中有关用户消费数据进行读取处理的情况,即,防止在选择出由管理节点A处理全局唯一的标识信息为S0002的请求时,管理节点B、C、D也同时处理全局唯一的标识信息为S0002的请求的情况。在管理节点A锁定相关内容,达到防止其他管理节点同时处理该标识的命令的目的之后,管理节点A再继续处理该全局唯一的标识信息的请求。
作为一种可选的实施例,可以但不限于采用以下方式之一选择用于处理请求的节点:
方式一,查询所有的管理节点中每个管理节点当前的工作负载;选择所有的管理节点中工作负载最少的管理节点作为用于处理请求的节点。
采用上述方式一选择用于处理请求的节点,通过查询所有的管理节点的当前的工作负载状态,依据所查询到的每个管理节点当前的工作负载状态选择最为合适的管理节点,其中选择标准可以是工作负载最少的管理节点作为处理请求的管理节点,使得当前工作量较小的管理节点处理该请求,进而使该请求尽快被处理,达到优化分布式数据库管理,使得分布式数据库管理具有高效性和简洁性。
作为一个可选的示例,获取所有管理节点的当前的工作负载状态,其中管理节点A、B、C、D的工作负载状态分别是满载、满载、轻载、超载,此时则可以选择管理节点C作为用于处理请求的管理节点。
方式二,获取所述所有的管理节点中每个所述管理节点的优先级,其中,所述优先级用于指示所述管理节点处理请求的优先等级;选择所述所有的管理节点中所述优先级最高的管理节点作为用于处理所述请求的节点。
采用上述方式二选择用于处理请求的节点,通过获取所有管理节点的优先级,确定所有管理节点处理该请求的优先等级,即在处理该请求的情况下,确定哪些管理节点是较为优质的选择对象,便于根据管理的优先等级选择所有管理节点中优先级最高的管理节点,作为处理请求的管理节点。
通过一系列步骤,选择出较为合适的管理节点去处理请求,进而达到高效处理该请求的目的。
作为一个可选的示例,管理节点包括:管理节点A、管理节点B、管理节点C,其中当处理的请求为删除数据类别时,上述三个管理节点的优先级顺序为管理节点A、管理节点B、管理节点C;当处理的请求为添加数据类别时,上述三个管理节点的优先级顺序为管理节点C、管理节点B、管理节点A;当处理的请求为修改数据类别时,上述管理节点的优先级顺序为管理节点B、管理节点A(管理节点C)。因此,当管理节点收到某请求时,且该请求为修改数据的请求,依据管理节点的优先级顺序,则选择管理节点B处理该请求。
作为一个可选的示例,在选择最为合适的管理节点时,可以预先拟定选择管理节点的标准,依据该标准去选择执行某项请求的管理节点,其中该标准可以是统一标准,例如,选择当前工作负载状况最小的管理节点;另外,该标准也可以是多个类别标准,其中多个类别标准可以是针对不同类别请求所预设的不同标准,其中不同类别请求可以是提取请求、删除请求、添加请求等,例如,存在管理节点A、B、C,当处理的请求类别为提取请求时,选择管理节点A;当处理的请求类别为删除请求时,选择管理节点B;当处理的请求为添加请求时,选择管理节点C。
其中上述统一标准和多个类别标准可以相结合使用,例如,存在A1、A2、B1、B2四组管理节点,其中当命令为修改数据时,优先选择A1、A2管理节点,在选择A1、A2管理节点之后,再依据A1、A2管理节点的当前负载状况选择具体处理该命令的管理节点。
作为一种可选的实施例,为请求生成全局唯一的标识信息可以但不限于包括:通过全局事件管理器为请求生成全局唯一的标识信息,其中,全局事件管理器用于管理已经生成的标识信息。
采用本发明上述实施例,通过使用全局事件管理器,将接收到的请求生成全局唯一的标识信息,其中识别标识可以是十进制数字、二进制数字、字母、符号,也可以是上述列举情况的组合,并对该标识信息进行后续管理,即将所有请求以及该请求对应的标识信息记录下来,便于以后接收新的请求时,为新请求生成全局唯一的标识信息,防止生成的标识信息是曾经的请求所对应的标识信息,即防止生成使用过的标识信息,进而达到标识信息的唯一性,保证分布式数据库管理系统的内部通信协调,避免因标识信息而导致的失误。
作为一种可选的示例,全局事件管理器还可以记录管理节点处理该请求的进度以及完成每一个步骤的时间。
通过设置全局事件管理器,对接收到的所有请求生成全局唯一的识别信息,并对该识别信息进行后续管理,达到对所有请求有调度有记录的协调处理,进而减少了分布式数据库管理的出错率。
作为一种可选的实施例,在多个管理节点协调管理分布式数据库时,可以但不限于在多个管理节点之间选举出主管理节点,其中,主管理节点用于管理多个管理节点中的其他管理节点;在主管理节点失效之后,从其他管理节点中再选举出新的主管理节点。
采用本发明上述实施例,通过在管理节点中选举出一个主管理节点,使该主管理节点管理其他管理节点,即主管理节点管理其他管理节点如何相互协调处理请求,即主管理节点管理其他管理节点处理哪些请求、如何处理、处理失误后如何解决等,使得分布式数据库管理系统可以高效地协调各个管理节点的工作,减少管理节点工作失误,以及减少管理节点工作繁琐复杂。其中上述实施例还包括一种情况,即主管理节点失效,在主管理节点失效后,其他管理节点将再次选举出新的主管理节点,新的主管理节点将继续执行之前失效的主管理节点的工作,使得分布式数据库管理系统可以持续稳定的工作。
作为一种可选的示例,在选择较为合适的主管理节点时,可以预先拟定选择主管理节点的标准,依据该标准去选择主管理节点,其中该标准可以是统一标准,例如,选择当前工作负载状况最小的管理节点,也可以是多个类别标准,例如,在分布式数据管理系统工作高峰期,选择管理节点A,在分布式数据管理系统工作低峰期,选择管理节点B。上述两种选择主管理节点的标准可以结合使用,例如,在分布式数据管理系统工作高峰期,选择A类型的管理节点中当前工作负载状况最小的管理节点。
作为一种可选的示例,存在管理节点A、B、C、D,以上四个管理节点选举出当前工作负载最小的管理节点作为主管理节点,即选举出管理节点A作为主管理节点,管理节点A负责管理其他管理节点,即当请求和该请求的唯一标识同步到所有管理节点之后,主管理节点依据请求,选择处理该请求的管理节点,即S0004请求同步到所有管理节点之后,管理节点A依据请求内容选择管理节点B去处理S0004请求,即管理节点A向管理节点B发送信息,其中信息为命令管理节点B处理S0004请求。
作为一种可选的示例,在上述可选的示例的情况下,如果管理节点A无法正常工作了,即主管理节点失效了,则可以在其他正常工作的管理节点B、C、D将继续选举出新的主管理节点,依据选举标准,选举出新的管理节点,例如选举出管理节点B,管理节点B将接收管理节点A的工作,继续管理其他管理节点。
作为一种可选的实施例,在多个管理节点协调管理分布式数据库时,可以但不限于在多个管理节点之后相互发送心跳消息,其中,心跳消息用于指示发送该心跳消息的管理节点是否状态正常。
采用本发明上述实施例,管理节点定期会给其他管理节点发送心跳反应,即定期给其他管理节点发送状态通知,便于管理节点之间相互了解其他管理节点的状况,避免了以下情况发生,当管理节点发生故障时,其中该管理节点被选中处理S0005表示的请求,而其他管理节点以及全局事件管理器无法了解到该管理节点发生故障无法处理S0005表示的请求,此时可能出现有S0005表示的请求无法完成。
作为一种可选的示例,当管理节点发生故障时,无法发送心跳反应,而其他管理节点无法接收到管理节点发送的心跳反应时,主管理节点将不再选择该管理节点处理任何标识信息表示的请求。
作为一种可选的示例,当主管理节点选择某管理节点处理S0006表示的请求,但该管理节点后续并未给其他管理节点发送心跳反应时,主管理节点不仅不再选择该管理节点处理任何标识信息表示的请求,还会选择其他管理节点处理S0006表示的请求,即当管理节点被选择处理某个标识表示的请求,但该管理节点出现故障,主管理节点无法判断该标识表示的请求是否完成,或达到什么样的进度时,主管理节点直接重新选择新的管理节点处理该标识表示的请求,并在该管理节点重新发送心跳反应之前,不再选择该管理节点处理任何请求。
根据本发明的另一方面,本发明实施例还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述分布式数据库管理方法。
根据本发明的另一方面,本发明实施例还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述分布式数据库管理方法。
图2是根据本发明实施例的一种可选的分布式数据库管理装置的示意图,如图2所示,该装置可以包括:接收模块22、生成模块24和同步模块26。
其中,接收模块22,用于接收到请求,其中,请求用于对分布式数据库中存储的数据进行处理;生成模块24,用于为请求生成全局唯一的标识信息;同步模块26,用于将标识信息同步到所有的管理节点,其中,管理节点为多个,管理节点用于对分布式数据库进行管理。
需要说明的是,该实施例中的接收模块22可以用于执行本申请实施例中的步骤S102,该实施例中的生成模块24可以用于执行本申请实施例中的步骤S104,该实施例中的同步模块26可以用于执行本申请实施例中的步骤S106。上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。
通过上述装置,接收用户发送的请求,而请求内容可以是请求对数据库中储存的数据进行处理,为接收的请求生成全局唯一的标识信息,将该标识信息同步到所有的管理节点上。分布式数据库由多个管理节点进行管理,在接收到大量请求的情况下,多个管理节点能够分散处理接收到的请求,避免了由单个管理节点对分布式数据库进行管理时同时处理大量请求会导致延时处理较为严重的现象发生,提高了分布式数据库的管理效率。进一步,由多个管理节点对分布式数据库进行管理,多个管理节点在对数据库进行管理或者处理请求时可以相互进行协调,例如,同一个请求可以由两个或两个以上的管理节点共同处理,从而可以避免单个管理节点对数据库进行管理或者处理请求时可能出现错误的现象,从而提高了分布式数据库的容错率。
此外,由多个管理节点对分布式数据库进行管理,当其中有管理节点出现故障时,其他管理节点可以继续处理故障节点上待处理的任务,避免了分布式数据库的管理系统的瘫痪。同时,为接收的请求生成全局唯一的标识信息,进而使得所有的管理节点针对同一个请求具有相同的标识信息。进而达到管理节点在相互协调同一个请求时,可以直接使用该请求对应的标识信息进行通信协调,使数据库管理系统更高效;以及由于且每个标识信息是全局唯一的,即不会出现多个请求具有相同的标识信息,进而避免了因管理节点识别请求而出现失误的状况,使数据库管理系统失误率降低。
可选地,在本实施例中,请求可以是用户发送的请求,也可以是其他服务器发送的请求。请求内容可以是对分布式数据库中储存的数据进行读取,也可以是对分布式数据库的数据进行修改、删除、写入等操作。
可选地,在本实施例中,标识可以用十进制的数字(便于用户识别)标识,也可以用字母、二进制的数字(便于机器识别)等标识,在一般情况下,管理节点非常容易识别该标识,即该标识比原请求的识别效率高,使得分布式数据库管理更具有高效性和简洁性,降低了分布式数据库管理系统的失误率。
可选地,在本实施例中,每个管理节点都可以管理分布式数据库分散在各地的数据。其中管理节点在相互协调如何处理某个请求时,可以直接使用表示该请求的全局唯一的标识信息,即当管理节点A、B、C、D在处理某个请求时,该请求全局唯一的标识信息为S0001,管理节点A、B、C、D可以直接相互询问协商由哪个管理节点处理全局唯一的标识信息为S0001的请求,此时管理节点A、B、C、D之间的协商效率大大增加,也便于管理节点对请求进行统计处理,使得分布式数据库管理具有高效性和简洁性,并且解决了现有管理模式效率低、易出错的技术问题,以及由现有管理模式而导致数据库管理易瘫痪的技术问题,实现了管理系统更高效、更简洁、容错率更高,以及避免了数据库管理瘫痪的技术效果。
作为一种可选的实施例,上述装置还包括:选择模块,用于从所有的管理节点中选择用于处理请求的节点,其中,选择出的管理节点用于对请求对应的分布式数据库中涉及到的内容进行锁定,并在锁定之后对请求进行处理,锁定用于指示所有的管理节点除选择出的管理节点之外的其他节点禁止处理请求以及请求对应的内容。
采用本发明上述实施例,通过接收某请求,并为该请求生成标识信息,且同步到所有的管理节点上,在从所有管理节点中选择一个管理节点去处理该请求,在选择出处理该请求的管理节点之后,直接锁定数据库中该请求所涉及到的内容,其中锁定的内容仅允许处理该请求的管理节点进行处理,最后,处理该请求的管理节点对数据库进行操作,完成该请求的要求。达到了防止多个管理节点同时处理该请求,而导致协调机制出现问题的技术效果,同时也提高分布式数据库管理系统的高效性和简洁性。
其中,锁定的作用就是为了防止在选择出处理该请求的管理节点的情况下,其他管理节点再次处理该请求,而导致的同一个请求被处理多次,进而使得协调机制出现问题,降低分布式管理系统的高效性和简洁性。
作为一个可选的示例,存在A、B、C、D四个管理节点,这四个管理节点都可以对分布式数据库的数据进行管理,首先,当用户发送请求,其中该请求为读取分布式数据库中用户消费的相关数据,接着,对该请求产生全局唯一的标识信息S0002,然后,管理节点A、B、C、D同时接收到全局唯一的标识信息S0002,以及由全局唯一的标识信息S0002表示的请求,最后,管理节点A、B、C、D进行协调,选择出一个管理节点处理该命令,即处理由S0002表示的读取分布式数据库中有关用户消费数据的请求,例如选择管理节点A,当选择出管理节点A后,管理节点A立即对分布式数据库中所有的有关用户消费数据进行锁定,防止出现管理节点B、C、D在上述情况下,依旧对数据库中有关用户消费数据进行读取处理的情况,即,防止在选择出由管理节点A处理全局唯一的标识信息为S0002的请求时,管理节点B、C、D也同时处理全局唯一的标识信息为S0002的请求的情况。在管理节点A锁定相关内容,达到防止其他管理节点同时处理该标识的命令的目的之后,管理节点A再继续处理该全局唯一的标识信息的请求。
作为一种可选的实施例,选择模块包括:查询单元,用于查询所有的管理节点中每个管理节点当前的工作负载;选择单元,用于选择所有的管理节点中工作负载最少的管理节点作为用于处理请求的节点。
可选地,通过查询所有的管理节点的当前的工作负载状态,依据所查询到的每个管理节点当前的工作负载状态选择最为合适的管理节点,其中选择标准可以是工作负载最少的管理节点作为处理请求的管理节点,使得当前工作量较小的管理节点处理该请求,进而使该请求尽快被处理,达到优化分布式数据库管理,使得分布式数据库管理具有高效性和简洁性。
作为一个可选的示例,获取所有管理节点的当前的工作负载状态,其中管理节点A、B、C、D的工作负载状态分别是满载、满载、轻载、超载,此时则可以选择管理节点C作为用于处理请求的管理节点。
可选地,上述选择模块还可以用于:获取所有的管理节点中每个管理节点的优先级,其中,优先级用于指示管理节点处理请求的优先等级;选择所有的管理节点中优先级最高的管理节点作为用于处理请求的节点。
采用上述方式二选择用于处理请求的节点,通过获取所有管理节点的优先级,确定所有管理节点处理该请求的优先等级,即在处理该请求的情况下,确定哪些管理节点是较为优质的选择对象,便于根据管理的优先等级选择所有管理节点中优先级最高的管理节点,作为处理请求的管理节点。
通过一系列装置,选择出较为合适的管理节点去处理请求,进而达到高效处理该请求的目的。
作为一个可选的示例,管理节点包括:管理节点A、管理节点B、管理节点C,其中当处理的请求为删除数据类别时,上述三个管理节点的优先级顺序为管理节点A、管理节点B、管理节点C;当处理的请求为添加数据类别时,上述三个管理节点的优先级顺序为管理节点C、管理节点B、管理节点A;当处理的请求为修改数据类别时,上述管理节点的优先级顺序为管理节点B、管理节点A(管理节点C)。因此,当管理节点收到某请求时,且该请求为修改数据的请求,依据管理节点的优先级顺序,则选择管理节点B处理该请求。
作为一个可选的示例,在选择最为合适的管理节点时,可以预先拟定选择管理节点的标准,依据该标准去选择执行某项请求的管理节点,其中该标准可以是统一标准,例如,选择当前工作负载状况最小的管理节点;另外,该标准也可以是多个类别标准,其中多个类别标准可以是针对不同类别请求所预设的不同标准,其中不同类别请求可以是提取请求、删除请求、添加请求等,例如,存在管理节点A、B、C,当处理的请求类别为提取请求时,选择管理节点A;当处理的请求类别为删除请求时,选择管理节点B;当处理的请求为添加请求时,选择管理节点C。
其中上述统一标准和多个类别标准可以相结合使用,例如,存在A1、A2、B1、B2四组管理节点,其中当命令为修改数据时,优先选择A1、A2管理节点,在选择A1、A2管理节点之后,再依据A1、A2管理节点的当前负载状况选择具体处理该命令的管理节点。
作为一种可选的实施例,生成模块包括:生成单元,用于通过全局事件管理器为请求生成全局唯一的标识信息,其中,全局事件管理器用于管理已经生成的标识信息。
采用本发明上述实施例,通过使用全局事件管理器,将接收到的请求生成全局唯一的标识信息,其中识别标识可以是十进制数字、二进制数字、字母、符号,也可以是上述列举情况的组合,并对该标识信息进行后续管理,即将所有请求以及该请求对应的标识信息记录下来,便于以后接收新的请求时,为新请求生成全局唯一的标识信息,防止生成的标识信息是曾经的请求所对应的标识信息,即防止生成使用过的标识信息,进而达到标识信息的唯一性,保证分布式数据库管理系统的内部通信协调,避免因标识信息而导致的失误。
作为一种可选的示例,全局事件管理器还可以记录管理节点处理该请求的进度以及完成每一个步骤的时间。
通过设置全局事件管理器,对接收到的所有请求生成全局唯一的识别信息,并对该识别信息进行后续管理,达到对所有请求有调度有记录的协调处理,进而减少了分布式数据库管理的出错率。
可选地,上述装置还包括:第一选举模块,用于在多个管理节点之间选举出主管理节点,其中,主管理节点用于管理多个管理节点中的其他管理节点;第二选举模块,用于在主管理节点失效之后,从其他管理节点中再选举出新的主管理节点。
采用本发明上述实施例,通过在管理节点中选举出一个主管理节点,使该主管理节点管理其他管理节点,即主管理节点管理其他管理节点如何相互协调处理请求,即主管理节点管理其他管理节点处理哪些请求、如何处理、处理失误后如何解决等,使得分布式数据库管理系统可以高效地协调各个管理节点的工作,减少管理节点工作失误,以及减少管理节点工作繁琐复杂。其中上述实施例还包括一种情况,即主管理节点失效,在主管理节点失效后,其他管理节点将再次选举出新的主管理节点,新的主管理节点将继续执行之前失效的主管理节点的工作,使得分布式数据库管理系统可以持续稳定的工作。
作为一种可选的示例,在选择较为合适的主管理节点时,可以预先拟定选择主管理节点的标准,依据该标准去选择主管理节点,其中该标准可以是统一标准,例如,选择当前工作负载状况最小的管理节点,也可以是多个类别标准,例如,在分布式数据管理系统工作高峰期,选择管理节点A,在分布式数据管理系统工作低峰期,选择管理节点B。上述两种选择主管理节点的标准可以结合使用,例如,在分布式数据管理系统工作高峰期,选择A类型的管理节点中当前工作负载状况最小的管理节点。
作为一种可选的示例,存在管理节点A、B、C、D,以上四个管理节点选举出当前工作负载最小的管理节点作为主管理节点,即选举出管理节点A作为主管理节点,管理节点A负责管理其他管理节点,即当请求和该请求的唯一标识同步到所有管理节点之后,主管理节点依据请求,选择处理该请求的管理节点,即S0004请求同步到所有管理节点之后,管理节点A依据请求内容选择管理节点B去处理S0004请求,即管理节点A向管理节点B发送信息,其中信息为命令管理节点B处理S0004请求。
作为一种可选的示例,在上述可选的示例的情况下,如果管理节点A无法正常工作了,即主管理节点失效了,则可以在其他正常工作的管理节点B、C、D将继续选举出新的主管理节点,依据选举标准,选举出新的管理节点,例如选举出管理节点B,管理节点B将接收管理节点A的工作,继续管理其他管理节点。
可选地,上述装置还包括:发送模块,用于在多个管理节点之后相互发送心跳消息,其中,心跳消息用于指示发送该心跳消息的管理节点是否状态正常。
采用本发明上述实施例,管理节点定期会给其他管理节点发送心跳反应,即定期给其他管理节点发送状态通知,便于管理节点之间相互了解其他管理节点的状况,避免了以下情况发生,当管理节点发生故障时,其中该管理节点被选中处理S0005表示的请求,而其他管理节点以及全局事件管理器无法了解到该管理节点发生故障无法处理S0005表示的请求,此时可能出现有S0005表示的请求无法完成。
作为一种可选的示例,当管理节点发生故障时,无法发送心跳反应,而其他管理节点无法接收到管理节点发送的心跳反应时,主管理节点将不再选择该管理节点处理任何标识信息表示的请求。
作为一种可选的示例,当主管理节点选择某管理节点处理S0006表示的请求,但该管理节点后续并未给其他管理节点发送心跳反应时,主管理节点不仅不再选择该管理节点处理任何标识信息表示的请求,还会选择其他管理节点处理S0006表示的请求,即当管理节点被选择处理某个标识表示的请求,但该管理节点出现故障,主管理节点无法判断该标识表示的请求是否完成,或达到什么样的进度时,主管理节点直接重新选择新的管理节点处理该标识表示的请求,并在该管理节点重新发送心跳反应之前,不再选择该管理节点处理任何请求。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种分布式数据库管理方法,其特征在于,包括:
接收到请求,其中,所述请求用于对分布式数据库中存储的数据进行处理;
为所述请求生成全局唯一的标识信息;
将所述标识信息同步到所有的管理节点,其中,所述管理节点为多个,所述管理节点用于对所述分布式数据库进行管理。
2.根据权利要求1所述的方法,其特征在于,在将所述标识信息同步到所述所有的管理节点之后,所述方法还包括:
从所述所有的管理节点中选择用于处理所述请求的节点,其中,选择出的管理节点用于对所述请求对应的分布式数据库中涉及到的内容进行锁定,并在锁定之后对所述请求进行处理,所述锁定用于指示所述所有的管理节点除所述选择出的管理节点之外的其他节点禁止处理所述请求以及所述请求对应的内容。
3.根据权利要求2所述的方法,其特征在于,从所述所有的管理节点中选择用于处理所述请求的节点包括:
查询所述所有的管理节点中每个所述管理节点当前的工作负载;
选择所述所有的管理节点中所述工作负载最少的管理节点作为用于处理所述请求的节点。
4.根据权利要求1至3中任一项所述的方法,其特征在于,为所述请求生成全局唯一的标识信息包括:
通过全局事件管理器为所述请求生成所述全局唯一的标识信息,其中,所述全局事件管理器用于管理已经生成的标识信息。
5.一种分布式数据库管理装置,其特征在于,包括:
接收模块,用于接收到请求,其中,所述请求用于对分布式数据库中存储的数据进行处理;
生成模块,用于为所述请求生成全局唯一的标识信息;
同步模块,用于将所述标识信息同步到所有的管理节点,其中,所述管理节点为多个,所述管理节点用于对所述分布式数据库进行管理。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
选择模块,用于从所述所有的管理节点中选择用于处理所述请求的节点,其中,选择出的管理节点用于对所述请求对应的分布式数据库中涉及到的内容进行锁定,并在锁定之后对所述请求进行处理,所述锁定用于指示所述所有的管理节点除所述选择出的管理节点之外的其他节点禁止处理所述请求以及所述请求对应的内容。
7.根据权利要求6所述的装置,其特征在于,所述选择模块包括:
查询单元,用于查询所述所有的管理节点中每个所述管理节点当前的工作负载;
选择单元,用于选择所述所有的管理节点中所述工作负载最少的管理节点作为用于处理所述请求的节点。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述生成模块包括:
生成单元,用于通过全局事件管理器为所述请求生成所述全局唯一的标识信息,其中,所述全局事件管理器用于管理已经生成的标识信息。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的方法。
CN201810414433.XA 2018-05-03 2018-05-03 分布式数据库管理方法、装置、存储介质和处理器 Pending CN108829709A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810414433.XA CN108829709A (zh) 2018-05-03 2018-05-03 分布式数据库管理方法、装置、存储介质和处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810414433.XA CN108829709A (zh) 2018-05-03 2018-05-03 分布式数据库管理方法、装置、存储介质和处理器

Publications (1)

Publication Number Publication Date
CN108829709A true CN108829709A (zh) 2018-11-16

Family

ID=64148107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810414433.XA Pending CN108829709A (zh) 2018-05-03 2018-05-03 分布式数据库管理方法、装置、存储介质和处理器

Country Status (1)

Country Link
CN (1) CN108829709A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597923A (zh) * 2019-09-29 2019-12-20 腾讯云计算(北京)有限责任公司 区块链资源管理方法、装置及存储介质
CN112367189A (zh) * 2020-10-21 2021-02-12 深圳前海微众银行股份有限公司 一种分布式节点管理方法、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523251A (zh) * 2011-11-25 2012-06-27 北京开拓天际科技有限公司 对海量数据处理的云存储架构及应用该架构的云存储平台
CN102831156A (zh) * 2012-06-29 2012-12-19 浙江大学 一种云计算平台上的分布式事务处理方法
CN104753994A (zh) * 2013-12-27 2015-07-01 杭州海康威视系统技术有限公司 基于集群服务器系统的数据同步方法及其装置
CN106936899A (zh) * 2017-02-25 2017-07-07 九次方大数据信息集团有限公司 分布式统计分析系统的配置方法及分布式统计分析系统
CN107104992A (zh) * 2016-02-19 2017-08-29 杭州海康威视数字技术股份有限公司 一种视频云存储的存储资源分配方法和装置
CN107341051A (zh) * 2016-05-03 2017-11-10 北京京东尚科信息技术有限公司 集群任务协调方法、系统和装置
CN107766129A (zh) * 2016-08-17 2018-03-06 北京金山云网络技术有限公司 一种任务处理方法、装置及系统
CN107818009A (zh) * 2017-10-17 2018-03-20 北京人大金仓信息技术股份有限公司 一种基于分布式事务的代理处理的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523251A (zh) * 2011-11-25 2012-06-27 北京开拓天际科技有限公司 对海量数据处理的云存储架构及应用该架构的云存储平台
CN102831156A (zh) * 2012-06-29 2012-12-19 浙江大学 一种云计算平台上的分布式事务处理方法
CN104753994A (zh) * 2013-12-27 2015-07-01 杭州海康威视系统技术有限公司 基于集群服务器系统的数据同步方法及其装置
CN107104992A (zh) * 2016-02-19 2017-08-29 杭州海康威视数字技术股份有限公司 一种视频云存储的存储资源分配方法和装置
CN107341051A (zh) * 2016-05-03 2017-11-10 北京京东尚科信息技术有限公司 集群任务协调方法、系统和装置
CN107766129A (zh) * 2016-08-17 2018-03-06 北京金山云网络技术有限公司 一种任务处理方法、装置及系统
CN106936899A (zh) * 2017-02-25 2017-07-07 九次方大数据信息集团有限公司 分布式统计分析系统的配置方法及分布式统计分析系统
CN107818009A (zh) * 2017-10-17 2018-03-20 北京人大金仓信息技术股份有限公司 一种基于分布式事务的代理处理的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
用户1225216: "《https://cloud.tencent.com/developer/article/1050369》", 5 March 2018 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597923A (zh) * 2019-09-29 2019-12-20 腾讯云计算(北京)有限责任公司 区块链资源管理方法、装置及存储介质
CN110597923B (zh) * 2019-09-29 2024-02-02 腾讯云计算(北京)有限责任公司 区块链资源管理方法、装置及存储介质
CN112367189A (zh) * 2020-10-21 2021-02-12 深圳前海微众银行股份有限公司 一种分布式节点管理方法、设备及存储介质
CN112367189B (zh) * 2020-10-21 2023-05-12 深圳前海微众银行股份有限公司 一种分布式节点管理方法、设备及存储介质

Similar Documents

Publication Publication Date Title
US11758006B2 (en) Provisioning multiple network resources
EP3221795B1 (en) Service addressing in distributed environment
CN104753994B (zh) 基于集群服务器系统的数据同步方法及其装置
CN109783229A (zh) 线程资源分配的方法及装置
CN106936899B (zh) 分布式统计分析系统的配置方法及分布式统计分析系统
CN108881512B (zh) Ctdb的虚拟ip均衡分配方法、装置、设备及介质
CN106407244A (zh) 基于多数据库的数据查询方法、系统和装置
CN106648903A (zh) 调用分布式文件系统的方法和装置
CN107277086A (zh) 业务处理系统、业务处理方法以及业务更新方法
CN102891768A (zh) 网络管理的方法和网元
CN110912972A (zh) 一种业务处理方法、系统、电子设备及可读存储介质
CN103888424B (zh) 集群式数据加密系统及其数据处理方法
CN108829709A (zh) 分布式数据库管理方法、装置、存储介质和处理器
CN114448983A (zh) 基于ZooKeeper的分布式数据交换方法
CN101778131A (zh) 数据同步系统
CN103905512B (zh) 一种数据处理方法和设备
CN108156061A (zh) esb监控服务平台
US10693731B2 (en) Flow entry management method and device
US10680974B2 (en) Method and device for monitoring data processing status
CN112019452A (zh) 一种业务需求的处理方法、系统及相关装置
CN110471968A (zh) Etl任务的发布方法、装置、设备及存储介质
CN111008095A (zh) 一种面向边缘云的状态快照生成和恢复方法
CN106776076B (zh) 一种实现MongoDB事务管理的方法及系统
CN105099939A (zh) 在不同数据中心之间执行流量控制的方法和设备
CN105812203B (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: 20190319

Address after: Room A-0003, 2nd floor, 3rd building, 30 Shixing Street, Shijingshan District, Beijing

Applicant after: BEIJING KINGSOFT SECURITY MANAGEMENT SYSTEM TECHNOLOGY Co.,Ltd.

Address before: 510280 Building 901, C1, Guangzhou Information Port, 16 Keyun Road, Tianhe District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU JINSHAN SAFETY MANAGEMENT SYSTEM TECHNOLOGY Co.,Ltd.

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

Application publication date: 20181116

RJ01 Rejection of invention patent application after publication