一种分布式多副本数据同步方法、系统及服务器与流程

文档序号:17889805发布日期:2019-06-13 15:30阅读:204来源:国知局
一种分布式多副本数据同步方法、系统及服务器与流程

本发明涉及分布式系统技术领域,尤其涉及一种分布式多副本数据同步方法、系统及服务器。



背景技术:

分布式数据多副本是指一个数据信息(正本)在两个以上的计算机节点上存在数据拷贝,例如在银行系统中,在异构的主机和开放系统上都有某一个客户的账户余额数据。分布式数据多副本通过不同计算机节点的数据同步保证多副本的最终一致性。数据最终一致性是指分布式系统中同一数据的不同副本并不是实时保持强一致,而是最终保证一致性的特性。

目前分布式系统中不同计算机节点的数据同步通常采用基于事务日志的数据同步技术。例如,如图1所示,当发生交易操作时,交易事务在源服务器中操作成功,源服务器通过读取交易事务的事务日志,根据事务日志严格按照时间顺序和事务内数据操作顺序将操作对象和交易操作后形成的更新数据发送至目标服务器,目标服务器根据接收的操作对象和更新数据的时间顺序和事务边界将更新数据更新至目标服务器对应的操作对象中。这种数据同步方式的缺陷在于同步延迟较大,特别是在交易操作高并发的情况下,延迟可能达到1s以上,原因是目标服务器必须严格按照源服务器的事务发生时序和事务边界执行数据同步,后续数据操作必须等待前方数据同步完成后才能继续同步,导致数据同步时间延长,同步效率低,分布式系统数据同步压力较大,易导致服务器崩溃或死机。



技术实现要素:

本发明的一个目的在于提供一种分布式多副本数据同步方法,提高分布式多副本数据同步效率。本发明的另一个目的在于提供一种分布式多副本数据同步系统。本发明的再一个目的在于提供一种服务器。本发明的还一个目的在于提供一种计算机设备。本发明的还一个目的在于提供一种可读介质。

为了达到以上目的,本发明一方面公开了一种分布式多副本数据同步方法,包括:

将每个交易操作的事务数据拆分为至少一个记录信息;

生成与每个记录信息对应的更新版本号,将至少一个交易操作的记录信息和对应的更新版本号传输至目标服务器;

在目标服务器上,对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。

优选地,所述将每个交易操作的事务数据拆分为至少一个记录信息具体包括:

获取每个交易操作的事务数据中的至少一个操作对象和交易操作后所述操作对象的更新数据,根据所述至少一个操作对象和对应的更新数据形成至少一个记录信息。

优选地,所述生成与每个记录信息对应的更新版本号具体包括:

基于所述至少一个记录信息的时间顺序根据预设版本号更新规则依次生成与每个记录信息对应的更新版本号。

优选地,所述生成与每个记录信息对应的更新版本号具体包括:

确定每个记录信息的操作对象;

获取所述操作对象的当前版本号;

基于所述操作对象的当前版本号根据预设版本号更新规则生成所述记录信息的更新版本号;

将所述当前版本号的值替换为所述更新版本号的值。

优选地,所述对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器具体包括:

根据接收的一个记录信息得到所述记录信息的操作对象和更新数据;

将目标服务器中所述操作对象的当前版本号与更新版本号比对,若所述更新版本号大于所述当前版本号,将目标服务器上所述操作对象的基础数据替换为所述更新数据,将目标服务器上所述操作对象的当前版本号的值替换为所述更新版本号的值。

本发明还公开了一种分布式多副本数据同步系统,包括源服务器和至少一个目标服务器;

所述源服务器用于将每个交易操作的事务数据拆分为至少一个记录信息,生成与每个记录信息对应的更新版本号,将至少一个交易操作的记录信息和对应的更新版本号传输至目标服务器;

所述目标服务器用于对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。

本发明还公开了一种服务器,被配置为将每个交易操作的事务数据拆分为至少一个记录信息,生成与每个记录信息对应的更新版本号,将至少一个交易操作的记录信息和对应的更新版本号传输至目标服务器,以使所述目标服务器对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。

本发明还公开了一种服务器,被配置为接收源服务器传输的至少一个记录信息和对应的更新版本号,对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器,其中,所述至少一个记录信息为所述源服务器将每个交易操作的事务数据拆分得到的,所述更新版本号为所述源服务器根据每个记录信息对应形成的。

本发明还公开了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述方法。

本发明还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。

本发明将每个交易操作的事务数据拆分为至少一个记录,并针对每个记录信息生成相应的更新版本号。进而可将至少一个交易操作的记录信息和相应的更新版本号以无顺序无事务的方式传输至目标服务器。目标服务器通过对更新版本号校验以确定接收的记录信息的版本是否比目标服务器当前的版本更高,即目标服务器的基础数据是否为最新的基础数据,进而确定是否需要将接收的记录信息更新至目标服务器。本发明可实现单记录并发的数据同步,多个记录信息可以同时传输和同步,数据同步不依赖于事务边界,也不依赖于交易时序,从而可实现极低的数据同步延迟和极高的并发吞吐量。本发明可以将数据同步的平均延迟指标降低到小于50ms,与传统基于事务日志的串行数据同步技术相比,性能提高幅度达到1000%。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出现有技术中分布式多副本数据同步方案的示意图;

图2示出本发明一种分布式多副本数据同步方法具体实施例的流程图之一;

图3示出本发明一种分布式多副本数据同步方法具体实施例的流程图之二;

图4示出本发明一种分布式多副本数据同步方法具体实施例的流程图之三;

图5示出本发明一种分布式多副本数据同步方法具体实施例的流程图之四;

图6示出本发明一种分布式多副本数据同步方法具体实施例的流程图之五;

图7示出本发明一种分布式多副本数据同步方法一个具体例子的工作原理图;

图8示出适于用来实现本发明实施例的计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明的一个方面,本实施例公开了一种分布式多副本数据同步方法。如图2所示,本实施例中,所述方法包括:

s100:将每个交易操作的事务数据拆分为至少一个记录信息。

s200:生成与每个记录信息对应的更新版本号,将至少一个交易操作的记录信息和对应的更新版本号传输至目标服务器。

s300:在目标服务器上,对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。

本发明将每个交易操作的事务数据拆分为至少一个记录,并针对每个记录信息生成相应的更新版本号。进而可将至少一个交易操作的记录信息和相应的更新版本号以无顺序无事务的方式传输至目标服务器。目标服务器通过对更新版本号校验以确定接收的记录信息的版本是否比目标服务器当前的版本更高,即目标服务器的基础数据是否为最新的基础数据,进而确定是否需要将接收的记录信息更新至目标服务器。本发明可实现单记录并发的数据同步,多个记录信息可以同时传输和同步,数据同步不依赖于事务边界,也不依赖于交易时序,从而可实现极低的数据同步延迟和极高的并发吞吐量。

在优选的实施方式中,如图3所示,所述s100具体可包括:

s110:获取每个交易操作的事务数据中的至少一个操作对象和交易操作后所述操作对象的更新数据,根据所述至少一个操作对象和对应的更新数据形成至少一个记录信息。例如,在分布式系统的一个服务器上发生交易操作,则该服务器作为数据同步的源服务器,其他服务器为待数据同步的目标服务器,源服务器上会形成每个交易操作的事务日志。根据每个交易操作的事务日志可提取到交易操作的事务数据,该事务数据可包括交易操作涉及的至少一个操作对象和交易操作后每个操作对象基于基础数据更新的更新数据。其中,分布式系统中各服务器预存有多个操作对象、每个操作对象的基础数据以及每个操作对象的当前版本号。系统初始化时,可设置当前版本号为初始值,例如0。交易操作中根据客户端的交易请求对相应操作对象的基础数据进行处理得到更新数据,可将交易操作中每个操作对象和相应形成的更新数据作为一个记录信息。

