CN106537386A - 识别用于数据写操作的文件 - Google Patents

识别用于数据写操作的文件 Download PDF

Info

Publication number
CN106537386A
CN106537386A CN201580039299.4A CN201580039299A CN106537386A CN 106537386 A CN106537386 A CN 106537386A CN 201580039299 A CN201580039299 A CN 201580039299A CN 106537386 A CN106537386 A CN 106537386A
Authority
CN
China
Prior art keywords
file
data
write operation
data write
data set
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.)
Pending
Application number
CN201580039299.4A
Other languages
English (en)
Inventor
B·J·多夫
N·J·P·B·d·M·切尔奎拉
T·唐斯
A·M·雷耶斯
R·巴尔博萨马丁斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106537386A publication Critical patent/CN106537386A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/17Details of further file system functions
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

描述了识别用于数据写操作的文件的技术。根据各个实施例,基于各种标准和/或过滤器对混合数据流进行分类以生成个体的相似数据集。数据集缓存在个体数据队列中以准备写入到持久存储。根据各个实施例,请求用于存储数据集的文件。例如,提交包括用于数据集的写参数的文件请求。基于写参数,识别并选定用于存储数据集的文件。提供用于文件的标识符,其使数据集能够被写入文件。

Description

识别用于数据写操作的文件
背景技术
当今的连接的环境生成大量的数据。例如,基于云的体系结构和服务生成能够用于诸如系统分析、诊断等等各种用途的数据。在分布式环境中处置大量数据提出了多种实现挑战。
发明内容
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在帮助确定所要求保护的主题的范围。
描述了用于识别用于数据写操作的技术。根据各个实施例,基于各种标准和/或过滤器对混合数据流分类(sort)以生成个体的相似数据集。数据集缓存在个体数据队列中以准备写入到持久存储(persistent storage)。根据各个实施例,请求用于存储数据集的文件。例如,提交包括用于数据集的写参数的文件请求。基于写参数,识别且选定用于存储数据集的文件。提供使数据集能够写入文件的用于文件的标识符。
附图说明
参考附图来描述详细说明。在图中,附图标记的最左侧数字标识附图标记首次出现的图。在说明书和图中的不同实例中使用相同的附图标记可以指示相似或等同的项。
图1是能操作以采用本文所论述的技术的示例的实现方式中的环境的说明。
图2示出了依照一个或多个实现方式用于将数据分类成数据集的示例的实现方案。
图3示出了依照一个或多个实现方式用于获得用于存储数据集的文件的示例的实现方案。
图4是描述依照一个或多个实施例用于对数据分类的方法中的步骤的流程图。
图5是描述依照一个或多个实施例用于获得用于存储数据集的文件的方法中的步骤的流程图。
图6是描述依照一个或多个实施例用于识别用于数据写操作的文件的方法中的步骤的流程图。
图7是描述依照一个或多个实施例用于选定用于数据写操作的文件的方法中的步骤的流程图。
图8是描述依照一个或多个实施例用于查明数据写操作是否成功的方法中的步骤的流程图。
图9是描述依照一个或多个实施例用于选定用于数据写操作的文件的方法中的步骤的流程图。
图10示出了参考图1所描述的示例的系统和计算设备,它们被配置为实现本文所述的技术的实施例。
具体实施方式
概述
描述了识别用于数据写操作的文件的技术。根据各个实现方式,接收包括不同类型、类别、日期等的数据的混合数据流。基于各种标准和/或过滤器来对混合数据进行分类以生成个体的相似数据集,例如,个体的同类(homogeneous)数据集。数据集缓存在个体数据队列中以准备写入到持久存储中。
根据各个实现方式,请求用于存储数据集的文件。例如,提交文件请求,其包括诸如数据集中的数据类别、数据集的大小、针对数据集的日期参数(例如,数据集的数据被收集的日期)等的对于数据集的写参数。基于写参数,识别并选定用于存储数据集的文件。提供使数据集能够写入文件的用于文件的标识符(例如,指针)。本文所论述的技术是高度可扩展的,以使能提交和满足对于许多不同的数据集的文件请求,从而提高对于大数据集合的数据写过程的效率。此外,对于文件的许多不同的请求可以并行地发生,并且本文所论述的技术使能在避免不同的文件请求之间的冲突的同时满足这些并行的请求。
根据各个实现方式,可以从许多不同的存储位置选择文件,例如在不同的地理位置和物理位置所维护的文件。此外,至少一些实现方式提供了跨多个分布式文件系统存储的文件的集中化视图,使得可以由对于存在于不同文件系统上的文件维护状态认知的实体来管理文件请求。因此,管理高度分布的文件集合的复杂度可被抽象化,而使得具有要被写的数据的实体可以简单地请求和接收文件,而不必与不同的个体文件系统协商。下面详述使能实现这些功能的各个方面和实现方式。
在下面的论述中,首先描述能操作以采用本文所述的技术的示例的环境。接着,题为“示例的实现方案”的部分描述了依照一个或多个实现方式用于识别用于数据写操作的文件的一些示例的实现方案。此后,题为“示例的程序”的部分描述了依照一个或多个实现方式用于识别用于数据写操作的文件的一些示例的程序。最后,题为“示例的系统和设备”的部分描述了依照一个或多个实现方式能操作以采用本文论述的技术的示例的系统和设备。
已经呈现了依照一个或多个实现方式的示例的实现方式的概述,现在考虑可以采用示例的实现方式的示例的环境。
示例的环境
图1是在能操作以采用本文所描述的用于识别用于数据写操作的文件的技术的示例的实现方式中的环境100的说明。一般地,环境100包括能够被用来实现本文论述的技术的各种设备、服务和功能。环境100包括数据生成器102,该数据生成器代表了生成各种类型的数据的功能。在至少一些实现方式中,数据生成器102代表分立的设备,诸如传统计算机(例如,台式个人计算机、膝上型计算机等等)、移动站、娱乐装备、智能手机、上网本、游戏控制台、手持式设备(例如,平板式设备)、可穿戴式计算设备,等等。数据生成器102还可以包括生成数据的各种服务和过程,诸如运行于数据中心的服务、分布式过程、收集环境数据的功能,等等。
环境100还包括存储管理器104,该存储管理器代表了接收和处理由数据生成器102生成的数据且使处理后的数据能够被存储系统106存储的功能。在至少一些实现方式中,存储管理器104经由网络108接收来自数据生成器102的数据。一般地,网络108代表了提供各实体之间的用于数据传输的连接性的基础设施和组件。网络108可以多种方式实现,例如经由有线网和无线网、局域网(LAN)、广域网(WAN)、因特网等的组合。
存储系统106可以通过多种方式来实现。例如,存储系统106的不同实例可以分布式在各种不同的物理和/或地理位置上。例如,个体的存储系统106可以维护存储管理器104的实例。因此,虽然示出了单个的存储管理器104,但是应当意识到,不同的实体和/或在不同的位置处可以采用存储管理器104的多个实例。可替代地或者附加地,存储管理器104可以实现为能够服务多个不同的分布式存储系统106的集中化服务。在至少一些实现方式中,存储管理器104和/或存储系统106可以经由数据中心、企业设施、基于云的存储服务等来实现。
存储管理器104包括用于实现本文所论述的用于识别用于数据写操作的文件的技术的各个组件,包括数据分类器(data sorter)110、数据写入器(data writer)112和文件经纪器(file broker)114。数据分类器110代表了对从数据生成器102接收到的数据分类以及将分类的数据置于不同的数据队列116中的功能。可以基于各种不同的标准对数据分类,其示例论述如下。一般地,数据队列116代表了用于不同类别和/或类型的数据的临时存储的功能。例如,个体的数据队列116可以各自与不同的数据类别和/或类型相关联。因此,在至少一些实现方式中,数据分类器110可以被视为取得异类数据流且将其分类到个体的同类数据集和/或数据流中的多路复用器。
数据写入器112代表从数据队列116取回数据且使数据存储到物理存储位置的功能。例如,数据写入器112从文件经纪器114请求用于存储来自特定的数据队列116的数据的存储位置。根据本文论述的实现方式,文件经纪器114访问文件表118,文件表包括由存储系统106所存储的文件120的状况信息。在至少一些实现方式中,文件表118实现为非结构化查询语言(SQL)存储结构,例如,NoSQL和/或非唯一SQL存储结构。
根据各个实现方式,文件表118识别离散的文件120和文件120的状况信息。例如,文件表118指示各个文件的存储器大小信息,例如文件的当前大小(例如,以字节计)、文件的最大存储器大小、文件有多少可得的存储空间。文件表118还可以指示文件是否可供用于写入(例如,文件当前是否正在使用和/或锁定)、文件是否已超时,等等。文件表118还包括个体文件的描述性信息,诸如存储在个体文件中的数据的类型和/或类别。文件表还可以包括个体文件的标识和/或访问信息,诸如能够用于访问个体文件的指针。
响应于来自数据写入器112的请求,文件经纪器114识别文件120中的有资格接收来自数据队列116的数据的候选文件。文件经纪器114将该文件通知数据写入器112而使得数据写入器112可以将数据写入该文件。下面论述该过程和相关过程的进一步的细节。
虽然存储管理器104的各个功能被图示为集成的,应当意识到,至少一些功能可以实现在不同的物理位置和/或由不同的实体来实现。根据各个实现方式,在环境100中所示出的不同的实体可以经由硬件、软件和/或其组合来实现。
已经描述了本文所述的技术可操作于其中的示例的环境的属性,现在考虑依照一个或多个实现方式用于识别用于数据写操作的文件的一些示例的实现方案。
示例的实现方案
下面的部分描述了依照一个或多个实现方式用于识别用于数据写操作的文件的一些示例的实现方案。示例的实现方案可以实现在上文所论述的环境100和/或任何其它适合的环境中。
图2示出了依照一个或多个实现方式用于将数据分类到数据集中的示例的实现场景200。场景200包括上文参考环境100所介绍的各个实体和组件。
在场景200中,数据分类器110接收来自数据生成器102的数据流202。数据流202可以包括任何适合类型的数据。在至少一些实现方式中,数据流202包括从各种设备、系统、传感器和/或其它数据生成机制或过程所收集的遥测数据。为了本文论述的目的,数据流202代表从不同用户设备之间的通信事件,例如互联网语音协议(VoIP)通话、视频通话、聊天会话、统一通信(UC)会话等所收集的遥测数据(例如,元数据)。然而,这不应解释为限制,数据流202可以包括任何类型的数据。
继续场景200,数据流202代表包括各种各样不同类型和类别的数据的异类(heterogeneous)数据集合。因此,数据分类器110将数据流202解析成数据集204a、数据集204b和数据集204n。一般地,数据集204a-204n对应于具有不同属性的不同的数据类别。数据分类器110将数据集204a-204n存储(例如,缓存)在相应的数据队列116中。在该特定的示例中,数据集204a存储在数据队列206a中,数据集204b存储在数据队列206b中,并且数据集204n存储在数据队列206n中。一般地,数据队列204a-204n代表分别填充有从数据流202提取的特定数据类别的临时数据仓库(例如,缓冲器)。
参考通信事件,例如,数据集204a-204n各自代表从多个不同的个体通信会话收集的不同的遥测数据。这些遥测数据的示例包括事件类型(例如,语音、视频、消息传递等)、事件日期、事件持续时间、个体事件如何开始、事件质量属性(例如,丢包百分比,事件是否被丢失,关于事件质量的用户反馈,等等)、在通信事件期间所使用的特征,等等。这些特定的数据类别仅为了示例的目的而呈现,可以根据各个实现方式而认识到和/或定义各种各样不同的数据类型和数据类别。
虽然参考单个数据流202说明了场景200,应当意识到数据流202可以表示从多个不同的数据生成器102接收到且解析成它们的构成的数据类别的许多不同的离散数据流。参考通信事件,例如数据流202可以表示来自数百万或更多不同的离散通信事件的遥测数据。
图3示出了依照一个或多个实现方式用于获得存储数据集的文件的示例的实现场景300。场景300包括上文参考环境100所介绍的各种实体和组件。在至少一些实现方式中,场景300是场景200的示例的延续。
在场景300中,数据写入器112查明数据队列206a-206n被填充了要被写入到持久存储中的数据集204a-204n。例如,数据写入器112查询数据分类器110以查明数据队列116是否具有要被写到存储中的数据。可替代地或者附加地,数据分类器220通知数据写入器112,数据队列116具有要被写到存储中的数据集204a-204n。
响应于查明数据队列116包括要存储的数据,数据写入器112将文件查询302传送到文件经纪器114。根据各个实现方式,文件查询302包括写参数304,该写参数规定关于数据集204a-204n的信息,诸如数据的类别、收集数据的日期、数据量(以字节计),等等。文件经纪器114接收文件查询302且检查请求以确定写参数。
基于写参数304,文件经纪器114识别文件表118中的文件102中的对应于写参数304的文件306a、文件306b和文件306n。例如,文件306a-306n对应于数据集204a-204n的相应的数据类别、日期等,并且对于数据集204a-204n的数据具有足够的可得的存储空间。在至少一些实现方式中,文件306a-306n是先前已经被写入有数据集204a-204n的相同或相似类别的数据的现有文件。可替代地或者附加地,如果现有文件120不能够用于特定数据集(例如,在文件表118中未被识别出),则可以为该数据集创建新文件。下面论述用于选择候选文件的具体程序。
继续场景300,文件经纪器114随后对文件306a-306n上锁,使得其它实体(例如,文件经纪器114的其它实例)无法访问文件306a-306n和/或将文件306a-306n识别为能够用于数据写入。根据各个实现方案,文件经纪器114更新文件表118以指示文件306a-306n被锁定,例如,文件306a-306n不可用和/或当前正在使用中。文件经纪器114生成查询响应308,该查询响应308包括指向文件306a-306n的指针310。一般地,指针310代表了识别文件306a-306n和/或识别文件120中的文件306a-306n的相应位置的数据。
文件经纪器114将查询响应308传送到数据写入器112。数据写入器112解析查询响应308以获得指针310。数据写入器112使用指针310来将数据集204a-204n写入文件308a-308n中的相应文件。
根据各个实现方式,在数据写入器112结束将数据集204a-204n写入相应的文件308a-308n之后,数据写入器112通知文件经纪器114,它完成了到文件306a-306n的写入。作为响应,文件经纪器114可以验证,数据集204a-204n成功地写入相应的文件306a-306n。例如,文件经纪器114查明在到文件306a-306n的写操作期间是否发生任何写错误。如果发生了错误而使得数据集204a-204n未成功地写入文件306a-306n,则文件经纪器114通知数据写入器112,数据集204a-204n未被成功地存储。在至少一些实现方式中,响应于数据写的失败,场景300可以再次被执行以选择新文件且将数据集204a-204n写入该新文件。
如果文件经纪器114查明到文件306a-306n的数据写成功,则文件经纪器114通知数据写入器112,写操作成功。数据写入器112随后可以执行其它数据写操作,例如用来自数据队列116的其它数据集开始场景200。文件经纪器114还可以更新文件表118以指示候选文件120现在可供被写入,例如,解锁文件306a-306n。文件经纪器114还可以更新文件表118以指示在相应的文件306a-306n中可得的存储空间量。在至少一些实现方式中,例如,至少一些文件120可以具有最大大小阈值。因此,如果文件写操作将导致文件102超过其最大大小阈值,则文件120可以被指示为不是该写操作的候选。
根据各个实现方式,例如,根据本文所论述的技术,可以在多个不同的存储位置上同时执行场景200和300的多个实例,以将多个不同的异类数据流分类成数据集以进行持久存储。进一步,场景200和300表示可以在时间段内重复地(例如,持续地)执行以处理所生成的新数据流的动态过程。
已经论述了示例的实现方案,现在考虑依照一个或多个实现方式的一些示例的程序的论述。
示例的程序
下面的论述描述了依照一个或多个实现方式用于识别用于数据写操作的文件的一些示例的程序。示例的程序可用在图1的环境100、图10的系统1000和/或任何其它适合的环境中。此外,示例的程序可以表示上文所述的示例的实现方案的方面的实现方式。在至少一些实现方式中,对于各个程序所描述的步骤可以自动地且独立于用户交互来实现。
图4是描述依照一个或多个实现方式的方法中的步骤的流程图。该方法描述了依照一个或多个实现方式来对数据分类的示例的程序。
步骤400接收异类数据流。例如,数据分类器110接收来自数据生成器102的数据流202。
步骤402将异类数据流分类成对应于不同数据类别的数据集。例如,异类数据可以基于各种过滤标准而过滤到不同的同类和/或半同类数据集中。能够用于对数据分类的不同的标准和/或类别的示例在上文进行了论述。在至少一些实现方式中,分类不包括分类数据的完全排序,而是可以简单地经由特定类别的数据与其它类似数据的成组来实现。
步骤404缓存数据集以准备数据集的持久存储。数据集可以存储在相应的数据队列中,其示例在上文进行了论述。
图5是描述依照一个或多个实现方式的方法中的步骤的流程图。该方法描述了依照一个或多个实现方式用于获得存储数据集的文件的示例的程序。在至少一些实现方式中,该方法描述了上文针对图4所描述的方法的示例的扩展。
步骤500查明数据集要被写到存储中。数据写入器112例如查明数据队列116包括要被写到持久存储中的数据集。在至少一些实现方式中,将来自数据队列116的数据集写到存储中的过程可以响应于数据集超过特定大小阈值(例如,以字节计)而开始。例如,上文参考图4所描述的方法可以被执行以对数据队列116追加数据直至特定的数据队列116超过阈值大小为止。响应于数据队列超过阈值大小,可以开始将来自数据队列的数据写到持久存储(例如,写到文件120)的过程。
步骤502请求用于数据集的文件。数据写入器112例如将带有数据集的写参数304的文件查询302传送到文件经纪器114。
步骤504接收指向文件的指针。例如,数据写入器112接收包括指向文件的指针310的查询响应308。例如指针310诸如基于存储器地址、到文件的链接等来识别文件的离散实例。在至少一些实现方式中,指针310指示文件中要开始数据写操作的位置,例如自文件的起始的偏移值。
步骤506利用指针来执行写操作以将数据集写入文件。数据写入器112例如将数据集写入由指针310所识别的存储位置。
步骤508传送数据写操作完成的通知。例如,数据写入器112通知文件经纪器114,数据写入器112已经完成将数据集写入文件。
步骤510接收到指示数据写操作是否成功的通知。数据写入器112例如接收到来自文件经纪器114的指示数据写操作成功或者数据写操作失败的通知。如本文其它地方所述的,如果作为操作的一部分发生了错误,则数据写操作可能失败。
步骤512查明通知是否指示数据写操作成功。如果通知指示数据写操作成功(“是”),则步骤514将数据集标记为已经成功地交托给存储。例如,数据写入器112可以通知数据分类器110,其中存储有数据集的数据队列116可用来存储其它数据,例如,数据集可能被其它数据覆写。
如果通知指示数据写操作不成功(“否”),则过程返回步骤502以开始针对数据集的新的数据写操作。在至少一些实现方式中,该方法可以多次执行直至接收到数据集的成功的数据写操作的通知。
图6是描述依照一个或多个实现方式的方法中的步骤的流程图。该方法描述了依照一个或多个实现方式用于识别用于数据写操作的文件的示例的程序。
步骤600接收对用于数据集的数据写操作的文件的请求。该请求例如包括用于数据写操作的参数,例如用于写操作的数据类别、要写入的数据的量(例如,以字节计的大小)、要写入的数据的各种描述性属性,等等。该请求例如可以经由上文参考图3所论述的文件查询302来实现。例如,该请求可以是对存储根据上文参考图4所描述的方法来生成缓存数据集的文件的请求。
步骤602识别能够用于数据写操作的文件。文件经纪器114例如对于作为接收数据写操作的候选的文件120扫描和索引文件表118。在至少一些实现方式中,文件经纪器114将来自请求的参数与可用文件120的参数匹配,诸如具有与关联于数据写操作的数据相同或相似类别的数据的文件。文件经纪器114例如将来自文件查询302的写参数304与不同文件120的属性匹配以识别与写参数304中的一个或多个相匹配的文件。下面论述用于选择用于数据写操作的文件的具体程序。
步骤604传送用于文件的指针。文件经纪器114例如将包含指向候选文件的指针310的查询响应308传送到数据写入器112。指针310可以包括使能访问候选文件的各种信息,例如文件的存储器地址、到文件的链接(例如,文件的统一资源指示符(URI)、文件的统一资源定位符(URL)等),等等。
步骤606接收已经对文件执行数据写操作的指示。例如,文件经纪器114接收来自数据写入器112的数据写操作完成的通知。
步骤608查明数据写操作是否成功。文件经纪器114例如检查文件以查明任何错误是否已发生作为数据写操作的部分,诸如数据破坏、文件破坏、数据写失败等等。判定数据写操作是否成功的示例的方式详述如下。
如果数据写操作成功(“是”),则步骤610传送数据写操作成功的通知。例如,文件经纪器114将数据写操作成功的通知传送到数据写入器112。在至少一些实现方式中,存储用于数据写操作的数据的数据队列116可以响应于成功的数据写操作的通知而被清除,例如释放出缓冲器空间以便写入另外的数据集以存储。
如果数据写操作不成功(“否”),则步骤612传送数据写操作失败的通知。例如,如果文件经纪器114确定有错误作为数据写操作的部分而发生,则文件经纪器114通知数据写入器112,数据写操作失败。在至少一些实现方式中,数据写入器112可以响应于失败的通知而开始对数据集的另一数据写操作,例如上文参考图5所论述的。
图7是描述依照一个或多个实现方式的方法中的步骤的流程图。该方法描述了依照一个或多个实现方式的选择用于数据写操作的文件的示例的程序。在至少一些实现方式中,该方法描述了实现上文参考图6所描述的方法的各个方面的具体的方式。
步骤700查明现有文件是否能够用于数据集的数据写操作。文件经纪器114例如查明文件表118是否包括匹配数据集的一个或多个写参数且具有足以用于存储数据集的可得的存储空间的文件120的记录。用于数据集的不同的写参数的示例论述如上。
如果现有文件能够用于数据写操作(“是”),则步骤702选择该现有文件。例如,文件经纪器114选择文件表118中被识别为与数据集匹配的写参数,具有足以存储数据集的存储空间且能够用于写入(例如,未被另一过程锁定)的现有文件。
如果现有文件不能够用于数据写操作(“否”),则步骤704查明是否识别出与数据写操作的写参数相匹配的超时文件。在至少一些实现方式中,超时文件是指被锁定用于不同的数据写操作但是已经超出其分配时间的文件。例如,当文件被选定用于数据写操作时,文件被锁定而使得其它过程无法访问该文件例如用于数据读/写操作。作为对文件进行锁定的一部分,启动文件的锁定时器(lock timer)。一般地,锁定时器对应于文件租借给相关联的过程(例如,数据写入器112)以便对文件执行数据写操作的时间量。可以对锁定时器规定任何适合的时间量,例如分钟、秒等的离散数量。
当锁定时器到期时,文件可被指示为超时而使得其它过程可以与文件交互,例如,用于读/写操作。例如,超时文件可以被获得且锁定以用于不同的数据写操作,即使原始超时数据写操作未完成。在数据写操作在其完成之前超时且另一过程获得该文件的情形下,数据写操作可能失败而使得其可以利用不同的文件重新开始(例如,重新尝试)。
根据各个实现方式,文件表118可以跟踪锁定文件的锁定时器状况。因此,当文件的锁定时器到期时,文件可以在文件表118中被标记为超时而使得其可供其它过程(例如,其它的数据写操作)来访问。
返回该方法,如果识别出匹配文件的写参数的超时文件(“是”),则步骤706选择超时文件。如果匹配文件的写参数的超时文件未被识别出(“否”),则步骤708选择用于写操作的新文件。例如,文件经纪器114与特定的存储系统106通信且使得创建对应于用于数据写操作的写参数的新文件120。
步骤710锁定用于数据写操作的选定文件。文件经纪器114例如将文件表118中的文件标记为锁定以用于特定的数据写操作,而使得仅允许数据写操作访问该文件。
图8是描述依照一个或多个实现方式的方法中的步骤的流程图。该方法描述了依照一个或多个实现方式用于查明数据写操作是否成功的示例的程序。在至少一些实现方式中,该方法描述了上文参考图7所描述的方法的扩展和/或延续。
步骤800传送能够用于数据写操作的文件的通知。文件经纪器114例如将带有指针310的查询响应308传送到数据写入器112。在至少一些实现方式中,文件对应于根据上文结合图7所论述的方法而选定的文件。
步骤802接收对文件的数据写操作完成的指示。例如,文件经纪器114接收数据写入器112结束对文件写数据的通知。
步骤804尝试对文件的数据写操作的锁定时器进行延长。文件经纪器114例如与文件表118交互以尝试延长用于数据写操作的锁定时器上剩余的时间。在至少一些实现方式中,延长锁定时器涉及到将额外的时间添加到当前正在流逝(例如,尚未到期)的锁定时器。延长锁定时器还可以包括刷新或重启已经到期的锁定时器。根据各个实现方式,锁定时器可以被延长预先规定的时间量,例如,以秒、分钟等计。可替代地或者附加地,锁定时器所延长的时间量可以动态地确定,例如基于各种数据写属性。这些数据写属性的示例包括在数据写操作中所涉及到的数据量、数据的类型、数据的优先级,等等。
步骤806查明延长锁定时器的尝试是否成功。如果延长锁定时器的尝试未成功(“否”),则步骤808生成数据写操作失败的指示。在至少一些实现方式中,如果锁定时器到期且另一过程锁定该文件例如用于数据写和/或读操作,则延长锁定时器的尝试可能失败。例如,另一过程可以“窃取”在数据写操作期间已经超时的文件。如上文所提及,锁定时器到期的文件可以在文件表118中被指示为超时文件而使得其它过程(例如,其它的数据写操作)可以锁定该文件以便使用。参见例如上文参考图7所描述的步骤704。
根据各个实现方式,文件经纪器114可以通知数据写入器112,数据写操作失败。因此,在数据写操作中所涉及到的数据可以被标记以用于后续的数据写操作。此外,文件的被写入而作为失败的数据写操作的部分的部分可以被指示为可供用于后续的数据写。例如,作为失败的数据写操作的部分而被写的数据未经过使得数据变成持久在文件中的交托操作。因此,数据可被其它数据覆写,且可能例如对于读操作不可见。
返回该方法,如果延长锁定时器的尝试成功(“是”)则步骤810持续由于数据写操作导致的对文件的改变。文件经纪器114例如将锁定时器延长离散的时间量,在该离散的时间量期间文件经纪器114使得对数据执行交托(commit)操作,而使数据持续(persist)到文件中。根据各个实现方式,这使得数据能对其它过程可见,使得数据能够被读和/或以各种方式处理。
步骤812解锁文件。例如,文件经纪器114将文件表118中的文件标记为能够用于其它的数据写操作。在至少一些实现方式中,文件经纪器114可以更新文件表118中的文件的状况信息,例如在文件中剩余的存储空间的量、存储在文件中的数据的类别,等等。
步骤814传送数据写操作持续到文件的确认。文件经纪器114例如将数据写操作中所涉及到的数据持续(例如,交托)到文件的通知传送到数据写入器112。
图9是描述依照一个或多个实现方式的方法中的步骤的流程图。该方法描述了依照一个或多个实现方式用于选择用于数据写操作的文件的示例的程序。在至少一些实现方式中,该方法描述了参考图6所论述的步骤602的具体的实现方式,和/或根据参考图7所论述的方法来选择文件的实现细节。
步骤900响应于对文件的请求而识别成批的候选文件。文件经纪器114例如从文件表118中识别出匹配与文件请求相关联的写参数的多个可用(例如,解锁)文件。可替代地或者附加地,文件经纪器114可以从文件表118中识别出匹配与文件请求相关联的写参数的超时文件。根据各个实现方式,成批的文件可以包括可得的文件、超时的文件或者两者的组合。
步骤902从成批的候选文件中选出文件。例如,文件经纪器114可以采用任何适合的随机选择算法来从成批的候选文件中选出文件的实例。在至少一些实现方式中,随机文件选择有助于避免与其它过程的文件冲突,其它过程例如为识别用于其它数据写操作的文件的其它的文件经纪器114。
步骤904以指向选定文件的指针来应答请求。文件经纪器114例如将指针传送到数据写入器112以用作数据写操作的一部分。不同的文件指针的示例如上文所论述。
虽然上文参考个体的数据写操作论述了上文呈现的各个示例,应意识到,本文所论述的技术是可扩展的以使得对于若干不同的数据集开始和管理(例如,并行地)若干数据写操作。
已经论述了一些示例的程序,现在考虑依照一个或多个实现方式的示例的系统和设备的论述。
示例的系统和设备
图10示出了代表可以实现本文所描述的各种技术的一个或多个计算系统和/或设备的示例的系统,一般以1000表示,其包括示例的计算设备1002。例如,上述的客户端设备102、网络控制器118和/或远程配置服务128可以具体体现为计算设备1002。计算设备1002可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其它适合的计算设备或计算系统。
如图所示的示例的计算设备1002包括处理系统1004、一个或多个计算机可读介质1006和一个或多个输入/输出(I/O)接口1008,它们彼此通信耦合。虽然没有示出,计算设备1002还可以包括将各组件彼此耦合的系统总线或其它数据和命令传输系统。系统总线可以包括不同总线结构的任意一个或组合,诸如使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围设备总线、通用串行总线和/或处理器或本地总线。还可以设想其它各种示例,例如,控制线和数据线。
处理系统1004代表了利用硬件来执行一个或多个操作的功能。因此,处理系统1004被图示为包括可被配置为处理器、功能块等的硬件元件1010。这可以包括以硬件实现为专用集成电路或利用一个或多个半导体形成的其它逻辑器件。硬件元件1010不受形成它们的材料或本文所采用的处理机制限制。例如,处理器可以由半导体和/或晶体管(电子集成电路(IC))构成。在该上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1006被图示为包含存储器/存储设备1012。存储器/存储设备1012代表了与一个或多个计算机可读介质相关联的存储器/存储设备容量。存储器/存储设备1012可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储设备1012可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如,闪存、可移除硬盘驱动器、光盘等)。计算机可读介质1006可以如下面进一步描述的其它各种方式来配置。
输入/输出接口1008代表允许用户输入命令和信息到计算设备1002以及还允许利用各种输入/输出设备向用户和/或设备的其它组件呈现信息的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音识别和/或口语输入)、扫描仪、触控功能(例如,被配置为检测物理触摸的电容或其它传感器)、照相机(例如,可以采用诸如红外频率的可见或非可见波长来检测作为姿势的未涉及触摸的运动),等等。输出设备的示例包括显示设备(例如,监控器或投影仪)、扬声器、打印机、网卡、触觉响应设备,等等。因此,计算设备1002可以如下文所描述的多种方式来配置以支持用户交互。
可以在软件、硬件元件或程序模块的一般上下文中在此描述各个技术。一般地,这些模块包括执行特定的任务和/或实现特定的抽象数据类型的例程、程序、对象、元件、组件、数据结构等。本文所使用的术语“模块”、“功能”、“服务”和“组件”一般表示软件、固件、硬件或其组合。本文所描述的技术的特征是平台独立的,意味着这些技术可以实现在具有各种处理器的各种商用计算平台上。
所描述的模块和技术的实现方式可以存储在某形式的计算机可读介质上或者在某形式的计算机可读介质上传输。计算机可读介质可以包括可由计算设备1002访问的各种介质。通过示例而非限制的方式,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”可以是指使能持久存储信息的介质和/或设备,与单单信号传输、载波或信号本身不同。计算机可读存储介质不包含信号本身。计算机可读存储介质包括诸如以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据的信息的方法或技术实现的易失性和非易失性、可移除和非可移除介质和/或存储设备的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、硬盘、磁盒、磁带、磁盘存储或其它磁存储设备、或其它存储设备、有形介质或适合于存储所需信息且可由计算机访问的制品。
“计算机可读信号介质”可以是指被配置为例如经由网络向计算设备1002的硬件传输指令的信号承载介质。信号介质典型地可以具体实施计算机可读指令、数据结构、程序模块或调制数据信号中的其它数据,例如载波、数据信号或其它传输机制。信号介质还包括任何信息输送介质。术语“调制数据信号”意指使其一个或多个特性以将信息编码到信号中的方式来设定或改变的信号。通过示例而非限制的方式,通信介质包括诸如有线网或直接接线连接的有线介质以及诸如声波、射频(RF)、红外和其它无线介质的无线介质。
如之前所描述的,硬件元件1010和计算机可读介质1006代表了可以在一些实现方式中采用来实现本文所描述的技术的至少一些方面的、以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)和在硅或其它硬件器件中的其它实现方式的组件。在该上下文中,硬件元件可以操作作为执行由用来存储用于执行的指令的硬件元件以及硬件器件(例如,之前所描述的计算机可读存储介质)所具体实施的指令、模块和/或逻辑所定义的程序任务的处理设备。
上述的组合还可以具体实施以实现本文所述的各种技术和模块。因此,软件、硬件或程序模块和其它程序模块可以实现为具体实施在某形式的计算机可读存储介质上和/或由一个或多个硬件元件1010具体实施的一个或多个指令和/或逻辑。计算设备1002可以别配置为实现对应于软件和/或硬件模块的特定的指令和/或功能。因此,能够由计算设备1002执行的作为软件的模块的实现方式可以至少部分地以硬件来实现,例如,通过使用处理系统的计算机可读存储介质和/或硬件元件1010。指令和/或功能可以是由一个或多个制品(例如,一个或多个计算设备1002和/或处理系统1004)能执行的/能操作的以实现本文所描述的技术、模块和示例。
如图10中进一步图示的,示例的系统1000实现了当运行应用于个人计算机(PC)、电视设备和/或移动设备上时用于无缝用户体验的普遍存在的环境。当在使用应用、播放视频游戏、观看视频等的同时从一个设备过渡到下一设备时,服务和应用对于共同的用户体验在所有三种环境中运行基本相似。
在示例的系统1000中,多个设备通过中央计算设备来互连。中央计算设备可以在多个设备的本地或者可以在多个设备的远程定位。在一个实施例中,中央计算设备可以是通过网络、因特网或其它数据通信链路与多个设备连接的一个或多个服务器计算机的云。
在一个实施例中,该互连体系结构使能在多个设备之间输送功能以向多个设备的用户提供共同的且无缝的体验。多个设备中的每个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来向设备输送既针对设备进行调整又对全部设备共用的体验。在一个实施例中,创建一类目标设备,并且针对通用类的设备来调整体验。一类设备可由设备的物理特征、使用类型或其它共同特性来定义。
在各个实现方式中,计算设备1002可以采用各种不同的配置,例如计算机1014、移动设备1016和电视机1018等用途。这些配置中的每一个配置包括通常可具有不同的构造和能力的设备,并且因此,计算设备1002可以根据不同的设备类中的一种或多种来配置。例如,计算设备1002可以实现为包含个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的计算机1014设备类。
计算设备1002还可以实现为包括移动设备的移动设备1016设备类,诸如移动电话、可佩戴设备、便携式音乐播放器、便携式游戏设备、平板式计算机、多屏幕计算机等。计算设备1002还可以实现为包括在临时观看环境中具有通常较大的屏幕或与通常较大的屏幕连接的设备的电视机1018设备类。这些设备包括电视机、机顶盒、游戏控制器等。
本文所描述的技术可以由计算设备1002的这些各种配置来支持并且不限于本文所描述的技术的具体示例。例如,参考客户端设备102、网络控制器118和/或远程配置服务128所论述的功能可以全部或部分地通过使用分布式系统来实现,例如经由平台1022在“云”1020上实现,如下文所述。
云1020包括和/或代表用于资源1024的平台1022。平台1022抽象了云1020的硬件(例如,服务器)和软件资源的底层功能。资源1024可以包括可以在计算机处理执行于远离计算设备1002的服务器上时所能使用的应用和/或数据。资源1024还可以包括在因特网上和/或通过订阅者网络(例如,蜂窝或Wi-FiTM网络)所提供的服务。
平台1022可以抽象出将计算设备1002与其它计算设备连接的资源和功能。平台1022还可以起到抽象资源的缩放以提供相应级别的缩放给所遇到的对经由平台1022实现的资源1024的需求的作用。因此,在互连设备实施例中,本文所描述的功能的实现方式可以遍布系统1000分布。例如,功能可以部分地实现在计算设备1002上以及经由抽象云1020的功能的平台1022来实现。
本文论述的是可以实现以执行本文所论述的技术的多种方法。这些方法的方面可以用硬件、固件或软件或其组合来实现。方法显示为规定由一个或多个设备执行的操作的一组步骤,而不一定限于所示的相应块执行操作的顺序。此外,关于特定的方法所显示的操作可以与依照一个或多个实现方式的不同的方法的操作组合和/或互换。方法的方面可以经由上文参考环境100所论述的各实体之间的交互来实现。
结论
描述了用于识别用于数据写操作的文件的技术。虽然以特定于结构特征和/或方法行为的语言描述了实现方式,应当理解的是,在随附的权利要求中所限定的实现方式不一定限于所描述的具体的特征或行为。相反,具体的特征和行为被公开作为实现所要求保护的实现方式的示例形式。

