CN108984105B - 对网络存储设备中的复制任务进行分配的方法和设备 - Google Patents

对网络存储设备中的复制任务进行分配的方法和设备 Download PDF

Info

Publication number
CN108984105B
CN108984105B CN201710408932.3A CN201710408932A CN108984105B CN 108984105 B CN108984105 B CN 108984105B CN 201710408932 A CN201710408932 A CN 201710408932A CN 108984105 B CN108984105 B CN 108984105B
Authority
CN
China
Prior art keywords
sessions
session
processing unit
tasks
processing units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710408932.3A
Other languages
English (en)
Other versions
CN108984105A (zh
Inventor
钱悦
骆渊
商秋
任常升
韩喜玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201710408932.3A priority Critical patent/CN108984105B/zh
Priority to US15/993,852 priority patent/US10678749B2/en
Priority to US15/996,690 priority patent/US11200197B2/en
Publication of CN108984105A publication Critical patent/CN108984105A/zh
Application granted granted Critical
Publication of CN108984105B publication Critical patent/CN108984105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及对网络存储设备中的复制任务进行分配的方法和设备。例如,一种对网络存储设备中的复制任务进行分配的方法,包括:响应于接收到用于复制多个会话的请求,将用于复制多个会话中的配置会话的任务分配给网络存储设备的第一处理单元,该配置会话包含描述多个会话的配置信息;将用于复制多个会话中除配置会话之外的其他会话的多个任务分配给不同于第一处理单元的多个第二处理单元;以及响应于第一处理单元和多个第二处理单元完成各自的任务,汇总对多个会话的复制的结果。通过本公开的技术方案,可以提高处理效率,节约时间。

Description

对网络存储设备中的复制任务进行分配的方法和设备
技术领域
本公开的实施例总体涉及网络存储设备,更具体地,涉及对网络存储设备中的复制任务进行分配的方法和设备。
背景技术
目前,在网络存储设备领域,对会话的复制或恢复是存在很多应用场景的。例如,在网络存储设备进行主备切换时、在网络存储设备损坏时、抑或出现其他故障切换的情形时,会话均需要根据最近的镜像(image)进行复制。
需要复制的会话存在于设置在网络存储设备中的一个或多个虚拟数据移动器(VDM)中。例如,VDM中存在10个会话。由于目前的复制操作的设计不允许进行分组或并行操作,故用户只能利用GUI或UemCli指令对这些会话逐一进行复制操作。当面对这样的情况时,当前的设计是复杂而低效的。亟需一种更为简单有效的设计来避免这些问题。
发明内容
本公开的实施例提供了对网络存储设备中的复制任务进行分配的方法、设备和相应的计算机程序产品。
在本公开的第一方面,提供了一种对网络存储设备中的复制任务进行分配的方法。该方法包括:响应于接收到用于复制多个会话的请求,将用于复制多个会话中的配置会话的任务分配给网络存储设备的第一处理单元,该配置会话包含描述多个会话的配置信息;将用于复制多个会话中除配置会话之外的其他会话的多个任务分配给不同于第一处理单元的多个第二处理单元;以及响应于第一处理单元和多个第二处理单元完成各自的任务,汇总对多个会话的复制的结果。
在某些实施例中,在将用于复制所述配置会话的任务分配给所述网络存储设备的所述第一处理单元之后,用于复制所述配置会话的所述任务由所述第一处理单元通过有限状态机执行。
在某些实施例中,在将用于复制其他会话的多个任务分配给不同于第一处理单元的多个第二处理单元之后,用于复制其他会话的多个任务由多个第二处理单元通过各自的有限状态机执行。
在某些实施例中,将用于复制多个会话中除配置会话之外的其他会话的多个任务分配给不同于第一处理单元的多个第二处理单元包括:通过轮询其他会话,从其他会话中选择未被复制的一个会话;从多个第二处理单元中选择未被占用的一个第二处理单元;以及将用于复制一个会话的任务分配给一个第二处理单元。
在某些实施例中,其他会话是文件***会话。
在某些实施例中,多个会话属于同一虚拟数据移动器。
在本公开的第二方面,提供了一种电子设备。该设备包括:至少一个处理单元;以及至少一个存储器,其耦合至至少一个处理单元并且存储有机器可执行指令,当指令由至少一个处理单元执行时,使得设备执行动作,动作包括:响应于接收到用于复制多个会话的请求,将用于复制多个会话中的配置会话的任务分配给至少一个处理单元中的第一处理单元,配置会话包含描述多个会话的配置信息;将用于复制多个会话中除配置会话之外的其他会话的多个任务分配给不同于第一处理单元的多个第二处理单元;以及响应于第一处理单元和多个第二处理单元完成各自的任务,汇总对多个会话的复制的结果。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行上述方法的步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据现有技术的网络存储设备100的示意图;
图2示出了根据本公开的实施例的对网络存储设备中的复制任务进行分配的过程或方法的流程图;
图3示出了根据本公开的实施例的对除配置会话之外的其他会话的多个任务进行分配的过程或方法的流程图;
图4示出了根据本公开的实施例的对网络存储设备中的复制任务进行分配和处理的高级别管道图;以及
图5示出了根据本公开的实施例的对网络存储设备中的复制任务进行分配的设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其它明确的和隐含的定义。
图1示出了根据现有技术的网络存储设备100的示意图。在该网络存储设备100中,设置有多个虚拟数据移动器(VDM),例如,VDM 101等。此外,网络存储设备100还包括多个处理单元,包括第一处理单元103和多个第二处理单元105。需要复制的会话存在于网络存储设备100的每个VDM中。仅仅作为示例,假设VDM 101中存在10个会话。由于目前的复制操作的设计不允许进行分组或并行操作,故用户只能利用GUI等指令对这些会话逐一进行复制操作。又由于目前设计中一个VDM中最多可以设置500个会话,当面对这样的情况时,当前的设计是复杂而低效的,并未充分利用各处理单元103、105。目前本领域仍然没有提出任何并行、分组地处理方式,亟需一种更为简单有效的设计来避免上述问题。
为了至少部分地解决上述以及其他潜在的问题和缺陷,本公开的实施例提供了一种对网络存储设备中的复制任务进行分配的方案。图2示出了根据本公开的实施例的对网络存储设备中的复制任务进行分配的过程或方法200的流程图。在某些实施例中,方法200可以在图5示出的设备中实现。现参照图1,描述图2示出的根据本公开实施例的会话复制的过程或方法200。
在202,响应于接收到用于复制多个会话的请求,将用于复制多个会话中的配置会话的任务分配给网络存储设备100的第一处理单元103,该配置会话包含描述多个会话的配置信息。在某些实施例中,用于复制多个会话的请求是以网络存储设备100中的某个VDM(例如,VDM 101)为单位完成的。也就是说,例如,如果VDM 101被用户选择为进行复制操作,则VDM 101中的所有会话均成为需要被复制的会话。
在某些实施例中,VDM 101中的多个会话中存在一个配置会话,用于描述这些会话的配置信息。该VDM 101通常与该配置会话相关联。在某些实施例中,用户还可以先选择一个需要进行复制操作的会话,其他同组的会话可以基于该会话中包含的信息进行收集。进而,用于复制被收集的同组的多个会话中的配置会话的任务被分配给网络存储设备100的第一处理单元103。
在某些实施例中,第一处理单元103可以是专用处理单元,也可以是网络存储设备100的一个线程。在本实施例以及下文中的其他实施例中,VDM 101可以被替换为设置在网络存储设备100中的其他虚拟存储/处理器。应注意,在执行步骤202之后,不需等待网络存储设备100中的第一处理单元103完成复制任务,即可执行如下步骤204。
在204,将用于复制多个会话中除配置会话之外的其他会话的多个任务分配给不同于第一处理单元103的多个第二处理单元105。在某些实施例中,当发现与上述配置会话同组的会话没有被复制时,将复制该会话的任务分配给未被占用的第二处理单元105。由于对该会话执行的复制操作与对配置会话执行的复制操作是并行执行的,即,由于第一处理单元103已经被占用,故第二处理单元105不同于第一处理单元103。
在某些实施例中,可以通过轮询其他会话,寻找未被复制的其他会话,直至与上述配置会话同组的会话均被复制。应注意,对除配置会话之外的其他会话执行的多个复制操作是并行执行的,即,每分配一个会话的复制任务,都不需等待该任务被完成,即可进行下一分配操作。本步骤中的具体分配方式详见下文参照图3进行的描述。
在206,响应于第一处理单元103和多个第二处理单元105完成各自的任务,汇总对多个会话的复制的结果。在某些实施例中,汇总第一处理单元103和多个第二处理单元105的各自的任务完成情况,例如,复制成功、复制失败,从而根据汇总结果执行后续处理。在某些实施例中,该汇总处理还可以由已经完成对配置会话执行的复制操作的第一处理单元103来执行。当由第一处理单元130执行汇总处理时,多个第二处理单元105分别将各自的任务完成情况发送至第一处理单元130。
图3示出了根据本公开的实施例的对除配置会话之外的其他会话的多个任务进行分配的过程或方法300的流程图。本公开描述的对多个会话的复制操作的关键点在于对相关会话的复制操作进行分配。
在302,从其他会话中选择未被复制的一个会话。在某些实施例中,从其他会话中任意地选择未被复制的一个会话。在某些实施例中,根据其他会话中的每个会话中包含的特定信息顺次选择未被复制的一个会话。
在304,收集该会话的元数据。在某些实施例中,元数据例如可以包括复制ID、复制别名、复制角色以及复制状态等。复制ID是指用于表示该会话的特定ID。复制别名是指针对该会话的别名。复制角色用于表示该网络存储设备是处于源侧还是目的侧。复制状态用于表示该会话的状态。该会话的元数据(也可以称为参数)用于检测该会话是否应当进行复制操作并且用于创建一个用于创建业务逻辑对象(BLO)的事件。
在306,从多个第二处理单元105中选择未被占用的一个第二处理单元。在某些实施例中,从多个第二处理单元105中任意地选择未被占用的一个第二处理单元。在某些实施例中,根据多个第二处理单元105中的每个处理单元中包含的特定信息顺次选择未被占用的一个处理单元。在某些实施例中,第二处理单元105可以是专用处理单元,也可以是网络存储设备100的一个线程。
例如,在现有的网络存储设备中,可以存在很多线程,仅仅作为示例,存在128个线程。也就是说,当要复制的会话的个数少于或等于线程的个数时,被分配的复制任务可以在128个线程中的多个线程上并行处理,而当要复制的会话的个数多于线程的个数时,虽然需要等待至有空闲的线程,但仍然可以节约大量时间。最为关键地,本公开的复制任务分配和并行处理的方案充分利用了网络存储设备中的处理资源,没有时间或资源上的浪费。
在308,将用于复制一个会话的任务分配给一个第二处理单元105。之后,查看是否还存在其他未复制的会话。如果还存在其他未复制的会话,则继续收集该会话的元数据,并选择其他未被占用的处理单元继续复制任务,直至会话均被复制。
应理解,上述任务分配过程不会影响整个方法200的效率和性能,因为在分配过程进行的同时,各线程(处理单元103、105)在并行地处理各自的任务。
以上图2和图3示出了根据本公开的实施例的对多个复制任务进行分配的流程图,下文将从***资源层面详细描述***资源中的处理线程如何对分配的复制任务进行处理。
图4示出了根据本公开的实施例的对网络存储设备中的复制任务进行分配和处理的高级别管道图。在接收到复制请求后,主服务线程401创建409复制配置会话的事件(即,任务),以指示父处理线程(业务逻辑对象)403来处理创建的事件。仅仅作为示例,在EMC产品的Dart模块中,复制请求可以为DicXml异步请求,DicXml表示由Dart互连部分处理的xml格式的数据。当父处理线程403完成该事件时,向主服务线程401发送反馈。主服务线程401不必等待父处理线程403,而继续创建411复制多个会话中除配置会话外的其他会话的事件,以将其发送给分配线程405。之后,由分配线程405初始化413业务逻辑对象(BLO),以将其具体分配至子处理线程407。虚线框415中的动作为循环操作,直至所有会话均被复制。
这里,当分组复制操作的分配问题解决之后,我们还需要考虑分组操作执行的性能。因此,本公开引入了复制指令服务分配线程(即,分配线程405)和复制指令服务分配事件,从而支持对多个子处理线程407处的业务逻辑对象进行并行处理。在某些实施例中,复制指令服务分配线程405是同步线程,每个复制指令服务分配线程405均负责处理一个相应的复制指令服务分配事件。在某些实施例中,根据复制指令服务分配事件中的元数据信息创建内部异步复制请求,以便在每次分配循环中充当复制请求。
当分配线程405指示子处理线程407对具体分配的任务进行处理时,子处理线程407通过有限状态机来完成整个指令功能。当所有处理线程均完成分配的复制任务时,处理的结果被汇总至主服务线程401,复制结束。
下面的表1示出了传统方案与本公开实施例的技术效果的对比。
表1
Figure BDA0001311791510000081
可见,本公开的复制方式显著地减少了处理时间,并且,会话的个数越多,节省的幅度就越大。
图5示出了适合于用来实现本公开实施例的电子设备500的示意性框图。如图所示,设备500包括中央处理单元(CPU)510,其可以根据存储在只读存储器(ROM)520中的计算机程序指令或者从存储单元580加载到随机访问存储器(RAM)530中的计算机程序指令,来执行各种适当的动作和处理。在RAM 530中,还可存储设备500操作所需的各种程序和数据。CPU 510、ROM 520以及RAM 530通过总线540彼此相连。输入/输出(I/O)接口550也连接至总线540。
设备500中的多个部件连接至I/O接口550,包括:输入单元560,例如键盘、鼠标等;输出单元570,例如各种类型的显示器、扬声器等;存储单元580,例如磁盘、光盘等;以及通信单元590,例如网卡、调制解调器、无线通信收发机等。通信单元590允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如过程200,可由处理单元510执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元580。在一些实施例中,计算机程序的部分或者全部可以经由ROM 520和/或通信单元590而被载入和/或安装到设备500上。当计算机程序被加载到RAM 530并由CPU 510执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,CPU 501也可以以其他任何适当的方式被配置以实现上述过程。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、***、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行***、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体***、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。
与现有技术相比,本公开的实施例具有各种优点。例如,本公开的实施例能够在发生迁移后自动更新对话的签名,本公开的实施例还可以针对不同的场景和用户需求来自动更新对话的签名,最终使得网络存储设备中的复制会话得以保持。
通过以上描述和相关附图中所给出的教导,这里所给出的本公开的许多修改形式和其它实施方式将被本公开相关领域的技术人员所意识到。因此,所要理解的是,本公开的实施方式并不局限于所公开的具体实施方式,并且修改形式和其它实施方式意在包括在本公开的范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背离本公开的范围。就这点而言,例如,与以上明确描述的有所不同的部件和/或功能的其它组合形式也被预期处于本公开的范围之内。虽然这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并非意在进行限制。

Claims (15)

1.一种对网络存储设备中的复制任务进行分配的方法,包括:
响应于接收到用于复制多个会话的请求,将用于复制所述多个会话中的配置会话的任务分配给所述网络存储设备的第一处理单元,所述配置会话包含描述所述多个会话的配置信息;
将用于复制多个会话中除所述配置会话之外的其他会话的多个任务分配给不同于所述第一处理单元的多个第二处理单元;以及
响应于所述第一处理单元和所述多个第二处理单元完成各自的任务,汇总对所述多个会话的所述复制的结果,
其中将用于复制多个会话中除所述配置会话之外的其他会话的多个任务分配给不同于所述第一处理单元的所述多个第二处理单元包括:
通过轮询所述其他会话,从所述其他会话中选择未被复制的一个会话;
从所述多个第二处理单元中选择未被占用的一个第二处理单元;以及
将用于复制所述一个会话的任务分配给所述一个第二处理单元。
2.根据权利要求1所述的方法,其中
在将用于复制所述配置会话的任务分配给所述网络存储设备的所述第一处理单元之后,用于复制所述配置会话的所述任务由所述第一处理单元通过有限状态机执行。
3.根据权利要求1所述的方法,其中
在将用于复制所述其他会话的多个任务分配给不同于所述第一处理单元的所述多个第二处理单元之后,用于复制所述其他会话的所述多个任务由所述多个第二处理单元通过各自的有限状态机执行。
4.根据权利要求1所述的方法,其中所述其他会话是文件***会话。
5.根据权利要求1所述的方法,其中所述多个会话属于同一虚拟数据移动器。
6.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,其耦合至所述至少一个处理单元并且存储有机器可执行指令,当所述指令由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
响应于接收到用于复制多个会话的请求,将用于复制所述多个会话中的配置会话的任务分配给所述至少一个处理单元中的第一处理单元,所述配置会话包含描述所述多个会话的配置信息;
将用于复制多个会话中除所述配置会话之外的其他会话的多个任务分配给不同于所述第一处理单元的多个第二处理单元;以及
响应于所述第一处理单元和所述多个第二处理单元完成各自的任务,汇总对所述多个会话的所述复制的结果,
其中将用于复制多个会话中除所述配置会话之外的其他会话的多个任务分配给不同于所述第一处理单元的所述多个第二处理单元包括:
通过轮询所述其他会话,从所述其他会话中选择未被复制的一个会话;
从所述多个第二处理单元中选择未被占用的一个第二处理单元;以及
将用于复制所述一个会话的任务分配给所述一个第二处理单元。
7.根据权利要求6所述的设备,其中
在将用于复制所述配置会话的任务分配给所述至少一个处理单元中的所述第一处理单元之后,用于复制所述配置会话的所述任务由所述第一处理单元通过有限状态机执行。
8.根据权利要求6所述的设备,其中
在将用于复制所述其他会话的多个任务分配给不同于所述第一处理单元的所述多个第二处理单元之后,用于复制所述其他会话的所述多个任务由所述多个第二处理单元通过各自的有限状态机执行。
9.根据权利要求6所述的设备,其中所述其他会话是文件***会话。
10.根据权利要求6所述的设备,其中所述多个会话属于同一虚拟数据移动器。
11.一种计算机可读存储介质,其上存储有计算机可读程序指令,所述计算机可读程序指令被用于执行根据权利要求1至5任一项所述的方法的步骤。
12.根据权利要求11所述的计算机可读存储介质,其中
在将用于复制所述配置会话的任务分配给所述网络存储设备中的所述第一处理单元之后,用于复制所述配置会话的所述任务由所述第一处理单元通过有限状态机执行。
13.根据权利要求11所述的计算机可读存储介质,其中
在将用于复制所述其他会话的多个任务分配给不同于所述第一处理单元的所述多个第二处理单元之后,用于复制所述其他会话的所述多个任务由所述多个第二处理单元通过各自的有限状态机执行。
14.根据权利要求11所述的计算机可读存储介质,其中所述其他会话是文件***会话。
15.根据权利要求11所述的计算机可读存储介质,其中所述多个会话属于同一虚拟数据移动器。
CN201710408932.3A 2017-06-02 2017-06-02 对网络存储设备中的复制任务进行分配的方法和设备 Active CN108984105B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710408932.3A CN108984105B (zh) 2017-06-02 2017-06-02 对网络存储设备中的复制任务进行分配的方法和设备
US15/993,852 US10678749B2 (en) 2017-06-02 2018-05-31 Method and device for dispatching replication tasks in network storage device
US15/996,690 US11200197B2 (en) 2017-06-02 2018-06-04 Method and device for data duplication cutover

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710408932.3A CN108984105B (zh) 2017-06-02 2017-06-02 对网络存储设备中的复制任务进行分配的方法和设备

Publications (2)

Publication Number Publication Date
CN108984105A CN108984105A (zh) 2018-12-11
CN108984105B true CN108984105B (zh) 2021-09-10

Family

ID=64458437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710408932.3A Active CN108984105B (zh) 2017-06-02 2017-06-02 对网络存储设备中的复制任务进行分配的方法和设备

Country Status (2)

Country Link
US (2) US10678749B2 (zh)
CN (1) CN108984105B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929176B2 (en) * 2018-10-24 2021-02-23 EMC IP Holding Company LLC Method of efficiently migrating data from one tier to another with suspend and resume capability
CN115065896B (zh) * 2022-06-21 2024-04-16 中国联合网络通信集团有限公司 一种网络割接方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003740B2 (en) * 2003-07-16 2006-02-21 Microsoft Corporation Method and apparatus for minimizing weighted networks with link and node labels
CN101414277A (zh) * 2008-11-06 2009-04-22 清华大学 一种基于虚拟机的按需增量恢复容灾***及方法
CN101495988A (zh) * 2005-06-24 2009-07-29 爱尔瓦纳股份有限公司 在无线网络中的保留会话
CN101815005A (zh) * 2009-02-19 2010-08-25 凹凸电子(武汉)有限公司 网络设备、***及网络管理方法
CN102123076A (zh) * 2010-01-08 2011-07-13 丛林网络公司 网络安全设备的高可用性
CN102769626A (zh) * 2012-07-26 2012-11-07 北京神州绿盟信息安全科技股份有限公司 一种会话信息同步方法、装置以及***

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546364B2 (en) 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US7165155B1 (en) * 2003-08-29 2007-01-16 Emc Corporation System and method for tracking changes associated with incremental copying
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US7818535B1 (en) 2007-06-30 2010-10-19 Emc Corporation Implicit container per version set
US8285758B1 (en) 2007-06-30 2012-10-09 Emc Corporation Tiering storage between multiple classes of storage on the same container file system
US8037345B1 (en) 2010-03-31 2011-10-11 Emc Corporation Deterministic recovery of a file system built on a thinly provisioned logical volume having redundant metadata
US8799413B2 (en) 2010-05-03 2014-08-05 Panzura, Inc. Distributing data for a distributed filesystem across multiple cloud storage systems
CN102739703A (zh) 2011-04-02 2012-10-17 中兴通讯股份有限公司 一种对等网络中数据迁移的方法及***
CN103544075B (zh) 2011-12-31 2017-07-07 华为数字技术(成都)有限公司 数据的处理方法和***
US10447524B1 (en) 2013-03-14 2019-10-15 EMC IP Holding Company LLC Unified datapath processing with virtualized storage processors
US9424117B1 (en) 2013-03-15 2016-08-23 Emc Corporation Virtual storage processor failover
US9507787B1 (en) 2013-03-15 2016-11-29 EMC IP Holding Company LLC Providing mobility to virtual storage processors
US8996837B1 (en) 2013-03-15 2015-03-31 Emc Corporation Providing multi-tenancy within a data storage apparatus
US9092290B1 (en) 2013-03-15 2015-07-28 Emc Corporation Performing a non-disruptive software upgrade on physical storage processors having access to virtual storage processors
US9304999B1 (en) 2013-03-15 2016-04-05 Emc Corporation Virtual storage processor load balancing
US9805105B1 (en) 2013-03-15 2017-10-31 EMC IP Holding Company LLC Automatically creating multiple replication sessions in response to a single replication command entered by a user
US9639430B2 (en) 2013-08-14 2017-05-02 Globalfoundries Inc. Intermediate data backup in an incremental snapshot data backup system to reduce data backup time
US9305071B1 (en) 2013-09-30 2016-04-05 Emc Corporation Providing virtual storage processor (VSP) mobility with induced file system format migration
CN103617096A (zh) 2013-11-04 2014-03-05 华为技术有限公司 一种存储数据的复制方法、设备及***
KR102378367B1 (ko) * 2015-03-20 2022-03-24 한국전자통신연구원 분산 파일 시스템
CN105049258B (zh) 2015-08-14 2019-02-26 深圳市傲冠软件股份有限公司 网络容灾***的数据传输方法
US9933957B1 (en) 2015-12-30 2018-04-03 EMC IP Holding Company LLC Non-disruptively migrating virtual disks using virtualization appliance
US10771566B2 (en) * 2016-10-13 2020-09-08 Sierraware, Llc Device and system for cloud based mobile application virtualization
CN106777225B (zh) 2016-12-26 2021-04-06 腾讯科技(深圳)有限公司 一种数据的迁移方法和***
CN108984107B (zh) 2017-06-02 2021-06-29 伊姆西Ip控股有限责任公司 提高存储***的可用性
US10268693B1 (en) 2018-02-02 2019-04-23 EMC IP Holding Company LLC Managing migration of virtual file servers
US10747464B2 (en) 2018-10-25 2020-08-18 EMC IP Holding Company LLC Efficient data transmission techniques
US10789018B2 (en) 2018-10-31 2020-09-29 EMC IP Holding Company LLC Supporting non-disruptive movement of a logical volume of non-volatile data storage between storage appliances

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003740B2 (en) * 2003-07-16 2006-02-21 Microsoft Corporation Method and apparatus for minimizing weighted networks with link and node labels
CN101495988A (zh) * 2005-06-24 2009-07-29 爱尔瓦纳股份有限公司 在无线网络中的保留会话
CN101414277A (zh) * 2008-11-06 2009-04-22 清华大学 一种基于虚拟机的按需增量恢复容灾***及方法
CN101815005A (zh) * 2009-02-19 2010-08-25 凹凸电子(武汉)有限公司 网络设备、***及网络管理方法
CN102123076A (zh) * 2010-01-08 2011-07-13 丛林网络公司 网络安全设备的高可用性
CN102769626A (zh) * 2012-07-26 2012-11-07 北京神州绿盟信息安全科技股份有限公司 一种会话信息同步方法、装置以及***

Also Published As

Publication number Publication date
US10678749B2 (en) 2020-06-09
US20180352028A1 (en) 2018-12-06
CN108984105A (zh) 2018-12-11
US11200197B2 (en) 2021-12-14
US20190129886A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
US10585691B2 (en) Distribution system, computer, and arrangement method for virtual machine
US9350633B2 (en) Dynamic optimization of command issuance in a computing cluster
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
CN102222042B (zh) 基于云计算的软件自动化测试方法
CN114741207B (zh) 一种基于多维度组合并行的gpu资源调度方法和***
CN104699541A (zh) 同步数据的方法、装置、数据传输组件及***
CN110389843B (zh) 一种业务调度方法、装置、设备及可读存储介质
CN111338774A (zh) 分布式定时任务调度***及计算装置
WO2013080152A1 (en) Dynamically configurable placement engine
CN106033373A (zh) 一种云计算平台中虚拟机资源调度方法和调度***
JP2015532073A (ja) 使用要求の小バッチ処理のためのシステムおよび方法
US10305817B1 (en) Provisioning system and method for a distributed computing environment using a map reduce process
CN106656525B (zh) 一种数据广播***、数据广播方法及设备
CN105681426B (zh) 异构***
CN112463290A (zh) 动态调整计算容器的数量的方法、***、装置和存储介质
US8631086B2 (en) Preventing messaging queue deadlocks in a DMA environment
CN105095299A (zh) 图片抓取方法和***
CN105740085A (zh) 容错处理方法及装置
CN105373563B (zh) 数据库切换方法及装置
CN108984105B (zh) 对网络存储设备中的复制任务进行分配的方法和设备
US8977752B2 (en) Event-based dynamic resource provisioning
CN112286688A (zh) 一种内存管理和使用方法、装置、设备和介质
CN111767126A (zh) 分布式批量处理的***和方法
CN110868330B (zh) 云平台可划分cpu资源的评估方法、装置及评估***
CN116954816A (zh) 容器集群控制方法、装置、设备及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant