一种备份操作日志的方法,设备和系统与流程

文档序号:11154742阅读:591来源:国知局
一种备份操作日志的方法,设备和系统与制造工艺

本申请涉及数据库技术领域,尤其涉及一种备份操作日志的方法,设备和系统。



背景技术:

Mongo数据库(Mongo DataBase:MongoDB)是一款面向文档的非关系型数据库。因MongoDB支持集群模式、且不需要设计表结构和表关系,从而系统的可扩展性和可靠性提高了。因此,在Web应用快速开发的今天,MongoDB广受追捧。

在MongoDB中,用户在插入、更新数据库时都会执行相应的数据库命令。执行一条数据库命令也可称为一次数据库操作。用户对数据库每次的操作都会产生一条记录,并保存在数据库系统中,称之为操作日志(Operations Log:OpLog)。

副本集(Replica Set)是MongoDB的应用中最基本的一种集群模式。一个Replica Set包括最少3个节点,其中主节点(Primary Node:PNode)处理读、写操作,其他的至少2个从节点(Secondary Node:SNode)节点通过OpLog来同步数据。在MongoDB中,对数据库的所有操作如插入、更新、删除等操作指令及变化都会保存在OpLog中。

在备份集群数据时,通常是将主节点的数据备份到从节点上,如图1所示,包括:

步骤102:使用MongoDB的MongoDB客户端调用fsyncLock命令,并在从节点上执行该fsyncLock命令;

执行该fsyncLock命令后,从节点内存中的数据会被立即写入数据库文件中,并将当前数据库锁住,使得不能再对该数据库进行写操作,即停止了将主节点上的数据同步到从节点上的操作。这样可以在备份数据之前锁住数据库,从而可以保证数据一致性和准确性。

步骤104:使用MongoDump工具、或MongoExport工具、或文件系统复制工具备份数据库中的数据,将从节点上的数据备份到预先准备的存储设备比如磁盘中。

MongoDump工具和MongoExport工具是针对MongoDB提供的备份数据的可执行程序。使用该MongoDump工具或MongoExport工具,通过连接需要进行数据备份的节点,则可以将该节点中的数据导出。

步骤106:备份操作完成后,在从节点上执行fsyncUnlock命令,结束该从节点上的锁操作。这样,该从节点可以将主节点上的数据同步到从节点上。

正常情况下,执行fsyncUnlock命令后,从节点通过对比自身上的OpLog数据的时间戳,与主节点上OpLog数据的时间戳,从而知晓该从节点上需要从主节点上同步哪些数据。

在现有技术中,因主节点上存储OpLog数据的OpLog存储空间是有限制的,当OpLog数据写满了主节点的操作日志存储空间,又会从该主节点的操作日志存储空间的起始位置开始存储,从而覆盖之前的OpLog数据。如果在上述数据备份过程中主节点上发生了OpLog数据覆盖的情况,从节点在备份完成后同步主节点上的OpLog数据时可能无法找到在主节点上对应OpLog数据的时间戳,导致无法进行数据同步,从而使得数据库系统的数据不准确,不可靠。



技术实现要素:

本申请描述的实施例提供了一种备份操作日志的方法,设备和系统,提高系统的可靠性。

一方面,本申请提供了一种备份操作日志的方法,包括:

从节点执行数据库锁操作;

所述从节点备份所述从节点中操作日志存储空间的操作日志,并将主节点的操作日志存储空间的操作日志同步到所述从节点的影子日志存储空间;

所述从节点执行数据库解锁操作;

所述从节点终止将所述主节点的操作日志存储空间的操作日志同步到所述从节点的影子日志存储空间的操作,并使用所述影子日志存储空间和所述主节点的操作日志存储空间来同步所述从节点的操作日志存储空间的操作日志。

另一方面,本申请提供了一种从节点,所述从节点包括操作日志存储空间和影子日志存储空间;所述从节点还包括控制模块和同步模块;其中:

所述控制模块用于执行数据库锁操作或数据库解锁操作;

所述同步模块用于在所述控制模块执行数据库锁操作后,备份所述操作日志存储空间的操作日志,并将主节点的操作日志存储空间的操作日志同步到所述影子日志存储空间;

所述同步模块还用于在执行数据库解锁操作后,终止将所述主节点的操作日志存储空间的操作日志同步到所述影子日志存储空间的操作,并使用所述影子日志存储空间和所述主节点的操作日志存储空间来同步所述从节点的操作日志存储空间的操作日志。