Claims (15)

1.一种基于用于数据写操作的数据类别来识别能够用于所述数据写操作的文件的系统,所述系统包括:
至少一个处理器;以及
一个或多个计算机可读存储介质,包括存储于其中的指令,所述指令响应于由所述至少一个处理器执行而使所述系统执行包括下列操作:
接收对用于数据集的数据写操作的文件的请求,所述请求识别包含在所述数据集中的数据类别;
通过扫描能够得到的文件的集合来查明所述能够得到的文件中的至少一个文件是否匹配由所述请求所指示的所述数据类别,来识别能够用于所述数据写操作的文件;
传送指向所述文件的指针,所述指针能够用于将所述数据集写入所述文件;
接收对所述文件的所述数据写操作已经被执行的指示;
查明对所述文件的所述数据写操作是否成功;以及
传送指示所述数据写操作是否成功的通知。
2.如权利要求1所述的系统,其中,所述能够得到的文件的集合包括来自多个不同存储位置的文件。
3.如权利要求1所述的系统,其中,所述请求还包括所述数据集的大小,并且其中,所述识别还包括基于所述文件具有足以存储所述数据集的存储空间来识别所述文件。
4.如权利要求1所述的系统,其中,所述识别包括:
在所述能够得到的文件的集合包括能够用于所述数据写操作的现有文件的情形下,将所述现有文件选定为能够用于所述数据写操作的文件;
在所述能够得到的文件的集合不包括能够用于所述数据写操作的现有文件的情形下,查明匹配由所述请求指示的数据类别的超时文件是否被识别出;
在匹配由所述请求指示的所述数据类别的超时文件被识别出的情形下,将所述超时文件选定为能够用于所述数据写操作的文件;以及
在匹配由所述请求指示的所述数据类别的超时文件未被识别出的情形下,使得创建新文件以用于所述数据写操作。
5.如权利要求1所述的系统,其中,所述识别包括:
从所述能够得到的文件的集合中识别匹配由所述请求指示的数据类别的成批候选文件;以及
从所述成批候选文件中随机地选定所述文件。
6.如权利要求1所述的系统,其中,所述查明包括:
尝试延长用于对所述文件的数据写操作的锁定时器;
在所述尝试失败的情形下,查明所述数据写操作已经失败;或者
在所述尝试成功的情形下,持续由于所述数据写操作导致的对所述文件的改变。
7.如权利要求6所述的系统,其中,所述尝试导致所述锁定时器被延长离散时间量,在所述离散时间量期间,由于所述数据写操作导致的对所述文件的改变持续。
8.如权利要求6所述的系统,其中,所述操作还包括,响应于查明所述数据写操作已经失败,传送指示所述数据写操作失败的通知。
9.一种计算机实现的方法,包括:
响应于对用于存储数据集的文件的请求而识别成批候选文件,包括基于由所述请求规定的用于所述数据集的写参数来识别所述候选文件;
从所述成批候选文件中随机地选定文件;以及
用指向所选定文件的指针来应答所述请求。
10.如权利要求9所述的方法,其中,所述写参数指示所述数据集中所包含的数据类别、所述数据集的数据被收集的日期、或所述数据集的大小中的一个或多个。
11.如权利要求9所述的方法,其中,所述成批候选文件包括能够得到的文件、超时文件、或两者的组合。
12.如权利要求9所述的方法,其中,所述识别包括将所述写参数中的一个或多个与所述候选文件中所包含的数据的属性进行匹配。
13.一种基于用于数据写操作的数据类别来执行所述数据写操作的计算机实现的方法,所述方法包括:
查明数据集要被写到存储中;
请求用于存储所述数据集的文件,包括传送文件查询,所述文件查询包括在所述数据集中所包含的数据类别和所述数据集的大小;
响应于所述请求而接收指向文件的指针;以及
利用所述指针来执行数据写操作以将所述数据集写入所述文件。
14.如权利要求13所述的方法,其中,所述文件查询还包括用于所述数据集的日期参数或所述数据集的大小中的一个或多个。
15.如权利要求13所述的方法,还包括:
传送所述数据写操作完成的通知;
接收指示所述数据写操作是否成功的通知;
在所述通知指示所述数据写操作成功的情形下,将所述数据集标记为已经成功地交托给存储;或者
在所述通知指示所述数据写操作未成功的情形下,开始针对所述数据集的新的数据写操作。
CN201580039299.4A 2014-07-18 2015-07-16 识别用于数据写操作的文件 Pending CN106537386A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/335,558 2014-07-18
US14/335,558 US20160019300A1 (en) 2014-07-18 2014-07-18 Identifying Files for Data Write Operations
PCT/US2015/040670 WO2016011217A1 (en) 2014-07-18 2015-07-16 Identifying files for data write operations

