用于数据复制切换的方法和设备与流程

文档序号:16246025发布日期:2018-12-11 23:35阅读:155来源:国知局
用于数据复制切换的方法和设备与流程

本公开的实施例总体涉及数据复制,具体涉及用于数据复制切换的方法和设备。

背景技术

在网络存储技术领域,nas(网络附属存储)被广泛的使用,用以提供大容量的文件存储服务。由于存在例如升级或扩容nas系统硬件的需求,nas设备(在本文中还被称为nas服务器,或简称为nas)的管理者可能需要面对将源nas设备中的数据复制(在本文中还被称为“迁移”或“移动”)到目的地nas设备的技术问题。例如,将较旧的源nas设备上安装的所有文件系统迁移至较新目的地nas设备上。由于nas设备具有很大的数据容量,因此整个设备的迁移过程较为漫长,通常需要几个小时乃至几天时间才能将数据完整地从源传输到目的地。出于数据安全性和完整性的考虑,在整个数据迁移过程期间(或者在其中的部分时间),用户将处在无法使用nas的状态,这大大影响了用户的使用体验。

通常,用户在nas数据迁移之前连接到的是源nas设备,并在迁移之后连接到目的地nas设备。对于源和目的地nas设备来说,存在一个切换(cutover)过程。对于nas的拥有者或管理者而言,其通常希望尽可能的降低由于nas数据迁移或者切换给用户带来的不便。因此,如何合理地设计数据迁移切换的机制,从而提供更快的切换过程,成为一个挑战。



技术实现要素:

本公开的实施例提供了用于提供快速的nas服务器迁移切换的方法和装置。

根据本公开的第一方面,提供了用于数据复制切换的方法。该方法包括:启动初始数据从源设备到目的地设备的复制,该初始数据是在启动时存储于源设备上的文件系统的数据;响应于完成初始数据的复制,更新与文件系统相关联的会话;在会话的更新之后,触发源设备和目的地设备进入数据不可用状态,以执行增量数据从源设备到目的地设备的复制,增量数据是文件系统在初始数据的复制期间发生改变的数据。

根据本公开的第二方面,提供了一种用于数据复制切换的电子设备。该设备包括:至少一个处理单元;至少一个存储器,该至少一个存储器被耦合到至少一个处理单元并且存储由至少一个处理单元执行的指令,该指令当由至少一个处理单元执行时,使得该装置执行动作,动作包括:启动初始数据从源设备到目的地设备的复制,该初始数据是在启动时存储于源设备上的文件系统的数据;响应于完成初始数据的复制,更新与文件系统相关联的会话;在会话的更新之后,触发源设备和目的地设备进入数据不可用状态,以执行增量数据从源设备到目的地设备的复制,增量数据是文件系统在初始数据的复制期间发生改变的数据。

根据本公开的第三方面,提供了计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使得机器执行根据本公开的第一方面所描述的方法的任意步骤。

以上发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。

附图说明

通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。

图1示出了根据本公开的实施例的数据迁移切换处理的架构的示意图;

图2示出了根据本公开的实施例的数据迁移切换处理的流程图;

图3示出了根据本公开的实施例的用于实现数据迁移切换处理的方法的流程图;

图4示出了根据本公开的实施例的初始数据的复制过程的示意图;

图5示出了根据本公开的实施例的增量数据的复制过程的示意图;

图6示出了根据本公开的实施例的启动切换处理过程的流程图;

图7示出了根据本公开的实施例的优化效果的示意图;以及

图8示出了可以用来实施本公开的实施例的示例设备的示意性框图。

具体实施方式

下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。

在本文中使用的术语“复制”可以与“迁移”和“移动”互换使用。仅通过示例的方式,基于服务器和文件系统来描述本公开的实施例。