另一方面,本申请提供了一种备份操作日志的系统,所述系统包括主节点和从节点;所述主节点包括操作日志存储空间,所述从节点包括操作日志存储空间和影子日志存储空间;其中:

所述主节点用于将所述主节点的操作日志存储空间的操作日志同步到所述从节点的影子日志存储空间或所述从节点的操作日志存储空间;

所述从节点用于执行数据库锁操作,备份所述从节点中操作日志存储空间的操作日志,并将所述主节点的操作日志存储空间的操作日志同步到所述从节点的影子日志存储空间;

所述从节点还用于执行数据库解锁操作,终止将所述主节点的操作日志存储空间的操作日志同步到所述从节点的影子日志存储空间的操作,并使用所述影子日志存储空间和所述主节点的操作日志存储空间来同步所述从节点的操作日志存储空间的操作日志。

另一方面,本申请提供了一种计算机设备,所述计算机设备包括至少一处理器和至少一存储器,所述至少一个存储器用于存储计算机程序,所述至少一个处理器执行所述计算机程序后使得所述计算机设备执行本申请所记载的方法。

另一方面,本申请一种计算机存储介质,所述计算机存储介质上储存为计算机软件指令,所述计算机软件指令运行后使计算机执行本申请所记载的方法。

相较于现有技术,本申请实施例所提供的技术方案通过在备份期间将主节点的操作日志同步到从节点的影子日志存储空间,解决了现有技术中因OpLog数据丢失导致数据库系统的数据不准确,不可靠的问题。

附图说明

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

图1为现有技术中的数据备份方法示意图;

图2为为本申请实施例提供的系统架构示意图;

图3为本申请实施例提供的操作日志备份方法的示意图;

图4为通过影子OpLog进行数据同步的场景示意图;

图5为本申请实施例提供的一种计算机设备的结构示意图;

图6为本申请实施例提供的一种从节点的结构示意图。

具体实施方式

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

本申请实施例描述的网络架构以及业务场景是为了说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

如图2所示,为本申请实施例的系统架构示意图。该系统中的数据库可以包括主节点和从节点。需要说明的是,在如图2所示以Mongo数据库为例的实现中,可以由一个主节点202和至少两个从节点204构成MongoDB的副本集Replica Set。

主节点202:主节点202上存储有数据库文件,还有一操作日志存储空间2022专门用于存储OpLog数据。该操作日志存储空间2022的大小是有限制的,该操作日志存储空间2022的大小可以设置在配置文件中,由主节点202在启动时从配置文件中读取并在主节点202上设置对应的操作日志存储空间2022。

从节点204:从节点204上可以存储从主节点202上同步得到的数据。从节点204还有一操作日志存储空间2042专门用于存储OpLog数据。该操作日志存储空间2042的大小也是有限制的,并设置在配置文件中,由从节点204在启动时从配置文件中读取并在从节点204上设置对应的操作日志存储空间2042。该从节点204上还可以设置影子日志存储空间2044,该影子日志存储空间2044可以没有空间限制。

本申请中数据库系统中的主节点202和从节点204具体可以由任意主机来实现,如普通的计算机、移动终端、工作站或服务器、专用服务器等。

图2中的系统还可以包括至少一客户端206。用户可以通过操作客户端206对MongoDB数据库进行控制、执行相应的操作,比如用户可以通过操作客户端206访问主节点202,对存储在主节点202上的数据进行读操作或写操作。需要说明的是,该客户端206可以基于各种类型的平台,包括但不限于Web Portal、IOS、安卓、Linux以及Windows平台等。该客户端106可以安装在用户设备上,本申请所涉及到的用户设备可以包括各种具有通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到各类网络的处理设备,以及各种形式移动台(Mobile station,简称MS),终端(terminal),终端设备(Terminal Equipment)等。为方便描述,本申请中,上面提到的设备统称为用户设备。

本申请的从节点204中可以增加空间不受限的影子日志存储空间2044。主节点202中的OpLog数据同步到从节点204中的影子日志存储空间2044,以影子操作日志(Shadow OpLog)的形式存在。影子操作日志在本申请中可简称为影子OpLog。影子OpLog是从节点204上创建的非Capped类型的集合,它的存储空间不受限制,会随着数据的增加而增大其存储空间。

