数据存储方法及装置与流程

文档序号:11293036阅读:162来源:国知局
数据存储方法及装置与流程

本申请涉及互联网技术领域,尤其涉及数据存储方法及装置。



背景技术:

随着互联网技术的不断发展,网上购物的应用越来越广泛。

现有技术中,当网站服务器接收到用户订单指令后,会根据该用户订单指令生成对应的订单数据,并将该订单数据存储至数据库中。

但是,当数据库存储失败时,该网站服务器会直接向用户发送订单存储失败信息,使得用户不得不重新下订单,这样不但提高了网上购物的难度,还降低了用户体验。



技术实现要素:

本申请提供数据存储方法及装置,以解决现有技术中当数据库存储失败时,用户需要重新下订单的问题。

根据本申请实施例的第一方面,提供一种数据存储方法,所述方法包括:

获取待存储至第一数据库的第一数据;

若检测到所述第一数据库不能存储数据时,则将所述第一数据添加到本地消息中,并将携带有所述第一数据的本地消息存储至本地系统中;

将所述第一数据发送至第二数据库,以使所述第二数据库存储所述第一数据。

根据本申请实施例的第二方面,提供一种数据存储装置,所述装置包括:

获取单元,用于获取待存储至第一数据库的第一数据;

本地存储单元,用于若检测到所述第一数据库不能存储数据时,则将所述第一数据添加到本地消息中,并将携带有所述第一数据的本地消息存储至本地系统中;

第一发送单元,用于将所述第一数据发送至第二数据库,以使所述第二数据库存储所述第一数据。

根据本申请实施例的第三方面,提供一种数据存储装置,所述装置包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取待存储至第一数据库的第一数据;

若检测到所述第一数据库不能存储数据时,则将所述第一数据添加到本地消息中,并将携带有所述第一数据的本地消息存储至本地系统中;

将所述第一数据发送至第二数据库,以使所述第二数据库存储所述第一数据。

应用本申请实施例,在获取到待存储至第一数据库的第一数据后,若检测到第一数据库不能存储数据时,可以将第一数据添加到本地消息中,并将携带有第一数据的本地消息存储至本地系统中,以及将第一数据发送至第二数据库,即使第二数据库没有成功存储第一数据,在本地系统中也能找到该第一数据,从而保证了数据存储的可靠性,还提高了数据存储成功率。

附图说明

图1为本申请实施例的数据存储场景示意图;

图2为本申请数据存储方法的一个实施例流程图;

图3为本申请数据存储方法的另一个实施例的流程图;

图4为本申请数据存储装置所在设备的一种硬件结构图;

图5为本申请数据存储装置的一个实施例框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,为本申请实施例的数据存储场景示意图:

图1场景中包括:用户、网站服务器、主数据库和备份数据库。其中,用户浏览的网站可以是一些购物网站,用户可以通过向购物网站发送订单指令来实现网上购物。

当网站服务器接收到用户订单指令后,可以根据该用户订单指令生成对应的订单数据,并将该订单数据存储到主数据库中。其中,订单数据可以包括订单号、订单金额、商品信息等。

若检测到主数据库存储成功,可以直接向用户发送订单存储成功信息。

若检测到主数据库存储失败,可以生成订单数据对应的本地消息,该本 地消息中包括订单数据,以及将本地消息存储在本地系统中,这样保证了订单数据不会丢失;然后,向用户发送订单存储成功信息;最后,将订单数据存储至备份数据库中,若备份数据库存储成功,可以将删除本地系统中保存的订单数据。

下面对本申请实施例进行详细说明。

参见图2,为本申请数据存储方法的一个实施例的流程图,该方法可以应用于网站服务器上,可以包括以下步骤:

步骤210:获取待存储至第一数据库的第一数据。

本申请实施例中,若接收到用户订单指令,可以根据用户订单指令生成对应的订单数据,并将该订单数据作为待存储至第一数据库的第一数据。其中,第一数据库可以是主数据库,也可以是备份数据库。

步骤220:若检测到第一数据库不能存储数据时,可以将第一数据添加到本地消息中,并将携带有第一数据的本地消息存储至本地系统中。

本申请实施例中,若检测到第一数据库不能存储数据,其原因很多,可能是第一数据库出现硬件故障,不能工作了;还可能是第一数据库存储空间不足,不能存储数据了等。此时,为了防止丢失第一数据,可以将第一数据先存储在本地系统中。

另外,若需要检测第一数据库是否能够存储数据,可以采用但不限于以下这种方式:

(1)将第一数据发送至第一数据库,以使第一数据库存储第一数据。

(2)接收第一数据库返回的第一存储结果。

(3)若第一存储结果为存储失败,则确定第一数据库不能存储数据;若第一存储结果为存储成功,则表明第一数据库能够存储数据。

还有,将携带有第一数据的本地消息存储至本地系统中时,可以采用本地消息通告的方式:

首先,向自身发送本地消息;然后接收自身发送的本地消息,从而达到将第一数据存储至本地系统的目的。

步骤230:将第一数据发送至第二数据库,以使第二数据库存储第一数据。

本申请实施例中,若第一数据库是主数据库,第二数据库可以是备份数据库;若第一数据库是备份数据库,第二数据库可以是主数据库。

若第一数据库的数量为1个,第二数据库的数量为1个,此时可以将第一数据直接发送至第二数据库,以使第二数据库存储第一数据。

若第一数据库的数量为多于1个,第二数据库的数量为1个,此时若直接将第一数据存储至第二数据库中,将会导致第二数据库中的数据很混乱,分不清楚是哪个第一数据库的备份数据。

