一种数据更新方法、数据更新系统、服务器及存储介质与流程

文档序号:19745070发布日期:2020-01-21 18:13阅读:243来源:国知局
一种数据更新方法、数据更新系统、服务器及存储介质与流程

本申请涉及服务器数据处理技术领域,尤其涉及一种数据更新方法、数据更新系统、服务器及存储介质。



背景技术:

服务器在服务的过程中可能需要对本地的数据库中的数据进行数据更新。由于服务器计算力限制,服务器无法在运行服务的同时进行数据更新,必须要停下服务来进行数据更新,再对服务器进行重启以完成更新。

但是服务器在数据更新期间会接收不到用户的任务请求,更无法对用户的任务请求进行处理,从而导致服务器的服务中断,任务处理效率变低。于是目前还缺少一种不会中断服务的数据更新方法。



技术实现要素:

本申请实施例提供了一种数据更新方法,可以保障服务器不中断服务进行数据更新。

第一方面,本申请实施例提供了一种数据更新方法,应用于第一服务器,所述第一服务器和第二服务器均用于对各自的数据库进行更新,和对终端设备发送的任务请求进行任务处理,该方法包括:

所述第一服务器的数据库需要进行更新时,向所述第二服务器发送更新开始消息,使得所述第二服务器保持任务处理状态;

进入数据更新状态,对所述第一服务器的数据库进行更新;

所述第一服务器的数据库完成更新时,向所述第二服务器发送更新完成消息,使得所述第二服务器进入所述数据更新状态;

进入所述任务处理状态,对接收到的任务请求进行任务处理。

第二方面,本申请另一实施例提供了一种数据更新系统,所述数据更新系统包括第一服务器和第二服务器,具体的:

第一服务器,用于所述第一服务器的数据库需要进行更新时,向所述第二服务器发送更新开始消息;

第二服务器,用于在接收到所述第一服务器发送的更新开始消息之后,保持任务处理状态;

所述第一服务器,还用于进入数据更新状态,对所述第一服务器的数据库进行更新;

所诉第一服务器,还用于所述第一服务器的数据库完成更新时,向所述第二服务器发送更新完成消息;

所述第二服务器,还用于在接收到第一服务器发送的更新完成消息之后,进入所述数据更新状态;

所述第一服务器,还用于进入所述任务处理状态,对接收到的任务请求进行任务处理。

第三方面,本申请另一实施例提供了一种服务器,该服务器对应于上述第一服务器,包括用于实现上述第一服务器的功能的单元,具体的:

确定单元,用于确定是否需要对所述第一服务器的数据库进行更新;

发送单元,用于所述第一服务器的数据库需要进行更新时,向所述第二服务器发送更新开始消息,使得所述第二服务器保持任务处理状态;

更新单元,用于进入数据更新状态,对所述第一服务器的数据库进行更新;

所述发送单元,还用于在所述第一服务器的数据库完成更新时,向所述第二服务器发送更新完成消息,使得所述第二服务器进入所述数据更新状态;

处理单元,用于进入所述任务处理状态,对接收到的任务请求进行任务处理。

第四方面,本申请另一实施例提供了一种服务器,该服务器包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储支持终端设备执行上述测试方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行上述第一方面的测试方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行,用以执行上述第一方面的方法

在本申请中,当第一服务器进行数据更新时,第二服务器进行任务处理;当第一服务器进行任务处理时,第二服务器进行数据更新。第一服务器和第二服务器对各自的数据库进行交替更新。因此在第一服务器和第二服务器进行交替更新的过程中的任意时刻,都至少有一个服务器处于任务处理状态,以接收和处理用户的任务请求。可见,本申请提供的数据更新方法可以保障服务器不中断服务进行数据更新。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本发明实施例提供的一种数据更新方法的应用场景图;

图2是本申请实施例提供的一种服务器之间的消息传递示意图;

图3是本申请实施例提供的一种离线任务处理界面的示意图;

图4是本申请实施例提供的一种数据更新方法的示意流程图;

图5是本申请实施例提供的一种服务器的示意性框图;

图6是本申请实施例提供的一种服务器的结构性框图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例的技术方案进行描述。

本申请提供了一种应用于服务器的数据更新方法,服务器通过实施该数据更新方法,可以在进行数据更新的同时不中断服务。本申请主要应用于服务器,该服务器可以是传统服务器或者本申请第二实施例和第三实施例所描述的服务器,本申请对此不做限制。服务器与终端设备等其他设备进行数据交互的时候,服务器和终端设备之间按照预设格式对数据的特性进行记录并传送,并能对接收到的预设格式的数据进行相应的解析等处理,其中,数据的特性包括时间、地点、类型等。