在从节点204上进行操作日志备份期间,由于在从节点204上执行了数据库锁操作如fsyncLock命令,该从节点204上的操作日志存储空间2042不能写入,此时因在从节点204上设置了空间不受限的影子日志存储空间2044,可以将主节点202上的数据同步到影子日志存储空间2044,形成影子OpLog数据。当从节点204上的备份操作完成后,在从节点204上执行数据库解锁操作如fsyncUnlock命令,结束数据库锁状态,又可以将主节点202上的数据同步到从节点上的操作日志存储空间2042。

由于影子日志存储空间2044的大小不受限,且在数据备份期间影子日志存储空间2044与主节点202中的OpLog数据之间可以实时同步,这样即使在主节点202上发生了数据被覆盖的问题,从节点204也可以从影子日志存储空间2044获取备份期间生成的所有操作日志,从而解决现有技术中因OpLog数据丢失导致数据库系统的数据不准确,不可靠的问题。

需要进一步说明的是,上述图2及本申请的其他实施例仅以MongoDB系统为例,本申请的技术方案还可以应用到Cassandra存储系统、Redis系统或HBase数据库等其他数据库系统。Cassandra存储系统是一套开源分布式Key-Value存储系统,Redis系统是可基于内存亦可持久化的日志型的Key-Value数据库,而HBase数据库是分布式的、面向列的开源数据库。

如图3所示,为本申请实施例的操作日志备份方法的示意图。

步骤302:在从节点204上执行数据库锁操作。

具体可以是使用MongoDB的MongoDB客户端调用fsyncLock命令,在从节点204上执行该fsyncLock命令;在从节点204上执行该fsyncLock命令后,从节点204上内存中的数据会被立即写入数据库文件中,并将当前数据库锁住,即停止了将主节点202的操作日志存储空间2022中的数据同步到从节点204的操作日志存储空间2042的操作。

步骤304:将主节点202上的操作日志存储空间2022中的OpLog数据同步到从节点204的影子日志存储空间2044中,以影子OpLog数据的形式存储。

步骤306:将从节点204上操作日志存储空间2042中的OpLog数据备份到预先准备的存储设备比如磁盘中。

该步骤306可以使用MongoDump工具、或MongoExport工具、或文件系统复制工具,先连接需要进行数据备份的节点,将该节点中的数据导出并复制到预先准备的存储设备中。需要说明的是,除备份从节点204上操作日志存储空间2042中的OpLog数据外,还可以备份MongoDB的其他数据库数据,比如用户的业务数据等。

步骤308:备份操作完成后,从节点204上执行数据库解锁操作。从节点204可以先终止主节点202的操作日志存储空间2022中OpLog数据同步到从节点204的影子日志存储空间2044中的操作,然后恢复从主节点202的操作日志存储空间2022同步OpLog数据到从节点204的操作日志存储空间2042的操作。即从节点204可以使用影子日志存储空间2044和主节点202的操作日志存储空间2022中的数据来同步从节点204的操作日志存储空间2042中的操作日志。

从节点204上执行数据库解锁操作可以通过在从节点204上执行fsyncUnlock命令来实现,从而结束该从节点204上的数据库锁状态。

该步骤308中,使用影子日志存储空间2044和主节点202的操作日志存储空间2022中的数据来同步从节点204的操作日志存储空间2042中的操作日志具体可以通过如下任一种方式实现。

实现方式一:从节点204对比操作日志存储空间2042和主节点202上的操作日志存储空间2022,判断主节点202上的操作日志存储空间2022与从节点204上的操作日志存储空间2042是否有相同的操作日志。如果主节点202上的操作日志存储空间2022与从节点204上的操作日志存储空间2042有相同的操作日志,则可以说明在备份期间主节点202的操作日志存储空间2022没有发生数据覆盖的情况,可以将从节点204上OpLog数据的同步源设置为主节点202上的操作日志存储空间2022;如果主节点202上的操作日志存储空间2022与从节点204上的操作日志存储空间2042没有相同的操作日志,则说明在备份期间主节点202的操作日志存储空间2022发生数据覆盖的情况,可能部分OpLog数据已经丢失了,此种情况下可以将从节点204上OpLog数据的同步源先设置为从节点204上的影子日志存储空间2044,将从节点204上影子日志存储空间2044中的影子OpLog数据同步到从节点204上的操作日志存储空间2042;待全部影子OpLog数据同步到从节点204上的操作日志存储空间2042后,再将从节点204上OpLog数据的同步源设置为主节点204上的操作日志存储空间2022。

