数据处理方法、装置及设备与流程

文档序号:17719883发布日期:2019-05-22 02:05阅读:129来源:国知局
数据处理方法、装置及设备与流程

本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置及设备。



背景技术:

重做日志包含对一个事务(亦或称数据库实例)进行所有数据修改的事务操作数据,因此通过在另一个数据库实例重放重做日志,就可以重新进行事务的所有物理操作以同步数据。例如,主库在进行事务处理时,每一次对数据进行的修改均会生成相应的事务操作数据写入重做日志。备库只有在事务执行结束后再通过重放该事务对应的重做日志来实现重复对相应数据的修改操作,由此同步数据。

而在实际应用中,当主库处理的事务为长事务或大事务时,备库只有在主库侧事务执行结束后才能利用重做日志进行重做操作,极易出现长事务带来的主库重做日志拥塞、大事务带来的主备延迟等问题。

申请内容

本申请实施例提供的一种数据处理方法、装置及设备,以解决现有技术中备库只能在主库侧事务执行结束后才能利用重做日志所带来的诸多问题。

在本申请的一个实施例中,提供了一种数据处理方法。该方法包括:

对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;

将一次处理后的所述事务操作数据写入备库;

所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

在本申请的另一个实施例中,提供了一种数据处理装置。该装置包括:

第一处理模块,用于对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;

写入模块,用于将一次处理后的所述事务操作数据写入备库;

第二处理模块,用于在所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

在本申请的又一实施例中,提供了一种数据库设备。该数据库设备包括:存储器以及处理器;

所述存储器,用于存储程序;

所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:

对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;

将一次处理后的所述事务操作数据写入备库;

所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

采用本申请实施例提供的技术方案,备库不需要等待主库侧事务执行结束再应用该事务的重做日志,备库在主库侧事务执行中即可将从重做日志解析出的事务操作数据进行写入,备库根据事务执行状态(如执行中、执行结束)对写入的数据进行处理,以使其不可见或可见,以避免未执行结束的事务操作数据被使用致使备库数据与主库数据不同步的问题出现。同时,由于本申请实施例提供的方案在事务执行中就在备库中进行了事务操作数据的写入,这样主库在长事务执行中即可将部分已写入备库的事务操作数据进行删除,进而解决现有技术中需一直保留长事务的重做日志不能删除而导致主库日志拥塞的问题;另外,由于在事务执行中就在备库进行了事务操作数据的写入,省去了等待主库执行完成大事务的时间,在大事务执行完成时即可根据写入的该事务的事务操作数据进行重做过程,可有效地缓解现有技术中大事务主备延迟较大的问题。

附图说明

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

图1为本申请一实施例提供的数据处理方法的流程示意图;

图2为本申请另一实施例提供的数据处理方法的流程示意图;

图3为本申请又一实施例提供的数据处理方法的流程示意图;

图4为本申请一实施例提供的数据处理装置的结构示意图;

图5为本申请一实施例提供的数据库设备的结构示意图;

图6为本申请另一实施例提供的数据库设备的结构示意图。

具体实施方式

长事务(longtransaction)即花费较长时间不能够结束的事务。长事务极易造成主库日志的拥塞。例如,一个长事务是10小时之前发起的,但是一直没有关闭,在10小时前到当前时间点,主库产生了100gb的重做日志。由于该长事务一直未结束,其产生的10小时内的所有事务操作数据可能出现在这100gb重做日志的任意位置,所以主库不能清除这100gb的重做日志,从而导致主库日志的拥塞。

大事务即数据处理量较大的事务。大事务极易造成主备延迟较大的问题。例如,一个大事务为更新一张很大表的所有数据或插入大量数据;该大事务可能在主库产生大量的日志,比如几十gb的重做日志,而备库需要等该大事务执行结束,才能开始应用这几十gb的重做进行备库重做以达到主库和备库的数据同步。因为只有大事务执行结束后,该事务产生的重做体制才会在备库重做,致使主备延迟非常大。比如,一个大事务在主库执行1个小时,备库应用时也要执行1个小时,那么久造成了1个小时的延迟。