通常,nas设备上存储有多个的相对独立的文件系统,用于向多个用户提供基于网络文件系统协议(nfs)的服务。在nas迁移的场合,将源nas服务器上安装的文件系统复制至目的地nas服务器上安装的文件系统,通常需要较长时间(例如,几个小时至几天)。nas服务器可以包含数十个、数百个乃至更多数量的文件系统,每个文件系统单独地执行称为带内迁移工具包(imt)复制会话的文件系统级复制。

在该复制过程中,将要执行从源nas到目的地nas的切换过程,在切换过程之前,用户连接到源nas,而在切换过程最终完成之后,用户连接到的是目的地nas,并由目的地nas向用户重新提供文件系统服务。用户可能并不需要知道他所使用的nas经历了数据迁移以及切换过程。应当理解的是,在每个文件系统级复制过程中,出于对于文件系统内部的数据的完整性或安全性的考虑,在复制开始后的某一时间段之内,nas将无法向外部用户提供数据将无法连接到nas,这是由于此刻用户对文件系统的存取操作将会给数据迁移过程带来问题。这一时间段也被称为数据不可用(du)时段。

传统上,一旦开始数据迁移,就需要断开外部用户与nas服务器的连接,从而保护迁移过程的数据安全。但是这样的方案在迁移过程需要大量耗时的情况下,存在很大弊端。对于商用nas服务器而言,可接受的du时段不能太长,例如,在具有几百个文件系统的情况下,要求du时段不能超过90秒。由于nas服务器对du时段的长度较为敏感,因此希望提出一种能够有效降低du时段的迁移机制。

为了至少部分地解决上述问题以及其他潜在问题,本公开的示例实施例提出了用于快速实现nas迁移切换的机制。该机制将数据复制过程划分成两个阶段并且针对这两个阶段,优化了迁移切换的处理过程,从而有效提升了切换效率,减少了数据不可用时段。

图1示出了根据本公开的实施例的数据迁移切换的架构的示意图。应当理解,仅出于示例性的目的描述架构100的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实施例可以被体现在不同的结构和/或功能中。

如图1所示,架构100可以包括:客户端110、源设备120和目的地设备130。多个源文件系统121-123安装在源设备120上,并且将在数据迁移开始后由源设备迁移到目的地设备。在迁移完成之后,与源文件系统对应的多个目的地文件系统131-133位于目的地设备130上。例如,源设备120和目的地设备130可以是服务器。具体而言,源设备120可以是nas服务器的较旧版本,并且目的地设备130可以是文件服务器的较新版本。或者,源设备120可以是与目的地设备对等的设备。

将理解的是,源设备120上可以安装任何数目的源文件系统。每个源文件系统可以执行被称为带内迁移工具包(imt)复制会话的文件系统级复制。多个文件系统级复制可以同时进行。在数据复制期间,客户端110可以访问源设备120,从而改变文件系统的数据。

架构100还可以包括复制引擎135,其安装在目的地设备130上,用于控制每个源文件系统121-123向目的地文件系统131-133的数据复制。

图2示出了根据本公开的实施例的数据复制处理200的流程图。例如,数据复制处理200可以由如图1所示的复制引擎135来执行。应当理解的是,数据复制处理200还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。

数据复制处理200开始于框210。在框210,设置两个nas服务器之间的连接,以创建服务器级复制会话。例如图1所示的源设备120上安装有三个源文件系统121-123,则该服务器级复制会话可以具有同时执行的三个文件系统级imt复制会话。基于上述复制会话,复制引擎可以管理在源设备120和目的地设备130之间的每个文件系统对应的复制过程。

在框220,针对每个文件系统级复制会话,启动数据复制,将在复制启动的时刻源文件系统121上存在的初始数据(也被称为历史数据)复制到目的地文件系统。这一阶段被称为复制的初始阶段。在该初始阶段中,用户仍然可以连接到源文件系统并执行数据存取操作,但是这一阶段中所发生的任何数据改变,都不会被在初始阶段复制到目的地设备。