在具体实现中,从节点204可以根据从节点204上的操作日志存储空间2042中OpLog数据的时间戳和主节点202上的的操作日志存储空间2022中OpLog数据的时间戳,来判断主节点202上的操作日志存储空间2022与从节点204上的操作日志存储空间2042是否有相同的操作日志。当然,从节点204还可以根据操作日志的其他参数,比如操作日志的序号或内容等来判断主节点202上的操作日志存储空间2022与从节点204上的操作日志存储空间2042是否有相同的操作日志,或者根据时间戳、序号或内容等参数的任意组合来判断。

实现方式二:从节点204无需判断主节点202上的操作日志存储空间2022与从节点204上的操作日志存储空间2042是否有相同的操作日志,直接先将从节点204上OpLog数据的同步源设置为从节点204上的影子日志存储空间2044,将从节点204上影子日志存储空间2044中的影子OpLog数据同步到从节点204上的操作日志存储空间2042;待全部影子OpLog数据同步到从节点204上的操作日志存储空间2042后,再将从节点204上OpLog数据的同步源设置为主节点204上的操作日志存储空间2022。

需要说明的是,无论采用上面何种实现方式,从节点204在通过同步获得OpLog数据后,可以通过获得的OpLog数据回放MongoDB的数据库文件,从而实现从节点204和主节点202上数据的一致。

本申请的实施例中,在恢复从主节点202的操作日志存储空间2022同步OpLog数据到从节点204的操作日志存储空间2042的操作之后,可以将从节点204上影子日志存储空间2044的影子OpLog数据删除,以节省从节点204上的存储空间。

在MongoDB中,主节点上的操作日志集合可以被抽象为primary_oplog对象。在该primary_oplog对象上执行的读取、写入等操作可以通过MongoDB中的命令来实现,如oplogFetcher命令等。类似的、从节点上操作日志存储空间的操作日志集合可以被抽象为secondary_oplog对象;而从节点上影子日志存储空间中的操作日志集合可以被抽象为shadow_oplog对象,

图4为本申请中通过影子OpLog实现数据同步的场景示意图。该图中primary_oplog,shadow_oplog和secondary_oplog都是MongoDB中的对象,其中primary_oplog对象位于主节点202,shadow_oplog对象和secondary_oplog对象位于从节点204上。具体描述如下。

步骤402:shadow_oplog向primary_oplog发送oplogFetcher命令,请求同步主节点202上的OpLog数据。

步骤404:primary_oplog向shadow_oplog通过同步操作发送主节点202上的OpLog数据。

步骤406:当从节点204需要通过影子OpLog进行数据同步时,secondary_oplog向shadow_oplog发送oplogFetcher命令。

步骤408:shadow_oplog通过同步操作发送影子日志存储空间2042中的影子OpLog数据到secondary_oplog。

需要说明的是,操作日志备份过程中,从节点204在执行fsyncLock后可以创建shadow_oplog对象。由于操作日志备份过程中数据库被锁,从节点204上的secondary_oplog对象上不允许执行写操作,此时可以将写操作引入到shadow_oplog对象,并将shadow_oplog对象的属性Capped设为false,以保证有足够空间来保存影子OpLog。

本申请在从节点204增加了影子OpLog的功能。在具体业务运行过程中,是否启用影子OpLog功能,何时启用影子OpLog功能,既可以由用户自由设置,也可以通过实时监控、收集数据库系统的数据、网络情况等信息来分析、决策。比如,本申请中可以引入智能分析引擎装置,该智能分析引擎装置可以设置在主节点202上,也可以设置在从节点204上。如果智能分析引擎装置设置在主节点202上,则该智能分析引擎装置决策的结果,由主节点202发送到从节点204,由从节点204根据上述决策结果来确定是否启用影子OpLog功能、何时启用影子OpLog功能。

该智能分析引擎装置的主要功能可以包括:实时监控并收集数据、提取数据的特征并建模、模型训练与交叉验证、模型保存、模型加载、以及分析预测。该智能分析引擎装置可以用来评估预测如下数据:备份操作需要的时长need_max_time,用户在备份周期中的最大操作量max_operator_size。该智能分析引擎装置可以将模型评估预测的need_max_time和max_operator_size主动推送到客户端206;当need_max_time或max_operator_size超过预设的阈值时,则客户端206上可以产生报警,提示用户启用影子OpLog功能。当然,如果在预定的时间内用户未启用影子OpLog功能,也可以由系统自动启动影子OpLog功能。

如图5所示,为本申请实施例提供的一种计算机设备的结构示意图。计算机设备500包括至少一个处理器501,通信总线502,至少一个存储器503以及至少一个通信接口504。