进一步地,源服务器可针对每个记录信息形成对应的更新版本号,从而当生成多个记录信息时可将多个记录信息无顺序无事务的同时传输至目标服务器,实现单个记录的并发数据同步,而使源服务器和目标服务器间的数据同步不依赖于事务边界,也不依赖于交易时序。

源服务器中由于交易操作导致操作对象的基础数据发生变化形成更新数据,为了保证分布式系统中各服务器中副本的数据最终一致性,需要将发生交易操作的源服务器的至少一个操作对象在交易操作中形成的更新数据同步至分布式系统中的其他服务器。源服务器将交易操作的事务数据拆分得到至少一个记录信息,并针对每个记录信息设置更新版本号,目标服务器可根据目标服务器上操作对象的当前版本号对记录信息中的更新版本号进行校验,从而可确定记录信息中的更新数据与目标服务器中的基础数据形成时间的先后顺序,若记录信息中的更新版本号比目标服务器相应的当前版本号更大,则表示更新数据比目标服务器中的基础数据的形成时间更晚,更新数据的版本更高,需用更新数据替换基础数据,同时用更新版本号替换当前版本号,以使记录信息同步更新至目标服务器。

在一个实施方式中,如图4所示,所述s200中生成与每个记录信息对应的更新版本号具体可包括:

s211:根据所述至少一个记录信息的时间顺序根据预设版本号更新规则依次生成与每个记录信息对应的更新版本号。具体的,根据记录信息的时间顺序依次生成每个记录信息的更新版本号,则在目标服务器上,再针对每条记录信息中操作对象的更新版本号与目标服务器中操作对象的当前版本号进行比对,即可确定是否将该记录信息更新至目标服务器。从而在源服务器中生成每个记录信息的更新版本号时无需针对每个记录信息中的操作对象分别生成更新版本号,降低数据处理复杂度。其中,预设版本号更新规则可采用例如在当前版本号的基础上加1得到更新版本号的版本号更新规则,系统初始化时,当前版本号可取初始值0。

在其他实施方式中,如图5所示,所述s200中生成与每个记录信息对应的更新版本号具体可包括:

s221:确定每个记录信息的操作对象。

s222:获取所述操作对象的当前版本号。

s223:基于所述操作对象的当前版本号根据预设版本号更新规则生成所述记录信息的更新版本号。

s224:将所述当前版本号的值替换为所述更新版本号的值。

与上述实施方式不同的是,本实施方式中首先根据记录信息得到记录信息中的操作对象,在源服务器中根据操作对象查找该操作对象对应的当前版本号,在该操作对象的当前版本号的基础上根据预设版本号更新规则形成该操作对象的更新版本号,作为该记录信息的更新版本号。与上述实施方式相同,将记录信息和更新版本号传输至目标服务器后,目标服务器根据记录信息中的操作对象获取目标服务器中该操作对象的当前版本号,将当前版本号与更新版本号进行比对,以确定是否将该记录信息更新至目标服务器。

在优选的实施方式中,如图6所示,所述s300中对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器具体包括:

s310:根据接收的一个记录信息得到所述记录信息的操作对象和更新数据。

s320:将目标服务器中所述操作对象的当前版本号与更新版本号比对,若所述更新版本号大于所述当前版本号,将目标服务器上所述操作对象的数据替换为所述更新数据,将目标服务器上所述操作对象的当前版本号的值替换为所述更新版本号的值。

需要说明的是,本实施例中,预设版本号更新规则为在当前版本号的基础上加1形成更新版本号。在其他实施例中,预设版本号更新规则也可采用其他规则,可实现对更新版本号的校验即可。