在框230,复制引擎接收到管理员发来的切换命令,针对每个文件系统级的复制会话,复制增量数据。该操作首先将要移除在初始阶段创建的用于复制初始数据的复制的imt会话,并且创建用于复制增量数据的imt会话。这里,增量数据至少包括在初始阶段期间源文件系统所累积的、发生改变的数据,这一阶段被称为复制的增量阶段。容易理解,上述所发生改变的数据可以包括,用户新增的数据、用户删除的数据、以及用户变更的数据。

在框240,复制引擎135删除文件系统级复制会话,整个复制过程完成,并由目的地设备向用户提供nas服务。

可见,在本公开的该实施例中,文件系统级复制会话在两个阶段中执行:初始阶段和增量阶段。复制的初始阶段将创建imt会话,以便将复制启动时源文件系统121上存在的初始数据复制到目的地文件系统131中。复制的增量阶段将移除在初始阶段创建的imt会话,并且创建用于复制增量数据的imt会话。由于该实施例将文件系统数据迁移过程划分为两个阶段,从而实现了在初始数据的迁移过程中,外部用户仍然能够正常使用nas服务器进行数据存取,有效改善了用户体验。

在上述方案中,从进入框230之后,存在数据不可用(du)时间段。也即,在复制引擎接收到管理员发来的切换命令并开始执行切换处理之后,复制引擎将控制每个文件系统进入增量数据的复制。在这一阶段中,用户将有一段时间既无法连接到源设备,也无法连接到目的地设备。该不可用时间段将一直持续到复制的增量阶段完成。在此之后,外部用户将连接到目的地设备,并访问目的地设备内部的文件系统。该不可用时间段是为了保证数据完整性而必须存在的,但是这将不可避免地影响用户的使用体验。

图3示出了根据本公开的实施例的用于实现数据迁移切换处理的方法的流程图。该实施例提供了对前述实施例的进一步改进。方法300例如可以由如图1所示的复制引擎135来执行。应当理解的是,方法300还可以包括未示出的附加框和/或可以省略所示出的框,本公开的范围在此方面不受限制。

在框310,复制引擎135启动数据从源设备上的源文件系统121向目的地设备上的目的地文件系统131的复制。如上所述,数据的复制被划分为两个阶段:初始阶段和增量阶段。

图4示出了根据本公开的实施例的初始数据的复制过程400的示意图。应理解的是,为描述简便起见,在图4中仅示出了源设备中的单个源文件系统121以及目的地设备中的单个目的地文件系统131。而实际上,源设备可以例如具有几百个与源文件系统121类似的其他文件系统,每个文件系统在迁移时都被复制到目的地设备。每个文件系统都单独地执行称为带内迁移工具包(imt)复制会话的文件系统级复制过程。

在初始阶段400中,在复制启动时源文件系统121上存在的初始数据被复制。具体而言,在复制启动时,复制引擎135将扫描(遍历)源文件系统121上存在的数据。被扫描到的数据即为将要在初始阶段被复制的初始数据1211。其中,对于暂时未扫描到的文件数据的修改由于将会被扫描,而被视为初始数据1211。相反,对已经扫描过的文件数据所做的修改,将会被视为增量数据1213。

在扫描完毕之后,复制引擎将针对每个文件系统,创建与初始数据的复制相关联imt会话401(下称第一会话),以将初始数据1211复制到目的地文件系统131,作为复制的初始数据1311。在复制的初始阶段400,客户端110仍然能够持续访问源设备120,从而在源文件系统121中产生增量数据1213。能够理解的是,在初始阶段400,增量数据1213仅仅被记录,而不会被复制到目的地设备。

直到在复制启动时源文件系统121上存在的所有初始数据1211被复制到目的地侧,针对初始阶段400的imt会话完成。