处理器501可以是一个通用中央处理器(CPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。

通信总线502可包括一通路,在上述组件之间传输信息。所述通信接口504,可以是使用任何收发器一类的装置,用于与其他设备或通信网络之间的通信。这里的通信网络可以是以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。

存储器503可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的静态存储设备、随机存取存储器(random access memory,RAM)、或者可存储信息和指令的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器503可以是独立存在,通过通信总线502与处理器501相连接;存储器503也可以和处理器501集成在一起。

上述存储器503可用于存储执行本申请方案的应用程序代码;处理器501可用于执行存储器503中存储的应用程序代码。

作为具体实现的一种实施例,计算机设备500可以包括多个处理器,例如图5中的处理器501和处理器508。这些处理器中的每一个都可以是单核(single-CPU)处理器,也可以是多核(multi-CPU)处理器。每个处理器本身,如处理器501可以包括一个或多个CPU,例如CPU0和CPU1。

计算机设备500还可以包括输出设备505和输入设备506。输出设备505和处理器501通信,可以以多种方式来显示信息。输出设备505可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备、或投影仪(projector)等。输入设备506和处理器501通信,可以以多种方式接收用户的输入。输入设备506可以是鼠标、键盘、触摸屏设备或传感设备等。

计算机设备500可以是通用计算机设备、或者专用计算机设备。在具体实现中,计算机设备500可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、或嵌入式设备等。本申请实施例不限定计算机设备500的类型。

需要说明的是,图5所示的计算机设备500仅仅是给出了云服务系统中各部分的可能的硬件实现方式,根据系统各部分功能的不同或者变化,可以对计算机设备的硬件组件进行增删,以使得与系统各部分的功能进行匹配。

如图6所示,为本申请实施例提供的一种用于备份操作日志的从节点600的结构示意图,该从节点600包括操作日志存储空间602和影子日志存储空间604,影子日志存储空间604可以以非Capped类型的集合存储影子OpLog。从节点600还可以包括控制模块606和同步模块608;其中:

控制模块606用于执行数据库锁操作或数据库解锁操作;

同步模块608在控制模块606执行数据库锁操作后,备份操作日志存储空间602的操作日志,并将主节点的操作日志存储空间的操作日志同步到影子日志存储空间604;

同步模块608还可以在执行数据库解锁操作后,终止将主节点的操作日志存储空间的操作日志同步到影子日志存储空间604的操作,并使用影子日志存储空间604和主节点的操作日志存储空间中的数据来同步从节点600的操作日志存储空间602中的操作日志。

上述同步模块608可以通过如下方式实现使用影子日志存储空间604和主节点的操作日志存储空间中的数据来同步从节点600的操作日志存储空间602中的操作日志:

如果主节点的操作日志存储空间与操作日志存储空间602有相同的操作日志,同步模块608将操作日志存储空间602的同步源设置为主节点的操作日志存储空间;

如果主节点的操作日志存储空间与操作日志存储空间602没有相同的操作日志,同步模块608先将操作日志存储空间602的同步源设置为影子日志存储空间604,在完成将影子日志存储空间604的操作日志同步到操作日志存储空间602后,同步模块608再将操作日志存储空间602的同步源设置为主节点的操作日志存储空间。

上述同步模块608还可以通过如下方式将主节点的操作日志存储空间的操作日志同步到操作日志存储空间602:同步模块608先将操作日志存储空间602的同步源设置为影子日志存储空间604,在完成将影子日志存储空间604的操作日志同步到操作日志存储空间602后,同步模块608将操作日志存储空间602的同步源设置为主节点的操作日志存储空间。

需要说明的是,控制模块606可以根据操作日志的参数判断主节点的操作日志存储空间与操作日志存储空间602是否有相同的操作日志;这里的操作日志的参数可以包括如下之一或其任意组合:时间戳、或序号、或内容。

通过图6所示的从节点600,可以以计算机设备的形式存在。即本申请的上述一种设备600可以包括至少一处理器和至少一存储器,上述至少一个处理器执行上述至少一个存储器中存储的计算机程序,使得从节点600执行本申请上述实施例提供的备份操作日志的方法。需要说明的是,这里的计算机设备可以具有如图5所示的结构。

本申请实施例还提供了一种计算机存储介质,用于储存计算机软件指令,其包含用于执行本申请上述方法实施例所设计的程序。通过执行该计算机存储介质中存储的程序,可以实现本申请提供的备份操作日志的方法。

尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。

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

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

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

尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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