因此,本申请实施例提供一种数据处理方法、装置及设备,通过解析主库侧未执行结束事务产生的重做日志中的事务操作数据,以对解析出的事务操作数据进行不可见处理的方式,避免未执行结束的事务操作数据被使用致使备库数据与主库数据不同步的问题出现;在主库侧事务执行结束时,再对写入备库的该事务的事务操作数据进行该事务执行结果对应的二次处理,以通过二次处理来决定该事务对应的事务操作数据是否可见;进行二次处理的目的是为了便于备库使用可见的事务操作数据进行重做操作;可见,本申请实施例提供的技术方案,备库不需要等待主库侧事务执行结束便可利用该事务的重做日志,能有效的解决现有技术中存储的长事务主库重做日志拥塞、大事务主备延迟较大等问题。

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

图1示出了本申请一实施例提供的数据处理方法的流程示意图。如图1所示,本实施例提供的数据处理方法包括:

101、对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见。

102、将一次处理后的所述事务操作数据写入备库。

103、所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

上述101中,主库在进行事务处理时,每一次对数据进行的修改均会生成相应的事务操作数据写入重做日志。对从重做日志中解析出的事务操作数据进行的一次处理的方式可包括但不限于如下所列的方式:

方式一、在事务操作数据中添加标记的方式。例如,使用一个2个比特位的标记数据(如00)来表征改事务操作数据不可见。一种可实现的方式是,在事务操作数据的数据头部添加有指定的标记数据(2个比特位),如00。这样,所有头部标记有00的数据均为不可见数据。不可见数据即备库不能读取到该数据并利用其进行重做等操作。

方式二、对事务操作数据按照一定的算法处理为不可见代码。其中,本实施例对该算法不作具体限定,现有技术中可实现将数据转换为不可见代码的算法均可应用于此。

上述102中,一次处理后的事务操作数据可被写入备库中的一个存储区域内。该存储区域可以是一个预先指定的区域。

上述103中,事务执行结果一般包含提交和回滚。一个事务在任一下列情况下终结:用户提交了commit(提交)或rollback(回滚)语句。提交一个事务意味着事务中执行的所有操作造成的修改持久化。回滚的意思是在一个没有提交的事务中撤销操作造成的数据修改。在事务执行结束后,上述写入备库中不可见的事务操作数据,需要进行二次处理。二次处理的目的就是为了根据事务执行结果决定事务操作数据在备库是否可见。例如,事务执行结果为提交时,可对写入备库中该事务对应的事务操作数据进行可见性处理,以便于备库可见取到该事务的事务操作数据并利用其进行重做等操作。事务执行结果为回滚时,可对写入备库中该事务对应的事务操作数据进行回滚标记处理,使得备库不能读取到该事务的事务操作数据,这样备库就无需基于该事务的事务操作数据进行重做然后回滚,避免数据修改再因回滚改回的过程。

上述二次处理方式可包括但不限于如下所列的方式:

方式一、与上述一次处理方式一对应。即若一次处理是通过在事务操作数据中添加标记实现的,则二次方式时,可通过修改该标记的方式来决定事务操作数据是否可见。例如,一个事务操作数据的头部添加了2比特位的标记数据00;在二次处理时,若事务执行结果为提交,则可将该事务操作数据的头部的标记数据00改为01;若事务执行结果为回滚,则可将该事务操作数据的头部的标记数据00改为10。其中,可预先规定标记数据00和10均为不可见标记。01为可见标记。由此,标记数据为01的事务操作数据,备库可见取并利用其进行重做等操作;而标记数据为00和10的事务操作数据,备库不可见取并利用其进行重做等操作。这里需要说明,上述表征可见的标记数据和表征不可见的标记数据仅是示例性的举例,标记数据的选取可根据实际需求设定,本申请实施例对此不作具体限定。

方式二、与上述一次处理方式二对应。即若一次处理是使用算法处理为不可见代码的方式实现的,则二次方式时,根据执行结果确定是否采用该算法的逆算法将不可见代码转换为可见数据。