Publications (1)

Publication Number Publication Date
CN106537386A true CN106537386A (zh) 2017-03-22

Family

ID=53783339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580039299.4A Pending CN106537386A (zh) 2014-07-18 2015-07-16 识别用于数据写操作的文件

Country Status (11)

Country Link
US (1) US20160019300A1 (zh)
EP (1) EP3146423A1 (zh)
JP (1) JP2017520845A (zh)
KR (1) KR20170035985A (zh)
CN (1) CN106537386A (zh)
AU (1) AU2015289651A1 (zh)
BR (1) BR112017000144A2 (zh)
CA (1) CA2955011A1 (zh)
MX (1) MX2017000774A (zh)
RU (1) RU2017101414A (zh)
WO (1) WO2016011217A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694521A (zh) * 2020-06-17 2020-09-22 杭州海康威视系统技术有限公司 存储文件的方法、装置及系统
CN115758206A (zh) * 2022-11-07 2023-03-07 武汉麓谷科技有限公司 一种快速查找ZNS固态硬盘中NorFlash上次写结束位置的方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10096065B2 (en) * 2015-01-16 2018-10-09 Red Hat, Inc. Distributed transactions with extended locks
CN108153744A (zh) * 2016-12-02 2018-06-12 上海中兴软件有限责任公司 一种数据存储维护方法及装置
US10528435B2 (en) 2017-05-08 2020-01-07 International Business Machines Corporation Performance efficient time locks on data in a storage controller
US10514859B2 (en) * 2017-05-08 2019-12-24 International Business Machines Corporation Reduction of processing overhead for point in time copy to allow access to time locked data
US10489080B2 (en) 2017-05-08 2019-11-26 International Business Machines Corporation Point in time copy of time locked data in a storage controller
US10691514B2 (en) * 2017-05-08 2020-06-23 Datapipe, Inc. System and method for integration, testing, deployment, orchestration, and management of applications
US10514721B2 (en) 2017-05-08 2019-12-24 International Business Machines Corporation Validation of clock to provide security for time locked data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148338A (en) * 1998-04-03 2000-11-14 Hewlett-Packard Company System for logging and enabling ordered retrieval of management events
US20060200700A1 (en) * 2003-08-18 2006-09-07 Malcolm Peter B Data storage system
CN101261588A (zh) * 2007-12-21 2008-09-10 深圳市同洲电子股份有限公司 文件读写控制装置、系统及方法
US20090044194A1 (en) * 2007-08-09 2009-02-12 Pradeep Kumar Rathi Multithreaded lock management
US20090125573A1 (en) * 2007-10-10 2009-05-14 Microsoft Corporation Transactional multi-package installation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69928222T2 (de) * 1999-04-23 2006-05-24 Sony Deutschland Gmbh Verfahren und System zum Versand von Information
US7191176B2 (en) * 2000-07-31 2007-03-13 Mccall Danny A Reciprocal data file publishing and matching system
US6671773B2 (en) * 2000-12-07 2003-12-30 Spinnaker Networks, Llc Method and system for responding to file system requests
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US20030182420A1 (en) * 2001-05-21 2003-09-25 Kent Jones Method, system and apparatus for monitoring and controlling internet site content access
US7188127B2 (en) * 2003-10-07 2007-03-06 International Business Machines Corporation Method, system, and program for processing a file request
US8996486B2 (en) * 2004-12-15 2015-03-31 Applied Invention, Llc Data store with lock-free stateless paging capability
US8364670B2 (en) * 2004-12-28 2013-01-29 Dt Labs, Llc System, method and apparatus for electronically searching for an item
US7831795B2 (en) * 2005-11-28 2010-11-09 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US20090043831A1 (en) * 2007-08-11 2009-02-12 Mcm Portfolio Llc Smart Solid State Drive And Method For Handling Critical Files
US8620923B1 (en) * 2008-05-30 2013-12-31 Adobe Systems Incorporated System and method for storing meta-data indexes within a computer storage system
US7962458B2 (en) * 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US20100094822A1 (en) * 2008-10-13 2010-04-15 Rohit Dilip Kelapure System and method for determining a file save location
US8542691B2 (en) * 2009-06-30 2013-09-24 Oracle International Corporation Classes of service for network on chips
US9575985B2 (en) * 2009-12-07 2017-02-21 Novell, Inc. Distributed lock administration
US20130024483A1 (en) * 2011-07-21 2013-01-24 Alcatel-Lucent Canada, Inc. Distribution of data within a database
US9805054B2 (en) * 2011-11-14 2017-10-31 Panzura, Inc. Managing a global namespace for a distributed filesystem
US8543576B1 (en) * 2012-05-23 2013-09-24 Google Inc. Classification of clustered documents based on similarity scores
US9734237B2 (en) * 2012-10-08 2017-08-15 Bmc Software, Inc. Progressive analysis for big data
US20140105218A1 (en) * 2012-10-12 2014-04-17 Prashant H. Anand Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4g ip network/equipment for better traffic performance
US9489445B2 (en) * 2013-03-13 2016-11-08 Nice Systems Ltd. System and method for distributed categorization
US9336258B2 (en) * 2013-10-25 2016-05-10 International Business Machines Corporation Reducing database locking contention using multi-version data record concurrency control
US10264071B2 (en) * 2014-03-31 2019-04-16 Amazon Technologies, Inc. Session management in distributed storage systems
US9811427B2 (en) * 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US10169367B2 (en) * 2014-06-06 2019-01-01 Panzura, Inc. Managing opportunistic locks in a distributed file system
US9646022B2 (en) * 2014-06-06 2017-05-09 Panzura, Inc. Distributed change notifications for a distributed filesystem

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148338A (en) * 1998-04-03 2000-11-14 Hewlett-Packard Company System for logging and enabling ordered retrieval of management events
US20060200700A1 (en) * 2003-08-18 2006-09-07 Malcolm Peter B Data storage system
US20090044194A1 (en) * 2007-08-09 2009-02-12 Pradeep Kumar Rathi Multithreaded lock management
US20090125573A1 (en) * 2007-10-10 2009-05-14 Microsoft Corporation Transactional multi-package installation
CN101261588A (zh) * 2007-12-21 2008-09-10 深圳市同洲电子股份有限公司 文件读写控制装置、系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694521A (zh) * 2020-06-17 2020-09-22 杭州海康威视系统技术有限公司 存储文件的方法、装置及系统
CN111694521B (zh) * 2020-06-17 2022-08-05 杭州海康威视系统技术有限公司 存储文件的方法、装置及系统
CN115758206A (zh) * 2022-11-07 2023-03-07 武汉麓谷科技有限公司 一种快速查找ZNS固态硬盘中NorFlash上次写结束位置的方法
CN115758206B (zh) * 2022-11-07 2023-05-16 武汉麓谷科技有限公司 一种快速查找ZNS固态硬盘中NorFlash上次写结束位置的方法