其中,本申请中的服务器为可以提供计算服务的设备,能够响应服务请求并进行处理,具备承担服务并且保障服务的能力。其中,服务器可以是文件服务器、数据库服务器、应用程序服务器、web服务器等。本申请中的终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备,本申请对此不作限定。

一般来说,服务器为了进行数据更新,往往需要先中断正在进行的服务,然后进行数据更新。为了不中断服务,可以设置一个备用的服务器来作为临时服务器,用于在主服务器数据更新时临时进行任务处理。临时服务器在主服务器开始数据更新之前,将主服务器中的数据全部备份过来;然后在主服务器数据更新时,代替主服务器进行任务处理;最后临时服务器在主服务器完成数据更新之后,将临时服务器在任务处理过程中产生的新的数据传回到主服务器中。可见,该方法中存在多次数据搬移,在需要搬移的数据量较大的情况下,数据搬移会花费较多的时间,且多次数据搬移也容易造成数据出错,反而降低服务器的数据更新效率。

为了解决以上问题,本申请提供了一种不会中断服务且高效的数据更新方法,该数据更新方法可以应用于服务器,以将该方法应用于第一服务器和第二服务器为例对该方法进行解释说明。如图1所示的通信系统构架包括第一服务器、第二服务器以及终端设备。第一服务器、第二服务器以及终端设备可以通过有线或者无线的方式进行通信,第一服务器和第二服务器之间具体可以通过redis队列进行通信。第一服务器和第二服务器可以但不局限于提供任务处理服务,以及对各自的数据库进行数据更新。第一服务器与第二服务器本质上是一样的服务器,可以实现彼此的功能。终端设备可以向第一服务器和第二服务器中的任意服务器发送任务请求,以获得相应的服务。本申请对任务请求所指示的具体任务不作限定,该任务请求可以用于指示服务器执行离线任务,也可以用于指示服务器执行在线任务。举例来说,如图3所示,任务请求用于指示服务器执行离线任务,例如听歌识曲。用户可以通过终端设备上的麦克风等输入设备录制待识别的音频,然后将该音频上传至服务器,使得服务器可以识别得到数据库中与该音频相似的目标音频,最后将目标音频的信息反馈给终端设备,从而完成用户请求的听歌识曲的任务。

具体的,下面将以第一服务器和第二服务器之间通过redis队列进行通信,任务请求用于指示服务器执行听歌识曲为例,并结合本申请实施例可应用的系统架构(如图1所示)和服务器之间的消息传递示意图(如图2所示),来对本申请的数据更新方法进行说明。第一服务器与第二服务器轮流对各自的数据库进行更新,并独立的对接收到的终端设备发送的任务请求进行任务处理。详细的,第一服务器的数据库需要进行更新,第一服务器通过redis队列向第二服务器发送更新开始消息;第二服务器在监听到第一服务器的更新开始消息之后,继续保持任务处理状态,并对接收到用户的任务请求进行处理。由于用户的任务请求是听歌识曲,于是第二服务器根据任务请求中所包含的音频的音频指纹,在第二服务器的数据库中搜索与该音频的音频指纹匹配的目标音频,并将搜索到的目标音频的信息反馈给终端设备,在终端设备上以图3为例的显示界面上显示任务处理的结果,即目标音频的信息。在第二服务器保持任务处理状态的同时,第一服务器进入数据更新状态,对第一服务器的数据库进行更新。第一服务器通过增加第一服务器的数据库中包含的音频的信息来对第一服务器的数据库进行更新,该信息包括音频的音频数据、音频指纹和音频名称等信息中的至少一种信息。第一服务器完成了对第一服务器的数据库的更新之后,通过redis队列向第二服务器发送更新完成消息。第二服务器监听到第一服务器的更新完成信息之后,进入数据更新状态,以对第二服务器的数据库进行更新。第一服务器则进入任务处理状态,对接收到的任务请求进行任务处理。第二服务器的数据库的更新过程以及第一服务器的任务处理过程,分别与上述第一服务器的数据库的更新过程以及第二服务器的任务处理过程类似,在此不再赘述。