在优选的实施方式中,目标服务器在同时接收到多个记录信息时,对每个记录信息进行校验,当记录信息的更新版本号大于相应的操作对象的当前版本号时,用记录信息中的更新数据替换目标服务器中操作对象的基础数据。当记录信息的更新版本号小于或等于相应的操作对象的当前版本号时,对于该记录信息不更新至目标服务器,即忽略处理。例如,如图7所示,源服务器通过事务日志得到事务1、事务2、事务3和事务4四条事务数据,进一步将四个事务数据分别拆分为至少一个记录信息,即将事务1的事务数据分为包括更新表a和记录1以及包括更新表c和记录1的两个记录信息,将事务2的事务数据分为包括更新表b和记录1以及包括更新表c和记录2的两个记录信息,将事务3的事务数据分为包括更新表a和记录2的记录信息,将事务4的事务数据分为包括更新表b和记录2的记录信息。其中,表a、表b和表c为操作对象,记录1和记录2为基于基础数据形成的更新数据。

源服务器进一步根据每个记录信息中的操作对象形成与每个记录信息对应的更新版本号,例如对于包括表a和记录1的记录信息,获取源服务器中表a的当前版本号(假设表a、表b和表c的当前版本号为0),在当前版本号的基础上加1得到更新版本号为1,即版本1。同样的,可得到包括表c和记录1的记录信息的更新版本号为1,即版本1;包括表b和记录1的记录信息的更新版本号为1,即版本1;包括表c和记录2的记录信息的更新版本号为2,即版本2;包括表a和记录2的记录信息的更新版本号为2,即版本2;包括表b和记录2的记录信息的更新版本号为2,即版本2。

源服务器将形成的多个记录信息和对应的更新版本号无事务无顺序的传输至目标服务器。在目标服务器上,目标服务器接收到多个记录信息和对应的更新版本号,对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。目标服务器可同时对至少一个记录信息的更新版本号进行校验,根据记录信息得到操作对象,获取目标服务器中操作对象的当前版本号,根据当前版本号校验更新版本号,若更新版本号大于当前版本号,则用记录信息中的更新数据替换目标服务器操作对象的基础数据。例如,对于操作对象表a来说,目标服务器首先处理包括表a和记录1的记录信息。查找目标服务器中表a的当前版本号(与源服务器相同,假设表a、表b和表c的当前版本号为0),该记录信息的更新版本号为1,大于表a对应的当前版本号,则用记录1替换表a的基础数据,当前版本号的值替换为更新版本号的值1,将该记录信息更新至目标服务器。同样的,目标服务器进一步处理包括表a和记录2的记录信息,更新版本号2大于当前版本号1,则将该记录信息更新至目标服务器。而当目标服务器先处理包括表c和记录2的记录信息时,该记录信息的更新版本号2大于当前版本号0,则将该记录信息更新至目标服务器,表c的当前版本号变为2。目标服务器进一步处理包括表c和记录1的记录信息时,该记录信息的更新版本号1小于表c的当前版本号2,则不更新该记录信息至目标服务器,即对该记录信息做忽略处理。基于相同原理,目标服务器可进一步先后处理包括表b和记录2以及包括表b和记录1的记录信息。从而6个记录信息中根据更新版本号可直接将最新的交易操作形成的更新数据更新至目标服务器,而无需按照时间顺序依次同步更新,提高了分布式系统中多副本数据的同步效率,降低数据同步处理的复杂度又保证了多副本数据的最终一致性。

本发明将数据同步与事务数据及交易时序完全解耦,即便是同一基础数据短时间内连续多次被修改也不需要对这些修改形成的更新数据按照发生时序排队逐一进行数据同步,而是按照单条记录无事务无顺序的并发方式进行同步,每条同步的记录信息都有一个更新版本号作为标记,同步机制将源服务器中的事务数据拆开,将每条记录信息的完整数据以及更新版本号以并发的方式发往目标服务器。既满足了数据最终一致性要求,又实现了比传统数据同步方式更高吞吐量和更低的延迟,对于实现多副本数据下分布式系统数据实时高效处理提供了更好性能表现。