Also Published As

Publication number Publication date
BR112017000144A2 (pt) 2018-01-23
EP3146423A1 (en) 2017-03-29
KR20170035985A (ko) 2017-03-31
MX2017000774A (es) 2017-05-04
WO2016011217A1 (en) 2016-01-21
US20160019300A1 (en) 2016-01-21
RU2017101414A3 (zh) 2019-02-13
JP2017520845A (ja) 2017-07-27
RU2017101414A (ru) 2018-07-17
AU2015289651A1 (en) 2017-01-12
CA2955011A1 (en) 2016-01-21

Similar Documents

Publication Publication Date Title
CN106537386A (zh) 识别用于数据写操作的文件
JP6522750B2 (ja) コンテナの管理及びスケジューリングのためのシステム
US11175913B2 (en) Elastic application framework for deploying software
JP6249419B2 (ja) ユーザー介入なくレイアウトに従った画像識別及び編成
CN106664321A (zh) 基于放置策略的计算资源分配
CN105493045A (zh) 虚拟计算实例迁移
CN103703466A (zh) 社交网络推动的查询建议
CN105917359A (zh) 移动视频搜索
CN110168537A (zh) 上下文和社交距离感知的快速活性人员卡片
CN102917012B (zh) 执行存储与通信去重复的方法及设备
US20190342753A1 (en) Device configuration method, apparatus and system
WO2022048357A1 (zh) 交易背书方法、装置及存储介质
JP7084691B2 (ja) 地図上で実時間のソーシャルデータを処理及び提示するための方法
CN107111494A (zh) 显露通用应用的视觉表示
CN110489663A (zh) 一种社交内容控制方法、装置及计算机设备
CN113723061A (zh) 基于多人协作框架的数据处理方法及装置
CN105637842B (zh) 用于网络通信环境中的中介的可靠消息传送的方法
US20110302174A1 (en) Crowd-sourcing for gap filling in social networks
CN106209584A (zh) 基于互联网的用户信息处理方法、客户端及服务器
CN104243597A (zh) 一种基于wlan环境下的名片发放收集系统及方法
CN109120783A (zh) 信息获取方法及装置、移动终端和计算机可读存储介质
CN106133708B (zh) 信息处理系统
CN110140120A (zh) 上下文洞察系统
CN114730311A (zh) 分布式云计算平台中的跨数据中心读写一致性
CN107526530A (zh) 数据处理方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170322

WD01 Invention patent application deemed withdrawn after publication