其中,redis队列是一种用于实现服务器之间的数据交互的通信方式。第一服务器将需要传输的消息压入到redis队列中,然后第二服务器将消息从redis队列中弹出。同样的,第二服务器也可以将需要传输的消息压入到redis队列中,然后第一服务器将消息从redis队列中弹出。需要注意的是,除了redis队列以外,第一服务器和第二服务器之间还可以通过基于http协议或者基于rpc协议等的通信方式进行通信。但redis队列具有轻量、方便和易于实现的特点,于是服务器之间通过redis进行通信,可以提高通信效率,从而进一步提高服务器在任务处理和数据更新之间的切换效率。

可见,本申请通过两个服务器交替更新数据,来保障在任意时刻都至少有一个服务器可以对用户的任务请求进行处理,从而实现服务器在数据更新的同时不中断服务。当第一服务器在进行数据更新时,第二服务器进行任务处理;当第一服务器进行任务处理时,第二服务器进行数据更新。相比于上述利用临时服务器的方案,本申请中的第一服务器和第二服务器不区分主服务器和临时服务器,而是相互独立的对接收到任务请求进行任务处理,因此也不需要数据搬移。总的来说,本申请提供的数据更新方法即可以实现服务器数据不中断服务更新数据,也不需要搬移数据,避免了繁琐的任务处理过程。因此本申请提出的数据更新方法可以在不中断服务器的服务同时提高服务器的数据更新效率。

需要说明的是,图1中所示内容为一种举例,并不构成对本发明实施例的限定。因为在本申请中,用于发送用户的任务请求的终端设备可以是移动电话,也可以是任意其他具有数据传输功能的终端设备,本申请对此不做限定。

为了能够更好地理解本申请实施例,接下来将结合图4所示的流程示意图来对本申请具体实施例作进一步的详细描述。请参见图4,图4是本申请实施例提供的一种数据更新方法的流程示意图。如图4所示,该通信方法包括如下步骤401~406,其中:

401、第一服务器的数据库需要进行更新时,向第二服务器发送更新开始消息。

在本申请实施例中,第一服务器的数据库需要进行更新时,第一服务器向第二服务器发送更新开始消息。其中,第一服务器在两种情况下,可以确定需要对第一服务器的数据库进行更新。第一种情况,第一服务器在向第二服务器发送更新开始消息之前,先监听第二服务器发送的消息,若监听到第二服务器的更新完成消息,则确定第二服务器完成了数据更新并处于任务执行状态,轮到第一服务器进行数据更新,因此确定需要对第一服务器的数据库进行更新。第二种情况,第一服务器在开机之后先监听更新触发消息,若监听到用于指示第一服务器和第二服务器启动交替更新的更新触发消息,则确定第一服务器和第二服务器都处于任务处理状态,且第一服务器和第二服务器需要按照第一服务器和第二服务器的默认更新顺序进行更新,因此确定需要对第一服务器的数据库进行更新。其中,更新触发消息可以是开机消息,本申请实施例对此不做限定。

在一种可实施的方式中,第一服务器和第二服务器除了按照第一服务器和第二服务器的默认更新顺序进行更新之外,第一服务器和第二服务器还可以按照预设更新规则确定第一服务器和第二服务器的更新顺序。其中,预设更新规则为数据库的数据较少的服务器先更新,第一服务器的数据库的数据多于第二服务器的数据库的数据。

402、第二服务器保持任务处理状态,对接收到的任务请求进行处理。

在本申请实施例中,第二服务器接收到第一服务器发送的更新开始消息之后,保持任务处理状态,对接收到的任务请求进行处理。

需要说明的是,本申请实施例对服务器可以提供的服务不作限制,当任务请求是离线任务请求时,该任务请求用于请求进行离线任务处理,服务器根据该任务请求可以提供离线任务处理服务;当任务请求是在线任务请求时,该任务请求用于请求进行在线任务处理,服务器根据该任务请求可以提供在线任务处理服务。其中,离线任务对服务器的处理时长的要求较低,允许有一定的时延;在线任务对服务器的处理时长的要求较高,要求尽可能短的时延。

在一种可实施的方式中,上述对接收到的任务请求进行任务处理指的是,第二服务器基于第二服务器的数据库,对接收到的任务请求所指示的任务进行任务处理,任务请求所指示的任务为离线任务,任务请求用于请求进行离线任务处理。其中,当第一服务器进行任务处理的时候,是基于第一服务器的数据库进行任务处理;当第二服务器进行任务处理的时候,是基于第二服务器的数据库进行任务处理。

