数据库处理方法、装置及系统的制作方法

文档序号:9810524阅读:1173来源:国知局
数据库处理方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种数据库处理方法、装置及系统。
【背景技术】
[0002]如今,随着网上业务的增加,所要存储的数据也在大量增加,比如,电子相册、电子购物、电子词典等等都需要存储数据,这对数据库就提出了很大的挑战。当业务量增长到超越单个数据库容量时,就需要使用多个数据库;或者,根据业务需要建立并使用多个不同的数据库,这样就出现某一应用系统使用多数据库集群的情况。对于上述多数据库集群的情况,在每一次请求处理该应用系统的数据库时,如图1所示,应用系统A向应用系统B发起处理请求Rl时,会根据负载均衡、容量平均分布或者集群可用性等因素进行决策,以得到所要使用的数据库(例如,DB02)。
[0003]然而,由于数据库系统通常提供的是单个数据库服务器上进行唯一性约束校验,其中,唯一性约束校验指的是保证在一个字段或者一组字段里或一个数据库中的数据与表中其它行或数据库中其他数据相比是唯一的。因而,当动态地选择不同数据库时,则无法直接利用数据库的唯一约束对数据进行幂等校验,其中,幂等校验,以函数为例,指的是被自己重复运算的结果仍等于它自己的函数,在数据库处理过程中指的就是对于重复的请求应处理相同的数据库。如图2所示,当处理请求为R2时,其中,R2 = R1,处理的数据库却由DB02变成了 DB03,而使得幂等校验失败,从而导致系统重复处理相同的处理请求,进而影响了数据库的处理效率。
[0004]进一步,为了解决上述问题,目前现有技术中提供了一种可能的解决方案:选择固定数据库,通过为处理请求所对应的唯一 ID设置固定的算法以实现固定选择对应的数据库,以便于进行唯一性约束校验。然而,如图3所示,选择固定数据库的方案存在不能根据数据库的可用情况进行灵活选择,从而当固定选择的数据库不可用时,处理请求无法处理进而造成大量的损失。
[0005]针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006]本发明实施例提供了一种数据库处理方法、装置及系统,以至少解决由于采用现有的固定选择待处理数据库的所导致的在上述数据库不可用时,无法调整待处理数据库进而降低数据处理效率的技术问题。
[0007]根据本发明实施例的一个方面,提供了一种数据库处理方法,包括:第一应用系统生成待发送的第一数据库处理请求;上述第一应用系统根据上述第一数据库处理请求的标识从多个可用数据库中获取与上述第一数据库处理请求对应的第一可用数据库,其中,上述多个可用数据库位于第二应用系统中;上述第一应用系统将上述第一数据库处理请求发送到获取的上述第一可用数据库。
[0008]根据本发明实施例的另一方面,还提供了一种数据库处理装置,位于第一应用系统中,包括:第一生成单元,用于生成待发送的第一数据库处理请求;第一获取单元,用于根据上述第一数据库处理请求的标识从多个可用数据库中获取与上述第一数据库处理请求对应的第一可用数据库,其中,上述多个可用数据库位于第二应用系统中;第一发送单元,用于将上述第一数据库处理请求发送到获取的上述第一可用数据库。
[0009]根据本发明实施例的又一方面,还提供了一种数据库处理系统,包括:第一应用系统,用于生成待发送的第一数据库处理请求,并根据上述第一数据库处理请求的标识从多个可用数据库中获取与上述第一数据库处理请求对应的第一可用数据库,将上述第一数据库处理请求发送到获取的上述第一可用数据库,其中,上述多个可用数据库位于第二应用系统中;上述第二应用系统,用于检测上述多个可用数据库中是否至少有一个上述数据库出故障,并在检测到上述多个可用数据库中至少一个上述数据库出故障时,更新上述多个可用数据库后得到的更新后的多个可用数据库,发送上述更新后的多个可用数据库到上述第一应用系统。
[0010]在本发明实施例中,通过根据第一应用系统生成的第一数据库处理请求的标识从多个可用数据库中获取与上述第一数据库处理请求相对应的第一可用数据库,其中,上述多个可用数据库位于第二应用系统,而且上述多个可用数据库中并不包含不可用数据库,从而避免了上述不可用数据库所造成的数据处理效率低的问题,进一步,由第一应用系统直接获取与上述第一数据库处理请求相对应的第一可用数据库,避免了由于数据库出故障而无法及时调整可用数据库的问题,从而实现在发送数据库处理请求的系统上直接获取相应的可用数据库,达到了提高调整可用数据库的灵活度的目的,从而实现了提高数据处理效率的技术效果,进而解决了由于采用现有的固定选择待处理数据库的所导致的在上述数据库不可用时,无法调整待处理数据库进而降低数据处理效率的技术问题。
【附图说明】
[0011]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0012]图1是根据现有技术的一种数据库处理方法的示意图;
[0013]图2是根据现有技术的另一种数据库处理方法的示意图;
[0014]图3是根据现有技术的又一种数据库处理方法的示意图;
[0015]图4是根据本发明实施例的一种可选地数据库处理方法的应用场景示意图;
[0016]图5是根据本发明实施例的一种可选地数据库处理方法的流程示意图;
[0017]图6是根据本发明实施例的一种可选地数据库处理方法的示意图;
[0018]图7是根据本发明实施例的另一种可选地数据库处理方法的示意图;
[0019]图8是根据本发明实施例的另一种可选地数据库处理方法的流程示意图;
[0020]图9是根据本发明实施例的一种可选地数据库处理装置的示意图;以及
[0021]图10是根据本发明实施例的另一种可选地数据库处理装置的示意图。
【具体实施方式】
[0022]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0023]需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0024]实施例1
[0025]根据本发明实施例,提供了一种数据库处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0026]可选地,在本实施例中,上述数据库处理可以但不限于应用于如图4所示的网络环境中,其中,用于发送数据库处理请求的第一应用系统可以但不限于位于终端402中,包括上述待处理的数据库的第二应用系统可以但不限于位于终端404中,其中,上述终端404可以但不限于用服务器替换。可选地,在本实施例中,上述待处理的数据库可以包括但不限于一个或多个可用数据库,进一步,上述待处理的数据库可以集中保存在一个终端404 (例如,图4所示的终端404-1)中,也可以分别保存在不同的终端404(例如,图4所示的终端404-1和终端404-2)中。可选地,在本实施例中,上述数据库处理可以但不限于集成在一个终端中实现。可选地,在本实施例中,上述网络可以包括但不限于:广域网、城域网、局域网。上述终端可以包括但不限于:手机、平板电脑、笔记本电脑、PC机。上述只是一种示例,本实施例对此不做任何限定。
[0027]在上述运行环境下,本申请提供了如图5所示的数据库处理。图5是根据本发明实施例一的数据库处理的流程图,包括:
[0028]S502,第一应用系统生成待发送的第一数据库处理请求;
[0029]S504,第一应用系统根据第一数据库处理请求的标识从多个可用数据库中获取与第一数据库处理请求对应的第一可用数据库,其中,多个可用数据库位于第二应用系统中;
[0030]S506,第一应用系统将第一数据库处理请求发送到获取的第一可用数据库。
[0031]可选地,在本实施例中,上述数据库处理可以但不限于应用于对多个数据库的幂等校验控制过程中,以防止在数据库处理过程中第一应用系统生成的重复的数据库处理请求对数据进行重复的处理。例如,以电子支付为例,假设电子购物应用系统A生成购买商品a的支付订单,请求对该订单进行支付,为了防止用户的重复支付,银行支付系统B将可以但不限于采用本实施例中的数据库处理,以实现根据上述请求从系统中的多个可用的数据库中获取第一可用数据库以执行支付操作,且在第一可用数据库中对上述支付操作执行幂等校验,从而达到避免用户因重复支付同一订单而造成经济损失。上述举例只是一种示例,本实施例对此不做任何限定。
[0032]可选地,在本实施例中,第一应用系统可以但不限于根据第一数据库处理请求的标识从多个可用数据库中获取与上述第一数据库处理请求相对应的第一可用数据库,以构成第一应用系统生成的数据库处理请求与第二应用系统中的可用数据库相对应的映射关系,并将上述映射关系保存到第一应用系统中,从而达到根据上述映射关系直接发送数据库处理请求到相应可用数据库的目的。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1