故此,可以先对第一数据添加第一数据库标识,得到第二数据;再将第二数据发送至第二数据库,以使第二数据库将第二数据存储至第一数据库标识对应的存储区域,其目的是若检测到第一数据库标识对应的第一数据库能够存储数据时,可以控制第二数据库将第一数据库标识对应的存储区域中的数据与第一数据库标识对应的第一数据库进行同步。

另外,将第一数据发送至第二数据库后,还可以接收第二数据库返回的第二存储结果;若第二存储结果为存储成功,可以删除本地系统中携带有第一数据的本地消息,这样可以节省本地系统的存储资源。

由上述实施例可见,在获取到待存储至第一数据库的第一数据后,若检测到第一数据库不能存储数据时,可以将第一数据添加到本地消息中,并将携带有第一数据的本地消息存储至本地系统中,以及将第一数据发送至第二数据库,即使第二数据库没有成功存储第一数据,在本地系统中也能找到该第一数据,从而保证了数据存储的可靠性,还提高了数据存储的成功率。

参见图3,为本申请数据存储方法的另一个实施例的流程图,该方法可以应用于网站服务器上,可以包括以下步骤:

步骤300:接收用户订单指令。

步骤310:根据用户订单指令生成对应的订单数据,该订单数据为待存储至第一数据库的第一数据。

步骤320:将第一数据发送至第一数据库。

步骤330:接收第一数据库返回的第一存储结果。

步骤340:若第一存储结果为存储失败,则确定第一数据库不能存储数据。

步骤350:将第一数据添加到本地消息中,并将携带有第一数据的本地消息存储至本地系统中。

步骤360:向用户发送订单存储成功信息。

步骤370:将第一数据发送至第二数据库。

步骤380:接收第二数据库返回的第二存储结果。

步骤390:若第二存储结果为存储成功,则删除本地系统中携带有第一数据的本地消息。

由上述实施例可见,接收用户订单指令,根据用户订单指令生成对应的订单数据后,若检测到第一数据库不能存储数据时,可以将第一数据添加到本地消息中,并将携带有第一数据的本地消息存储至本地系统中,以及向用户发送订单存储成功信息,然后再将第一数据发送至第二数据库,若第二数据库存储成功,则删除本地系统中携带有第一数据的本地消息,从而保证了订单数据存储的可靠性,提高了用户体验。

与本申请数据存储方法的实施例相对应,本申请还提供了数据存储装置的实施例。

本申请数据存储装置的实施例可以分别应用在网站服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请数据存储装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,如对于终端来说,可能包括摄像头、触摸屏子、通信组件等,对于服务器来说, 可能包括负责处理报文的转发芯片等等。

参见图5,为本申请数据存储装置的一个实施例框图,该数据存储装置可以应用在网站服务器上,并可以用于执行图2所示的数据存储方法,该装置可以包括:获取单元51、本地存储单元52和第一发送单元53。

获取单元51,用于获取待存储至第一数据库的第一数据;

本地存储单元52,用于若检测到所述第一数据库不能存储数据时,则将所述第一数据添加到本地消息中,并将携带有所述第一数据的本地消息存储至本地系统中;

第一发送单元53,用于将所述第一数据发送至第二数据库,以使所述第二数据库存储所述第一数据。其中,第一数据库可以为主数据库,第二数据库为备份数据库。

在一个可选的实现方式中:所述装置还可以包括:第二发送单元、第一接收单元和确定单元(图5中未标出)。

第二发送单元,用于获取待存储至第一数据库的第一数据之后,将所述第一数据发送至所述第一数据库,以使所述第一数据库存储所述第一数据;

第一接收单元,用于接收所述第一数据库返回的第一存储结果;

确定单元,用于若所述第一存储结果为存储失败,则确定所述第一数据库不能存储数据。

在另一个可选的实现方式中:所述第一发送单元53可以包括:添加子单元和发送子单元(图5中未标出)。

添加子单元,用于对所述第一数据添加第一数据库标识,得到第二数据;

发送子单元,用于将所述第二数据发送至所述第二数据库,以使所述第二数据库存储所述第二数据。

在另一个可选的实现方式中:所述装置还可以包括:第二接收单元和删除单元(图5中未标出)。

第二接收单元,用于将所述第一数据发送至第二数据库之后,接收所述第二数据库返回的第二存储结果;

删除单元,用于若所述第二存储结果为存储成功,则删除本地系统中携带有所述第一数据的本地消息。

在另一个可选的实现方式中:所述获取单元51可以包括:接收子单元和生成子单元(图5中未标出)。

接收子单元,用于接收用户订单指令;

生成子单元,用于根据所述用户订单指令生成对应的订单数据,所述订单数据为所述第一数据。

在另一个可选的实现方式中:所述装置还可以包括:第三发送单元(图5中未标出)。

第三发送单元,用于将携带有所述第一数据的本地消息存储至本地系统中之后,向用户发送订单存储成功信息。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本请求方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

与图5相对应,本申请实施例还提供了一种数据存储装置,所述装置可以应用于网站服务器上,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取待存储至第一数据库的第一数据;

若检测到所述第一数据库不能存储数据时,则将所述第一数据添加到本 地消息中,并将携带有所述第一数据的本地消息存储至本地系统中;

将所述第一数据发送至第二数据库,以使所述第二数据库存储所述第一数据。

由上述实施例可见,在获取到待存储至第一数据库的第一数据后,若检测到第一数据库不能存储数据时,可以将第一数据添加到本地消息中,并将携带有第一数据的本地消息存储至本地系统中,以及将第一数据发送至第二数据库,即使第二数据库没有成功存储第一数据,在本地系统中也能找到该第一数据,从而保证了数据存储的可靠性,还提高了数据存储的成功率。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1