在本申请实施例中,由于任务请求所指示的是离线任务,例如听歌识曲等。于是该任务请求允许服务器对任务请求进行离线处理,不用立即返回结果。本方法在应用于离线任务的时候,可以获取得到更好的数据更新效果。此外,本申请实施例还可以在任务请求所指示的是离线任务时,降低服务器的轮换更新频率;在任务请求所指示的是在线任务时,提高服务器的轮换更新频率。

403、第一服务器进入数据更新状态,对第一服务器的数据库进行更新。

在本申请实施例中,第一服务器在向第二服务器发送了更新开始消息之后,进入数据更新状态,对第一服务器的数据库进行更新。更新过程可以参考上文所描述的内容,在此不再赘述。

在一种可实施的方式中,第一服务器对第一服务器的数据库进行更新指的是,第一服务器先启动对第一服务器的数据库的更新,然后确定第一服务器的数据库的更新时长,最后在对第一服务器的数据库的更新时长达到第一预设时长时,第一服务器完成对第一服务器的数据库的更新。

在本申请实施例中,服务器在第一预设时长为任意预设的时长,本申请对此不作限定。需要说明的是,为了取得较好的数据更新效果,第一预设时长可以设置为半小时到两小时区间中的任意一个时长。因为经过实际测试得到,第一预设时长在半小时到两小时区间中的任意一个时长时,可以取得比较好的效果。一方面可以保障数据更新的频率,保障了服务器的数据库中时常有新的数据加入,提高了任务处理的效率;另一方面也不过久的延迟正常的任务处理。

在一种可实施的方式中,基于上述实施例中服务器每轮数据更新的时间都为固定的第一预设时长,在步骤401中,第一服务器为了确定是否需要对第一服务器的数据库进行更新,则第一服务器可以只在第二服务器完成数据更新之前的固定时刻启动监听第二服务器的消息,而不是在所有时刻都保持监听,因为不必要的监听会浪费不必要的功耗,影响服务器正常的任务处理和数据更新过程。具体的,第一服务器确定第二服务器的数据库的更新时长,然后第一服务器在第二服务器的数据库的更新时长达到第二预设时长时,监听第二服务器发送的消息。其中,第二预设时长小于第一预设时长;若第一服务器监听到第二服务器的更新完成消息,则确定第二服务器处于任务执行状态。

在一种可实施的方式中,对第一服务器的数据库进行更新指的是,第一服务器先启动对第一服务器的数据库的更新,然后第一服务器在第一服务器的数据库更新至最新数据库时,完成对第一服务器的数据库的更新。

在本申请实施例中,服务器每轮数据更新的数据量都为开始更新的时间点时的最新数据。可见,本实施方式相对于上一个实施例中固定更新时长来说,可以被理解为固定更新的数据量。即服务器在本次开始更新的时刻至服务器上一次开始更新的时刻之间新增的数据,为服务器本次需要需要更新的内容。

在一种可实施的方式中,基于上述实施例中服务器每轮数据更新的数据量固定,在步骤401中,第一服务器为了确定是否需要对第一服务器的数据库进行更新,则第一服务器需要在第二服务器进行数据更新的过程中持续监听第二服务器的消息。

404、第一服务器的数据库完成更新时,向第二服务器发送更新完成消息。

在本申请实施例中,第一服务器的数据库完成更新时,第一服务器向第二服务器发送更新完成消息,使得第二服务器可以开始数据更新。

405、第二服务器进入数据更新状态,对第二服务器的数据库进行更新。

在本申请实施例中,第二服务器接收到第一服务器的更新完成消息之后,进入数据更新状态,以对第二服务器的数据库进行更新。

406、第一服务器进入任务处理状态,对接收到的任务请求进行任务处理。

在本申请实施例中,第一服务器在向第二服务器发送更新完成消息之后,进入任务处理状态,以对接收到的任务请求进行任务处理。其中,第一服务器由于在以上描述的步骤中对第一服务器的数据库进行了更新,因此第一服务器在对接收到任务请求进行任务处理具体指的是:第一服务器先获取更新得到的第一服务器的数据库,然后第一服务器基于该更新得到的第一服务器的数据库,对接收到的任务请求所指示的任务进行任务处理。其中,若任务请求所指示的任务为离线任务,则任务请求用于请求进行离线任务处理,第一服务器根据该任务请求进行离线任务处理;若任务请求所指示的任务为在线任务,则任务请求用于请求进行在线任务处理,第一服务器根据该任务请求进行在线任务处理。