采用本申请实施例提供的技术方案,备库不需要等待主库侧事务执行结束再应用该事务的重做日志,备库在主库侧事务执行中即可将从重做日志解析出的事务操作数据进行写入,备库根据事务执行状态(如执行中、执行结束)对写入的数据进行处理,以使其不可见或可见,以避免未执行结束的事务操作数据被使用致使备库数据与主库数据不同步的问题出现。同时,由于本申请实施例提供的方案在事务执行中就在备库中进行了事务操作数据的写入,这样主库在长事务执行中即可将部分已写入备库的事务操作数据进行删除,进而解决现有技术中需一直保留长事务的重做日志不能删除而导致主库日志拥塞的问题;另外,由于在事务执行中就在备库进行了事务操作数据的写入,省去了等待主库执行完成大事务的时间,在大事务执行完成时即可根据写入的该事务的事务操作数据进行重做过程,可有效地缓解现有技术中大事务主备延迟较大的问题。

主库为了区分不同事务的事务操作数据,会为每个事务操作数据设置一个主库事务号,用于区别每个事务操作数据属于哪一个事务。因此,每个事务操作数据中均包含有其所属事务的主库事务号。同样的,备库为了区分写入的不同事务的事务操作数据,也会为每个事务操作数据设置一个备库事务号。上述101中一次处理不仅包含有使事务操作数据不可见的一次处理外,还包括事务号替换的处理。例如,在一个可实现的技术方案中,上述实施例中101、对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,可具体包括:

s1、为所述事务申请备库事务号;

s2、将所述事务操作数据的所述主库事务号替换为所述备库事务号;

s3、对替换后的所述事务操作数据进行不可见标记。

上述s3可具体为:在替换后的所述事务操作数据的数据头部位置添加不可见标记符。当然,除数据头部位置外,不可见标记还可在数据的其他位置添加,本申请实施例对此不作具体限定。上述s3的具体实现过程,即上述内容中提及的一次处理方式一的方法。实质上,上述s3也可采用上述内容中提及的一次处理方式二的方法实现,本申请实施例对此不作具体限定。

这里需要说明的是:因为事务操作数据的主库事务号被替换为备库事务号,所以为了便于备库在事务执行结束时能够根据该事务的主库事务号获取到该事务对应的事务操作数据,需要关联事务的主库事务号和备库事务号。获取事务的事务操作数据的目的是为了对其进行二次处理。可见,上述实施例提供的方法还可包括:关联事务的主库事务号和备库事务号。关联信息(即主库事务号和备库事务号的对应关系)可存储在主库备库事务映射文件中。

基于上述主库事务号和备库事务号的关联关系,相应的,对上述实施例中103、所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,可包括如下步骤:

1031、从所述重做日志中解析出表征所述事务执行结束的结束数据时,根据主库事务号和备库事务号的关联关系,获取所述结束数据包含的主库事务号对应的备库事务号。

这里需要补充的是:主库上的事务在执行结束时是会生成上述结束数据,该结束数据包含有主库事务号。该结束数据其取值不同对应的执行结果即不同。例如,结束数据的取值为01时,执行结果为提交;结束数据的取值为10时,执行结果为回滚。

1032、获取写入所述备库中包含有所述备库事务号的事务操作数据。

1033、按照所述事务的执行结果,对包含有所述备库事务号的事务操作数据进行相应的二次处理。

这里主库事务号和备库事务号可相同,也可不同,本申请实施例对此不作具体限定。

在一种可实现的技术方案中,上述所述事务操作数据中包含有所述一次处理时为其添加的不可见标记符。相应的,上述103中,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,可采用如下方法实现:

所述事务的执行结果为提交时,将所述事务操作数据的不可见标记符改写为提交标记符;

所述事务的执行结果为回滚时,将所述事务操作数据的不可见标记符改写为回滚标记符;

其中,所述提交标记符表征所述事务操作数据可见,所述回滚标记符表征所述事务操作数据不可见。例如,不可见标记符可以是00;提交标记符可以是01;回滚标记符可以是10。

事务是否执行结束,可通过是否从重做日志中解析出表征事务执行结束的结束数据来确定。事务执行结果可通过识别结束数据的取值来确定。例如,结束数据的取值为01时,事务执行结果为提取;结束数据的取值为10时,事务执行结果为回滚。由此可知,上述实施例中的二次处理可以基于是否解析出表征事务执行结束的结束数据来触发。