下面通过一个具体例子来对本发明作进一步地说明。对于银行系统,发生转账交易和支付交易两个交易操作时,转账交易的事务成功后源服务器会产生两笔记录信息,操作对象分别是转出方账户和转入方账户,形成的更新数据分别为转出方账户和转入方账户的当前余额,针对两笔记录信息分别形成更新版本号。支付交易成功后也产生两笔记录,操作对象分别为支出账户和收款账户,形成的更新数据分别为支出账户和收款账户的当前余额,针对两笔记录信息分别形成更新版本号,因此转账和支付完成时一共会产生四笔记录信息,转出方账户对应有两笔记录信息,两个更新版本号(因为转出和支付是同一账户),转入方对应一笔记录信息和更新版本号;收款方对应一笔记录信息和更新版本号。源服务器将这四笔数据以单笔并发无事务无顺序方式发送到目标服务器,目标服务器端将接收到的四笔记录信息和更新版本号与目标服务器自身中已经存在当前版本号做对比,将大于当前版本号的记录信息更新到数据库中,等于或者小于当前版本号的记录信息放弃更新。在这种情况下目标服务器的接收机制并不需要考虑源服务器这些交易操作发生的时序和事务边界,只需要根据版本号比较确定是否更新本地的基础数据,即使发生记录后发先至或者消息重复传递的情况,数据的最终一致性也不会受到破坏。

基于相同原理,本实施例还公开了一种分布式多副本数据同步系统。本实施例中,所述系统包括源服务器和至少一个目标服务器。分布式多副本数据同步系统可包括多个服务器,其中每个服务器可以作为源服务器,也可以作为目标服务器。当一个服务器上发生交易操作需要将交易操作的记录信息同步至其他服务器时,该服务器作为源服务器,其他服务器作为目标服务器;当其他服务器发生交易操作需要将交易操作的记录信息同步至该服务器时,该服务器作为目标服务器,其他服务器作为源服务器。

其中,所述源服务器用于将每个交易操作的事务数据拆分为至少一个记录信息,生成与每个记录信息对应的更新版本号,将至少一个交易操作的记录信息和对应的更新版本号传输至目标服务器;

所述目标服务器用于对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。

由于该系统解决问题的原理与以上方法类似,因此本系统的实施可以参见方法的实施,在此不再赘述。

基于相同原理,本实施例还公开了一种服务器(源服务器)。本实施例中,所述服务器被配置为将每个交易操作的事务数据拆分为至少一个记录信息,生成与每个记录信息对应的更新版本号,将至少一个交易操作的记录信息和对应的更新版本号传输至目标服务器,以使所述目标服务器对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器。

由于该服务器解决问题的原理与以上方法类似,因此本服务器的实施可以参见方法的实施,在此不再赘述。

基于相同原理,本实施例还公开了一种服务器(目标服务器)。本实施例中,所述目标服务器被配置为接收源服务器传输的至少一个记录信息和对应的更新版本号,对更新版本号进行校验以确定是否更新对应的记录信息至目标服务器,其中,所述至少一个记录信息为所述源服务器将每个交易操作的事务数据拆分得到的,所述更新版本号为所述源服务器根据每个记录信息对应形成的。

由于该服务器解决问题的原理与以上方法类似,因此本服务器的实施可以参见方法的实施,在此不再赘述。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

在一个典型的实例中计算机设备具体包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的由客户端执行的方法,或者,所述处理器执行所述程序时实现如上所述的由服务器执行的方法。

下面参考图8,其示出了适于用来实现本申请实施例的计算机设备600的结构示意图。

如图8所示,计算机设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram))603中的程序而执行各种适当的工作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602、以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶反馈器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。

特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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