接下来将通过举例来形象说明第一服务器和第二服务器的数据更新过程,用a来指代第一服务器,以b来指代第二服务器。假设开始更新之前,a的数据库与b的数据库分别所包含的数据是一致的。a先进行更新,更新的过程中不断会有新的数据扩充到a的数据库中,更新后a增加数据d1。此时a比b多数据d1。然后b开始更新,更新后b增加数据(d1+d2)。然后a进行更新,更新后a增加数据(d2+d3)....以此往复对a和b进行更新——换句话说,a和b的交替更新过程像是人走路过程中两个脚步交替迈进的过程,每一个服务器更新后都是最新的数据,而旧的数据会立刻被一段时间内最新的数据所弥补。

在一种可实施的方式中,服务器之间通过redis队列的方式进行通信。具体的,第一服务器对数据库需要进行更新时,通过redis队列向第二服务器发送更新开始消息,使得第二服务器保持任务处理状态;然后第一服务器进入数据更新状态,对第一服务器的数据库进行更新;再然后第一服务器在第一服务器的数据库完成更新时,通过redis队列向第二服务器发送更新完成消息,使得第二服务器进入数据更新状态;最后第一服务器进入任务处理状态,对接收到的任务请求进行任务处理。需要说明的是,不管是第一服务器向第二服务器发送消息,还是第二服务器向第一服务器发送消息,都可以通过redis队列进行发送和接收,此后不再赘述。

可见,本申请实施例使用了两个服务器提供服务,在其中一台更新数据时,另一台开启服务。当第一服务器更新完成后,第一服务器发送消息通信第二服务器,第二服务器再接力进行下一轮更新。因此本申请实施例服务器不会中断服务,实现了服务层面的无缝衔接,实现了数据层面的交替快速更新。不中断服务是从整体上来看的,因为无论是在什么时刻,用户的任务请求都是可以被两个服务器中在正常运行的服务器接收和处理,不存在完全中断服务。

此外,两个服务器独立对各自接收到的任务请求进行处理。因此两个服务器只需要协调任务处理和数据更新的时间,而不会彼此相互影响的。因此服务器之间的数据更新和任务处理的相关数据也不需要进行传输和搬运,也不会因为传输而造成额外的问题。总的来说,本申请实施例使得服务器可以以不中断的方式快速迭代更新数据库,为服务稳定性和实效性提供了帮助。

确定需要对数据库进行更新本申请实施例还提供一种服务器,该服务器包含用于执行前述任一项的数据更新方法的单元。具体地,参见图5,是本申请实施例提供的一种服务器的示意性框图。本实施例的服务器包括:确定单元510、发送单元520、更新单元530和处理单元540。具体的:

确定单元510,用于确定是否需要对上述第一服务器的数据库进行更新;发送单元520,用于上述第一服务器的数据库需要进行更新时,向上述第二服务器发送更新开始消息,使得上述第二服务器保持任务处理状态;更新单元530,用于进入数据更新状态,对上述第一服务器的数据库进行更新;上述发送单元520,还用于上述第一服务器的数据库完成更新时,向上述第二服务器发送更新完成消息,使得上述第二服务器进入上述数据更新状态;处理单元540,用于进入上述任务处理状态,对接收到的任务请求进行任务处理。

在一种可实施的方式中,上述服务器还包括监听单元550,该监听单元550用于监听上述第二服务器发送的消息;确定单元510,具体用于若监听单元550监听到上述第二服务器的更新完成消息,则确定需要对上述第一服务器的数据库进行更新;上述监听单元550,还用于监听更新触发消息;确定单元510,具体用于若监听单元550若监听到上述更新触发消息,则确定需要对上述第一服务器的数据库进行更新。

在一种可实施的方式中,更新单元530,具体用于启动对上述第一服务器的数据库的更新;确定上述第一服务器的数据库的更新时长;上述第一服务器的数据库的更新时长达到第一预设时长时,完成对上述第一服务器的数据库的更新。

在一种可实施的方式中,监听单元550,具体用于确定上述第二服务器的数据库的更新时长;第二服务器的数据库的更新时长达到第二预设时长时,第一服务器监听上述第二服务器发送的消息,上述第二预设时长小于上述第一预设时长。

在一种可实施的方式中,处理单元540,具体用于获取更新得到的第一服务器的数据库;基于上述更新得到的第一服务器的数据库,对接收到的任务请求所指示的任务进行任务处理,上述任务请求所指示的任务为离线任务,上述任务请求用于请求进行离线任务处理。