当然也可增加如下步骤,这样在获取事务操作数据以进行二次处理时可根基于事务在提交日志(commitlog)中的备库事务号的标记来进行相应的二次处理方式,以区别不同执行结果下事务操作数据是否可见。具体的,上述实施例提供的方法还包括:

在所述备库的提交日志中添加为所述事务申请的备库事务号;

若从所述重做日志中未解析出表征所述事务执行结束的结束数据,则所述备库事务号添加执行中标记;

若从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为提交数据,则将所述执行中标记更新为提交类型标记;

若从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为回滚数据,则将所述执行中标记更新为回滚类型标记。

相应的,上述103中,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,包括:

从所述备库的提交日志中读取所述事务的备库事务号的标记;

若所述标记为提交类型标记,则将所述事务操作数据的不可见标记符改写为提交标记符;

若所述标记为回滚类型标记,则将所述事务操作数据的不可见标记符改写为回滚标记符;

其中,所述提交标记符表征所述事务操作数据可见,所述回滚标记符表征所述事务操作数据不可见。

103采用上述步骤实现的前提是事务操作数据中包含有所述一次处理时为其添加的不可见标记符,即事务操作数据采用上述一次处理方式一进行处理。

图2示出了本申请另一实施例提供的数据处理方法的流程示意图。如图2所示,本实施例提供的技术方案包括:

201、从主库正在执行的事务所产生的重做日志中解析出的事务操作数据。

202、为所述事务申请备库事务号。

203、将所述事务操作数据的所述主库事务号替换为所述备库事务号,并关联所述主库事务号和所述备库事务号。

204、对替换后的所述事务操作数据进行不可见标记。

具体实施时,在替换后的所述事务操作数据的数据头部位置添加不可见标记符。

205、在所述备库的提交日志中添加所述事务的备库事务号。

206、若从所述重做日志中未解析出表征所述事务执行结束的结束数据,则所述备库事务号添加执行中标记;若从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为提交数据,则将所述执行中标记更新为提交类型标记;若从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为回滚数据,则将所述执行中标记更新为回滚类型标记。

207、从所述备库的提交日志中读取所述事务的备库事务号的标记。

208、若所述标记为执行中标记,则不响应;若所述标记为提交类型标记,则将所述事务操作数据的不可见标记符改写为提交标记符;若所述标记为回滚类型标记,则将所述事务操作数据的不可见标记符改写为回滚标记符。

其中,所述提交标记符表征所述事务操作数据可见,所述回滚标记符表征所述事务操作数据不可见。

这里需要说明的是:上述在对事务操作数据进行一次处理时为其添加的不可见标记,如00,也可表征为:其可见性由提交日志中该事务的备库事务号对应的标记来决定。

图3示出了本申请又一实施例提供的数据处理方法的流程示意图。如图所示,本实施例提供的所述方法,包括:

301、对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据在备库中处理不可见。

302、将一次处理后的所述事务操作数据写入备库。

303、所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

304、根据可见的事务操作数据,执行备库重做操作。

上述301至303可参见上述实施例中的相关内容,此次不再赘述。

上述304中,可见的事务操作数据,即说明该事务操作数据对应的事务以提交成功,根据提交后的事务操作数据,进行备库重做操作以实现数据的同步。

因为回滚即意味着该事务实质上就没有执行过,所以对于回滚执行结果来说,备库可省去重做的过程,直接不进行重做,进而减少了不必要的操作。

在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

图4示出了本申请一实施例提供的数据处理装置的结构示意图。如图4所示,该数据处理装置包括:第一处理模块401、写入模块402和第二处理模块403。其中,第一处理模块401用于对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;写入模块402用于将一次处理后的所述事务操作数据写入备库;第二处理模块403用于在所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

进一步的,所述事务操作数据包含有所述事务的主库事务号;以及所述第一处理模块401还用于为所述事务申请备库事务号;将所述事务操作数据的所述主库事务号替换为所述备库事务号;对替换后的所述事务操作数据进行不可见标记。

一种具体实施方案中,上述第一处理模块401还用于在替换后的所述事务操作数据的数据头部位置添加不可见标记符。

进一步的,上述数据处理装置还包括关联模块。该关联模块关联所述主库事务号和所述备库事务号。