参照回到图3,在框320,响应于完成初始数据的复制,更新与文件系统相关联的会话。在该步骤中,复制引擎135将要移除在初始阶段400中所建立的第一会话401,并创建与随后的复制的增量阶段相关联的会话(下称第二会话)。第二会话创建完毕之后,复制引擎135并不立即开始第二会话以进入复制的增量阶段,而是令第二会话其处在等待开始的暂停状态。

值得注意的是,在该实施例中,在完成复制的初始阶段之后,复制引擎135随即就执行移除与初始数据的复制相关联的第一会话和创建与增量数据的复制相关联的第二会话的操作,并使得第二会话处于等待开始的状态。由于在执行上述更新会话的操作时,切换处理并未开始,也即并未开始增量数据的复制过程,所以外部用户能够持续访问源文件系统,因此此时尚未进入数据不可用时段。与参照图2描述的实施例相比,该进一步改进的实施例将原本在切换处理启动之后、已进入数据不可用时间段内执行的更新会话的操作移动到了切换处理之前、复制的初始阶段完成之后进行,并在会话的更新之后才触发复制引擎执行切换处理,也即触发源设备和目的地设备进入数据不可用状态,从而将增量数据复制到目的地文件系统。

框320的操作是基于这样的洞察:在初始数据复制完成之后,与初始数据的复制相关联的会话将没有意义,需要被删除;而与增量数据的复制相关联的会话需要被建立,以执行增量数据的复制。与图2对应的实施例将这样的步骤放在切换处理之后,作为复制的增量阶段的准备操作,将会占用数据不可用时段。而若创造性地将更新会话的操作移至初始数据复制完成之后、切换处理启动之前进行,则能够尽可能地减少数据不可用时段中所执行的操作,而这些操作的减少并不会导致整个数据迁移过程受到不利影响。从而,数据不可用时段的时长被尽可能降低,以提供更好的用户使用体验。

在一个实施例中,在初始阶段中复制引擎还执行如下操作:将与网络文件系统(nfs)相关联的配置信息从源设备复制到目的地设备。该配置信息例如可以是,与导出(exports)或配额(quotas)相关联的配置信息。

仍然参照图3,在框330,在会话被更新之后,管理员将发送命令,触发复制引擎进入切换处理过程,从而触发源设备和目的地设备进入数据不可用状态,以执行增量数据从源设备到目的地设备的复制。如前所述,增量数据是源文件系统121在初始数据的复制期间发生改变的数据

图5示出了根据本公开的实施例的增量数据的复制过程500的示意图。应理解的是,与图4类似,为描述简便起见,在图5中仅示出了源设备中的单个源文件系统121以及目的地设备中的单个目的地文件系统131。而实际上,源设备可以例如具有几百个与源文件系统121类似的其他文件系统,每个文件系统都单独地执行将增量数据复制到目的地文件系统131的复制过程。

在复制的增量阶段500,那些在复制的初始阶段期间累积的增量数据1213将被复制到目的地文件系统131,成为复制的增量数据1313。针对每个文件系统,复制引擎将启动之前已经预先创建的、处在等待开始状态的第二会话,并执行针对增量数据的复制过程。在复制的增量阶段500,客户端110将无法访问源设备120,同时也将无法访问目的地设备130。这样的数据不可用状态将一直延续到增量阶段500结束以后。应理解的是,在数据不可用状态结束之后,用户将能够连接到目的地设备130,以实现对目的地文件系统131的访问。

可见,与参照图2描述的实施例相比,本公开的上述实施例通过将更新与文件系统的复制过程相关联的会话移至切换处理之前进行,能够有效地、进一步地减少数据不可用时间。