在一种可实施的方式中,上述第一服务器与上述第二服务器通过redis队列进行通信,上述确定单元510,具体用于确定是否需要对第一服务器数据库进行更新;上述发送单元520,具体用于第一服务器的数据库需要进行更新,通过redis队列向上述第二服务器发送更新开始消息,使得上述第二服务器保持上述任务处理状态;上述更新单元530,具有用于进入数据更新状态,对第一服务器的数据库进行更新;上述发送单元520,具体还用于第一服务器的数据库完成更新的,通过redis队列向上述第二服务器发送更新完成消息,使得上述第二服务器进入上述数据更新状态;上述处理单元540,具体用于进入上述任务处理状态,对接收到的任务请求进行任务处理。

参见图6,是本申请另一实施例提供的一种终端设备的结构性框图。如图6所示的本实施例中的终端设备可以包括:一个或多个处理器610和存储器620。上述处理器610和存储器620通过总线630连接。存储器620用于存储计算机程序,计算机程序包括程序指令,处理器610用于执行存储器620存储的程序指令。具体的:

处理器610,用于执行确定单元510的功能,用于确定是否需要对上述第一服务器的数据库进行更新;上述服务器还包括通信接口640,用于执行发送单元520的功能,用于上述第一服务器的数据库需要进行更新时,向上述第二服务器发送更新开始消息,使得上述第二服务器保持任务处理状态;处理器610,还用于执行更新单元530的功能,用于进入数据更新状态,对上述第一服务器的数据库进行更新;通信接口640,还用于第一服务器的数据库完成更新时,向上述第二服务器发送更新完成消息,使得上述第二服务器进入上述数据更新状态;处理器610,还用于执行处理单元540的功能,用于进入上述任务处理状态,对接收到的任务请求进行任务处理。

在一种可实施的方式中,处理器610,还用于执行监听单元550的功能,该监听单元550用于监听上述第二服务器发送的消息,若监听到上述第二服务器的更新完成消息,则确定需要对上述第一服务器的数据库进行更新;处理器610,还用于监听更新触发消息,若监听单元550若监听到上述更新触发消息,则确定需要对上述第一服务器的数据库进行更新。

在一种可实施的方式中,处理器610,具体用于启动对上述第一服务器的数据库的更新;确定上述第一服务器的数据库的更新时长;第一服务器的数据库的更新时长达到第一预设时长时,完成对上述第一服务器的数据库的更新。

在一种可实施的方式中,处理器610,具体用于确定上述第二服务器的数据库的更新时长;上述第二服务器的数据库的更新时长达到第二预设时长时,监听上述第二服务器发送的消息,上述第二预设时长小于上述第一预设时长。

在一种可实施的方式中,处理器610,具体用于获取更新得到的第一服务器的数据库;基于上述更新得到的第一服务器的数据库,对接收到的任务请求所指示的任务进行任务处理,上述任务请求所指示的任务为离线任务,上述任务请求用于请求进行离线任务处理。

在一种可实施的方式中,上述第一服务器与上述第二服务器通过redis队列进行通信,上述处理器610,具体用于确定是否需要对第一服务器数据库进行更新;上述通信接口640,具体用于第一服务器的数据库需要进行更新时,通过redis队列向上述第二服务器发送更新开始消息,使得上述第二服务器保持上述任务处理状态;上述处理器610,具有用于进入数据更新状态,对第一服务器的数据库进行更新;上述通信接口640,具体还用于上述第一服务器的数据库完成更新时,通过redis队列向上述第二服务器发送更新完成消息,使得上述第二服务器进入上述数据更新状态;上述处理器610,具体用于进入上述任务处理状态,对接收到的任务请求进行任务处理。

应当理解,在本申请实施例中,所称处理器610可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器620可以包括只读存储器和随机存取存储器,并向处理器610提供指令和数据。存储器620的一部分还可以包括非易失性随机存取存储器。例如,存储器620还可以存储设备类型的信息。

具体实现中,本申请实施例中所描述的处理器610可执行本申请实施例提供的数据更新方法的第一实施例和第二实施例中所描述的实现方式,也可执行本申请实施例所描述的终端设备的实现方式,在此不再赘述。

在本申请的另一实施例中提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行。

计算机可读存储介质可以是前述任一实施例的终端设备的内部存储单元,例如终端设备的硬盘或内存。计算机可读存储介质也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,计算机可读存储介质还可以既包括终端设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序和终端设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用程序和设计约束条件。专业技术人员可以对每个特定的应用程序来使用不同数据更新方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述数据更新方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备和数据更新方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、终端设备或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

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