再进一步的,上述第二处理模块403还用于:从所述重做日志中解析出表征所述事务执行结束的结束数据时,根据主库事务号和备库事务号的关联关系,获取所述结束数据包含的主库事务号对应的备库事务号;获取写入所述备库中包含有所述备库事务号的事务操作数据;按照所述事务的执行结果,对包含有所述备库事务号的事务操作数据进行相应的二次处理。

进一步的,所述事务操作数据中包含有所述一次处理时为其添加的不可见标记符;以及所述第二处理模块403还用于在所述事务的执行结果为提交时,将所述事务操作数据的不可见标记符改写为提交标记符;在所述事务的执行结果为回滚时,将所述事务操作数据的不可见标记符改写为回滚标记符。其中,所述提交标记符表征所述事务操作数据可见,所述回滚标记符表征所述事务操作数据不可见。

进一步的,上述数据处理装置还可包括:添加模块及标记模块。其中,添加模块,用于在所述备库的提交日志commitlog中添加为所述事务申请的备库事务号;标记模块,用于当从所述重做日志中未解析出表征所述事务执行结束的结束数据时,所述备库事务号添加执行中标记;当从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为提交数据时,将所述执行中标记更新为提交类型标记;当从所述重做日志中解析出表征所述事务执行结束的结束数据且所述结束数据为回滚数据时,将所述执行中标记更新为回滚类型标记。

进一步的,所述事务操作数据中包含有所述一次处理时为其添加的不可见标记符;以及所述第二处理模块403还用于从所述备库的提交日志中读取所述事务的备库事务号的标记;若所述标记为执行中标记,则不响应;若所述标记为提交类型标记,则将所述事务操作数据的不可见标记符改写为提交标记符;若所述标记为回滚类型标记,则将所述事务操作数据的不可见标记符改写为回滚标记符。其中,所述提交标记符表征所述事务操作数据可见,所述回滚标记符表征所述事务操作数据不可见。

进一步的,上述数据处理装置还可包括重做模块。重做模块,用于根据所述备库中处于可见的事务操作数据,执行备库重做操作。

采用本申请实施例提供的技术方案,备库不需要等待主库侧事务执行结束再应用该事务的重做日志,备库在主库侧事务执行中即可将从重做日志解析出的事务操作数据进行写入,备库根据事务执行状态(如执行中、执行结束)对写入的数据进行处理,以使其在备库处理不可见或可见,以避免未执行结束的事务操作数据被使用致使备库数据与主库数据不同步的问题出现。同时,由于本申请实施例提供的方案在事务执行中就在备库中进行了事务操作数据的写入,这样主库在长事务执行中即可将部分已写入备库的事务操作数据进行删除,进而解决现有技术中需一直保留长事务的重做日志不能删除而导致主库日志拥塞的问题;另外,由于在事务执行中就在备库进行了事务操作数据的写入,省去了等待主库执行完成大事务的时间,在大事务执行完成时即可根据写入的该事务的事务操作数据进行重做过程,可有效地缓解现有技术中大事务主备延迟较大的问题。

这里需要说明的是:上述实施例提供的数据处理装置可实现上述各方法实施例中描述的技术方案,上述各模块或单元具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。

图5为本申请一实施例提供数据库设备的结构示意图。该数据库设备包括:存储器501以及处理器502。存储器501可被配置为存储其它各种数据以支持在数据库设备上的操作。这些数据的示例包括用于在数据库设备上操作的任何应用程序或方法的指令。存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器502与存储器501耦合,用于执行存储器501中存储的程序,以用于:

对从主库正在执行的事务所产生的重做日志中解析出的事务操作数据进行一次处理,以使一次处理后的所述事务操作数据不可见;

将一次处理后的所述事务操作数据写入备库;

所述事务执行结束时,按照所述事务的执行结果对写入所述备库的所述事务操作数据进行相应的二次处理,以通过二次处理决定所述事务操作数据是否可见。

其中,处理器502在执行存储器501中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。

进一步,如图6所示,数据库设备还包括:通信组件503、显示器504、电源组件505、音频组件506等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可见存储介质,所述计算机程序被计算机执行时能够实现上述各实施例提供的数据处理方法步骤或功能。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可见存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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