发明内容
鉴于上述问题,本发明的实施例提出了一种链接配置的调整方法及相应的装置,以克服上述问题或者至少部分地解决上述问题。
依据本发明的一个方面,提供了一种链接配置的调整方法,用于调整客户端与数据库集群之间的链接配置,所述方法包括:每隔预定时间获取所述数据库集群的第一数据节点信息;比较所述第一数据节点信息与客户端本地存储的所述数据库集群的第二数据节点信息,以得到比较结果;以及,根据所述比较结果调整所述链接配置。
可选地,所述根据所述比较结果调整所述链接配置的步骤进一步包括:当所述比较结果显示所述第一数据节点信息与所述第二数据节点信息不同时,依据所述第一数据节点信息调整所述链接配置。
可选地,所述每隔预定时间获取所述数据库集群的第一数据节点信息的步骤进一步包括:每隔所述预定时间利用isMaster命令获取所述数据库集群的信息;以及,从获取的所述数据库集群的信息中提取所述第一数据节点信息。
可选地,获取的所述数据库集群的信息包括以下至少之一:所述集群的投票节点信息、所述集群的主库信息、所述集群的从库信息。
可选地,所述方法还包括:每隔预定时间获取所述数据库集群的第一数据节点信息之前,根据所述客户端相关的属性信息确定所述预定时间,其中,所述属性信息包括运行速度、内存容量、处理器性能至少之一。
可选地,当存在以下状况至少之一,所述比较结果显示所述第一数据节点信息与所述第二数据节点信息不同:所述数据库集群的数据节点减少;所述数据库集群的数据节点增加;所述数据库集群的数据节点被替换。
可选地,所述第一数据节点信息包括以下至少之一:所述数据库集群中数据节点的IP地址信息;所述数据库集群中数据节点的端口信息;所述数据库集群中数据节点中存储的业务信息,其中,所述业务信息为与所述数据库集群存在链接关系的客户端运行所使用的业务信息。
可选地,所述数据库集群为mongodb集群。
依据本发明的另一方面,还提供了一种链接配置的调整装置,用于调整客户端与数据库集群之间的链接配置,所述装置包括:获取模块,适于每隔预定时间获取数据库集群的第一数据节点信息;对比模块,适于比较所述第一数据节点信息与客户端本地存储的所述数据库集群的第二数据节点信息,以得到比较结果;调整模块,适于根据所述比较结果调整所述链接配置。
可选地,所述调整模块还适于:当所述比较结果显示所述第一数据节点信息与所述第二数据节点信息不同时,依据所述第一数据节点信息调整所述链接配置。
可选地,所述获取模块还适于:每隔所述预定时间利用isMaster命令获取所述数据库集群的信息;从获取的所述数据库集群的信息中提取所述第一数据节点信息。
可选地,获取的所述数据库集群的信息包括以下至少之一:
所述集群的投票节点信息、所述集群的主库信息、所述集群的从库信息。
可选地,所述装置还包括:确定模块,适于在每隔预定时间获取所述数据库集群的第一数据节点信息之前,根据所述客户端相关的属性信息确定所述预定时间,其中,所述属性信息包括运行速度、内存容量、处理器性能至少之一。
可选地,当存在以下状况至少之一,所述比较结果显示所述第一数据节点信息与所述第二数据节点信息存在不同:所述数据库集群的数据节点减少;所述数据库集群的数据节点增加;所述数据库集群的数据节点被替换。
可选地,所述第一数据节点信息包括以下至少之一:所述数据库集群中数据节点的IP地址信息;所述数据库集群中数据节点的端口信息;所述数据库集群中数据节点中存储的业务信息,其中,所述业务信息为与所述数据库集群存在链接关系的客户端运行所使用的业务信息。
可选地,所述数据库集群为mongodb集群。
依据本发明实施例的链接配置的调整方法,能够每隔预定时间获取数据库集群的第一数据节点信息,比较第一数据节点信息与客户端本地存储的数据库集群的第二数据节点信息,以得到比较结果,并根据比较结果调整链接配置。现有技术中,当数据库集群的第一数据节点信息发生更改,需要人工干预,以通知客户端第一数据节点信息的更改,可能存在通知不及时的问题,而本发明实施例的链接配置的调整方法能够每隔预定时间自动获取第一数据节点信息,并通过比对确定第一数据节点信息是否发生更改。因此,依据本发明实施例的链接配置的调整方法能够及时调整客户端一侧的数据节点信息,保证客户端能够利用最新的数据节点信息从数据库集群处获取运行所需要的数据,提升客户端运行效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为解决上述技术问题,本发明实施例提供了一种链接配置的调整方法,用于调整客户端(也可以称为应用程序)与数据库集群之间的链接配置。图1示出了根据本发明一个实施例的对于客户端与数据库集群之间的链接配置的调整方法的流程示意图。请参见图1,本发明实施例至少包括如下步骤:
步骤S102:每隔预定时间获取数据库集群的第一数据节点信息;
步骤S104:比较第一数据节点信息与客户端本地存储的数据库集群的第二数据节点信息,以得到比较结果;以及
步骤S106:根据比较结果调整链接配置。
依据本发明实施例的链接配置的调整方法,能够每隔预定时间获取数据库集群的第一数据节点信息,比较第一数据节点信息与客户端本地存储的数据库集群的第二数据节点信息,以得到比较结果,并根据比较结果调整链接配置。现有技术中,当数据库集群的第一数据节点信息发生更改,需要人工干预,以通知客户端第一数据节点信息的更改,可能存在通知不及时的问题,而本发明实施例的链接配置的调整方法能够每隔预定时间自动获取第一数据节点信息,并通过比对确定第一数据节点信息是否发生更改。因此,依据本发明实施例的链接配置的调整方法能够及时调整客户端一侧的数据节点信息,保证客户端能够利用最新的数据节点信息从数据库集群处获取运行所需要的数据,提升客户端运行效率。
上文提及,本发明实施例中,对于每个客户端,每隔预定时间获取与该客户端连接的数据库集群的第一数据节点信息。实际操作中,存在不同客户端属性信息之间的差异。例如,不同客户端对应的业务不同、不同客户端与数据库集群之间进行数据传输的频率不同。再例如,不同客户端相关的运行速度、内存容量、处理器性能也存在差异。为更加合理地利用数据传输资源,本发明实施例中,根据不同客户端之间属性信息的差异设置不同的预定时间获取数据库集群的第一数据节点信息。
现以一个实施例对设置不同客户端的预定时间,以获取数据库集群的第一数据节点信息的过程进行说明。
图2示出了根据本发明一个实施例的数据库集群C与客户端A以及客户端B分别连接的示意图。请参考图2,数据库集群C通过其中的数据节点与客户端A、客户端B相连接。假设客户端A与数据库集群C之间的数据传输频率较大,为每分钟1次,而客户端B与数据库集群C之间的数据传输频率较小,为每小时1次。图3示出了根据本发明一个实施例的时间轴的示意图。请参考图3,假设客户端A与客户端B均在T1时间获取了数据库集群C的第一数据节点信息,并均在T1时间与数据库集群C进行了一次数据传输操作。假设客户端A与客户端B获取数据库集群C的第一数据节点信息相隔的预定时间均为10分钟,则会存在以下状况:
(1)对于客户端A:
客户端A在T1时间获取了数据库集群C的数据节点信息并存储在本地。30秒钟之后,数据库集群C的数据节点信息发生更改(即图3中示出的T2时间),距离客户端A下一次获取数据库集群C的数据节点信息剩余9.5分钟。根据预设的信息,客户端A在T3(即距离T1一分钟处的时间点)与数据库集群C进行数据传输操作,而客户端A在T4(距离T1十分钟处的时间点)才能够再次获取数据库集群C的数据节点信息,以获知数据库集群C的数据节点信息存在更改。因此,T3时客户端A已无法与数据库集群C进行数据传输(本地数据节点信息与当前数据库集群C不匹配),客户端A运行失败。
由以上分析可知,对于客户端A,设置的预定时间(10分钟)过长,客户端A未能够及时发现数据库集群C数据节点信息的更改,导致客户端A运行失败。参见图3可知,对于客户端A,若获取数据节点信息间隔的预定时间小于1分钟,能够保证客户端A在与数据库集群C进行数据传输操作之前及时获取到更改后的数据节点信息,并利用更改后的数据节点信息更新本地的数据节点信息,保证客户端A正常运行。
(2)对于客户端B:
客户端B在T1时间获取了数据库集群C的数据节点信息并存储在本地(称为第二数据节点信息)。T2时间数据库集群C的数据节点信息发生更改,客户端B可以在T4时间再次获取数据库集群C的数据节点信息(称为第一数据节点信息),并利用获取的该更改的数据节点信息(第一数据节点信息)更新客户端A本地存储的第二数据节点信息。根据预设的信息,客户端B与数据库集群C进行下一次数据传输操作的时间为T8(距离T1一小时的时间点),而在时间点T4以及时间点T8之间,数据库集群C的数据节点信息分别在T5、T6、T7发生更改,对应地,客户端B在每隔预定时间后获取到更改后的数据节点信息,并根据更改后的数据节点信息对本地存储的第二数据节点信息进行了3次更改,并在T8时利用T8之前最后一次(T7处)更改的数据节点信息与数据库集群C进行数据传输操作。即,客户端B在T8与数据库集群C进行数据传输操作所利用的数据节点信息为数据库集群C在T7时更改的数据节点信息。
由以上分析可知,对于客户端B,设置的预定时间(10分钟)过短,导致客户端B执行多次冗余的数据节点信息更新操作,浪费网络和/或内存资源。参见图3可知,对于客户端B,获取新的数据节点信息间隔的预定时间大于10分钟并小于1小时,能够保证客户端B及时获取数据库集群C更改的数据节点信息并减少冗余的更新操作。
需要说明的是,上文仅根据不同客户端与数据库集群进行数据传输的频率对设置预定时间的过程进行介绍,不能够代表实际操作中设置预定时间的过程。
对于与数据库集群连接的任一客户端,对预定时间设置完成之后,每隔预定时间获取与其连接的数据库集群的第一数据节点信息(图1所示的步骤S102)。具体地,图4示出了根据本发明一个实施例的获取数据库集群的第一数据节点信息的处理流程图。请参考图4,该流程至少包括如下步骤:
步骤S402:每隔预定时间利用isMaster命令获取数据库集群的信息;
具体地,isMaster命令为对数据库集群的管理命令,通过该命令能够查看数据库集群中各个节点的信息。例如,根据isMaster命令至少可以查看以下信息:
数据库集群的投票节点信息;
数据库集群的主从库信息;
数据库集群的中的数据节点信息,包括数据库集群中当前使用的数据节点信息、数据库集群中失效的数据节点信息、数据库集群中被更改的数据节点信息等等。
步骤S404:从获取的数据库集群的信息中提取数据节点信息(称为第一数据节点信息)。
提取到数据库集群的第一数据节点信息之后,比较第一数据节点信息与本地存储的数据库集群的数据节点信息(称为第二数据节点信息),以得到比较结果,并根据比较结果调整链接配置。具体地,当比较结果显示第一数据节点信息与第二数据节点信息不同时,依据第一数据节点信息调整链接配置。
例如,得到的第一数据节点信息为:
失效的数据节点:2033、2034
替换的数据节点:3306、3307
当前使用的数据节点:2035、2036、3306、3307。
本地存储的数据库集群的第二数据节点信息为:
当前使用节点:2022、2033、2034、3306、3307。
其中,2033等数字为各个节点的标识号码,本发明实施例中利用该标识号码区分各个数据节点以更加清楚地介绍本发明实施例,各个数据节点的标识号码不能够对实际操作中的数据节点信息和/或对数据节点的使用造成任何限定。
对比第一数据节点信息以及第二数据节点信息可知得到如下比较结果:
(1)数据节点2202被删除;
(2)数据节点2033、2034已失效;
(3)数据节点3306、3307被替换;
(4)新增数据节点2035、2036。
由比较结果可知,第一数据节点信息与第二数据节点信息不同,因此,依据第一数据节点信息调整链接配置。例如,针对以上实施例,调整链接配置如下:删除数据节点2202,利用替换后的数据节点3306、3307的信息更新本地已失效的数据节点3306、3307的信息,停止利用数据节点2033、2034,以及增加数据节点2035、2036。
另外,本发明实施例提供的链接配置的调整方法适用于Mongodb集群,即本发明实施例中的数据库集群为Mongodb集群。Mongodb是目前网络技术(Internet Technology,以下简称IT)行业常用的一种非关系型数据库。在Mongodb中,所有的数据可以通过直接调用的方式实现软件系统中数据库或者持久层的基本操作功能(如增加操作、读取操作、更新操作、删除操作等),并且Mongodb中每一条记录都是一个文件对象,很好地实现了面向对象思想。将本发明实施例提供的链接配置的调整方法应用于Mongodb数据库集群中,能够在利用Mongodb数据库集群对数据执行高效操作的基础上,进一步提高对Mongodb数据库集群中的数据进行处理操作的便捷性。
基于上文各实施例提供的链接配置的调整方法,基于同一发明构思,本发明实施例提供了一种链接配置的调整装置,用于调整客户端与数据库集群之间的链接配置。图5示出了根据本发明一个实施例的链接配置的调整装置的结构示意图。参见图5,本发明实施例的链接配置的调整装置至少包括获取模块510、对比模块520以及调整模块530。
现介绍本发明实施例的链接配置的调整装置的各器件或组成的功能以及各部分间的连接关系:
获取模块510:适于每隔预定时间获取数据库集群的第一数据节点信息;
对比模块520:与获取模块510相耦合,适于比较第一数据节点信息与客户端本地存储的数据库集群的第二数据节点信息,以得到比较结果;
调整模块530,与对比模块520相耦合,适于根据比较结果调整链接配置。
在另一个实施例中,调整模块530还适于:
当比较结果显示第一数据节点信息与第二数据节点信息不同时,依据第一数据节点信息调整所述链接配置。
在另一个的实施例中,获取模块510还适于:
每隔预定时间利用isMaster命令获取数据库集群信息;
从获取的数据库集群的信息中提取第一数据节点信息。
在另一个实施例中,获取的所述数据库集群的信息包括以下至少之一:
集群的投票节点信息、集群的主库信息、集群的从库信息。
图6示出了根据本发明另一个实施例的链接配置的调整装置的结构示意图。请一并参考图5及图6,相对于图5所示的装置,本例中的链接配置的调整装置还包括:
确定模块540,与获取模块510相耦合,适于在每隔预定时间获取数据库集群的第一数据节点信息之前,根据客户端相关的属性信息确定预定时间,其中,属性信息包括运行速度、内存容量、处理器性能至少之一。
在另一个的实施例中,存在以下状况至少之一,比较结果显示第一数据节点信息与第二数据节点信息存在不同:
数据库集群的数据节点减少;数据库集群的数据节点增加;数据库集群的数据节点被替换。
在另一个的实施例中,第一数据节点信息包括以下至少之一:数据库集群中数据节点的IP地址信息;数据库集群中数据节点的端口信息;数据库集群中数据节点中存储的业务信息,其中,业务信息为与数据库集群存在链接关系的各客户端运行所使用的业务信息。
在另一个的实施例中,数据库集群为mongodb数据库集群。
根据上述任意一个实施例或多个实施例的组合,本发明实施例能够达到如下有益效果:
依据本发明实施例的链接配置的调整方法,能够每隔预定时间获取数据库集群的第一数据节点信息,比较第一数据节点信息与本地存储的数据库集群的第二数据节点信息,以得到比较结果,并根据比较结果调整链接配置。现有技术中,当数据库集群的第一数据节点信息发生更改,需要人工干预,以通知客户端第一数据节点信息的更改,可能存在通知不及时的问题,而本发明实施例的链接配置的调整方法能够每隔预定时间自动获取第一数据节点信息,并通过比对确定第一数据节点信息是否发生更改。因此,依据本发明实施例的链接配置的调整方法能够及时调整客户端一侧的数据节点信息,保证客户端能够利用最新的数据节点信息从数据库集群处获取运行所需要的数据,提升客户端运行效率。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置或者设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
本发明还公开了A1.一种链接配置的调整方法,用于调整客户端与数据库集群之间的链接配置,所述方法包括:
每隔预定时间获取所述数据库集群的第一数据节点信息;
比较所述第一数据节点信息与客户端本地存储的所述数据库集群的第二数据节点信息,以得到比较结果;以及
根据所述比较结果调整所述链接配置。
A2.根据A1所述的方法,其中,所述根据所述比较结果调整所述链接配置的步骤进一步包括:
当所述比较结果显示所述第一数据节点信息与所述第二数据节点信息不同时,依据所述第一数据节点信息调整所述链接配置。
A3.根据A1-A2中任一项所述的方法,其中,所述每隔预定时间获取所述数据库集群的第一数据节点信息的步骤进一步包括:
每隔所述预定时间利用isMaster命令获取所述数据库集群的信息;以及
从获取的所述数据库集群的信息中提取所述第一数据节点信息。
A4.根据A1-A3中任一项所述的方法,其中,获取的所述数据库集群的信息包括以下至少之一:
所述集群的投票节点信息、所述集群的主库信息、所述集群的从库信息。
A5.根据A1-A4中任一项所述的方法,其中,所述方法还包括:
每隔预定时间获取所述数据库集群的第一数据节点信息之前,根据所述客户端相关的属性信息确定所述预定时间,其中,所述属性信息包括运行速度、内存容量、处理器性能至少之一。
A6.根据A2所述的方法,其中,当存在以下状况至少之一,所述比较结果显示所述第一数据节点信息与所述第二数据节点信息不同:
所述数据库集群的数据节点减少;
所述数据库集群的数据节点增加;
所述数据库集群的数据节点被替换。
A7.根据A1-A6中任一项所述的方法,其中,所述第一数据节点信息包括以下至少之一:
所述数据库集群中数据节点的IP地址信息;
所述数据库集群中数据节点的端口信息;
所述数据库集群中数据节点中存储的业务信息,其中,所述业务信息为与所述数据库集群存在链接关系的客户端运行所使用的业务信息。
A8.根据A1-A7中任一项所述的方法,其中,所述数据库集群为mongodb集群。
本发明还公开了B9.一种链接配置的调整装置,用于调整客户端与数据库集群之间的链接配置,所述装置包括:
获取模块,适于每隔预定时间获取数据库集群的第一数据节点信息;
对比模块,适于比较所述第一数据节点信息与客户端本地存储的所述数据库集群的第二数据节点信息,以得到比较结果;
调整模块,适于根据所述比较结果调整所述链接配置。
B10.根据B9所述的装置,其中,所述调整模块还适于:
当所述比较结果显示所述第一数据节点信息与所述第二数据节点信息不同时,依据所述第一数据节点信息调整所述链接配置。
B11.根据B9-B10中任一项所述的装置,其中,所述获取模块还适于:
每隔所述预定时间利用isMaster命令获取所述数据库集群的信息;以及
从获取的所述数据库集群的信息中提取所述第一数据节点信息。
B12.根据B9-B11中任一项所述的装置,其中,获取的所述数据库集群的信息包括以下至少之一:
所述集群的投票节点信息、所述集群的主库信息、所述集群的从库信息。
B13.根据B9-B12中任一项所述的装置,其中,所述装置还包括:
确定模块,适于在每隔预定时间获取所述数据库集群的第一数据节点信息之前,根据所述客户端相关的属性信息确定所述预定时间,其中,所述属性信息包括运行速度、内存容量、处理器性能至少之一。
B14.根据B10所述的装置,其中,当存在以下状况至少之一,所述比较结果显示所述第一数据节点信息与所述第二数据节点信息存在不同:
所述数据库集群的数据节点减少;
所述数据库集群的数据节点增加;
所述数据库集群的数据节点被替换。
B15.根据B9-B14中任一项所述的装置,其中,所述第一数据节点信息包括以下至少之一:
所述数据库集群中数据节点的IP地址信息;
所述数据库集群中数据节点的端口信息;
所述数据库集群中数据节点中存储的业务信息,其中,所述业务信息为与所述数据库集群存在链接关系的客户端运行所使用的业务信息。
B16.根据B9-B15中任一项所述的装置,其中,所述数据库集群为mongodb集群。