在上述实施例中,复制引擎135基于以下方式启动多个第二会话:逐一启动每一个处于等待状态的第二会话,也即在获取了一个第二会话被成功启动的状态之后,才继续执行启动另一个第二会话的操作。在本公开的又一个实施例中,为了进一步提高切换处理的效率,进一步提出了一种异步处理机制。具体而言,在进入增量复制阶段之后,复制引擎将执行对多个第二会话的集合的“群组启动”。该多个第二会话例如可以是第二会话的全部或一部分。在该“群组启动”方式中,对于多个第二会话中的每一个,启动命令被统一下发,并且下发后不再获取其是否被成功启动的状态,而是默认每个第二会话已被启动并自行开始执行。随后,每隔一个固定的更新时间周期,复制引擎135将统一发送获取当前会话状态的命令给每个第二会话,以了解每个第二会话是否已经完成。通过采用如上所述的并行方式,能够更有效率地管理多个第二会话,并进一步节约时间。

图6示出了根据本公开的实施例的启动切换处理过程的流程图。根据该实施例,在目的地设备的复制引擎135接收到管理员发来的切换命令之后,其所执行的切换处理过程具体还包括以下具体步骤:

在框610,接收与源设备的网络锁管理(nlm)相关联的信息,这些信息包括用户信息以及文件锁信息。

在框620,冻结源设备的文件系统。对于源文件系统而言,事实上一直到框620之前,i/o操作一直在执行。这时,源文件系统的i/o可能已经写了一部分,并且正被写入到了操作系统的缓存中。如果切换处理不冻结文件系统的话,缓存中的数据就不会被写入硬盘中,从而造成数据丢失。在文件系统被冻结之后,与其相关联的其他任何nfs操作、nlm锁操作等都将被拒绝。也即从框620开始,进入数据不可用时段。

在框630,禁用源设备的网络接口,并在目的地设备恢复网络接口;

在框640,解冻源设备的文件系统,为将在框650开始的增量数据复制过程做准备;

在框650,启动增量复制会话,将增量数据复制到目的地文件系统。应当理解的是,框650是整个切换处理的核心步骤。

在框660,启用目的地设备的网络接口。目的地设备在此之后,就能够向外部用户提供服务了。应当理解的是,数据不可用时段到此结束。

在框670,目的地设备基于nlm锁向用户发送状态改变的通知。

由此可知,数据不可用时段自框620开始,至框660结束。在这期间,框650所执行的与增量数据的复制有关的操作是最为核心的步骤。所属领域技术人员应当理解,除了框650以外的其他各个框所对应的步骤都是辅助性的或可替代的,其可以由nas管理者根据实际情况进行更改、删除或增加。

图7示出了根据本公开的实施例的优化效果的示意图。在图7中,上图显示了根据本公开的图2的实施例的用户不可用时间的实验测量结果。从图中可以看出,随着nas设备所能够提供给用户的网络接口数量的增大,相应的数据不可用时间也随之增大。在用户接口数量例如为5时,数据不可用时间为85秒。在图7中,下图显示了根据本公开其余实施例所描述的优化方案的用户不可用时间的统计结果。该优化方案可以包括:将更新与文件系统相关联的会话的步骤从切换处理之后的增量复制阶段移到切换处理之前进行。该优化方案还可以包括:基于异步机制,并行的启动多个与增量复制相关联的会话,并执行增量复制。从图中可以看出,在用户接口数量为5时,相应的数据不可用时间显著减小到了33秒。对于其他用户接口数量的示例,也能得出同样的结论。

可见,利用本公开所提出的方案,能够更为合理地设计数据迁移切换的机制,更有效率地执行nas复制的切换处理,从而提供显著缩短的数据不可用时间,提高了用户的使用体验。

图8示出了可以用来实施本公开的实施例的示例设备800的示意性框图。如图所示,设备800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序指令,来执行各种适当的动作和处理。在ram803中,还可存储设备800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个过程和处理,例如方法300,可由处理单元801执行。例如,在一些实施例中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到ram803并由cpu801执行时,可以执行上文描述的方法300的一个或多个框。备选地,cpu801也可以通过任何其他适当的方式(例如,借助于固件)而被配置为执行上文描述的方法300。

本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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