CN112540727A - 数据管理方法、装置、计算设备、存储介质和云平台 - Google Patents

数据管理方法、装置、计算设备、存储介质和云平台 Download PDF

Info

Publication number
CN112540727A
CN112540727A CN202011408730.7A CN202011408730A CN112540727A CN 112540727 A CN112540727 A CN 112540727A CN 202011408730 A CN202011408730 A CN 202011408730A CN 112540727 A CN112540727 A CN 112540727A
Authority
CN
China
Prior art keywords
data
task
storage
cost
execution
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
CN202011408730.7A
Other languages
English (en)
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011408730.7A priority Critical patent/CN112540727A/zh
Publication of CN112540727A publication Critical patent/CN112540727A/zh
Priority to JP2021087330A priority patent/JP7185727B2/ja
Priority to EP21178094.5A priority patent/EP4009170B1/en
Priority to US17/355,134 priority patent/US20210318907A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Abstract

本公开涉及一种数据管理方法、数据、计算设备、存储介质和云平台,并且涉及数据处理与云计算领域。数据管理方法包括:获取任务请求,任务请求指示要调用存储的数据来执行任务;更新数据的执行信息,数据的执行信息描述要调用数据的一个或多个任务以及每个任务的执行频率;基于数据的经更新的执行信息,针对多个存储位置中的每一个存储位置,计算数据特定于存储位置的成本值;以及根据计算得到的成本值确定数据的目标存储位置。

Description

数据管理方法、装置、计算设备、存储介质和云平台
技术领域
本公开涉及数据处理与云计算技术领域,并且具体地涉及一种数据管理方法、装置、计算设备、存储介质和云平台。
背景技术
用户的数据可以存储在不同的存储位置,并且存储的数据有时需要被调用来执行任务。在不同的存储位置存储数据可能对用户而言意味着不同的代价,并且因此,对数据存储位置进行优化以获得更佳的用户体验将会是用户期望的。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
根据本公开的一个方面,提供一种数据管理方法。该方法可以包括获取任务请求,任务请求指示要调用存储的数据来执行任务。该方法还可以包括更新数据的执行信息,数据的执行信息描述要调用数据的一个或多个任务以及每个任务的执行频率。该方法还可以包括基于数据的经更新的执行信息,针对多个存储位置中的每一个存储位置,计算数据特定于存储位置的成本值。该方法还可以包括根据计算得到的成本值确定数据的目标存储位置。
根据本公开的另一方面,提供一种数据管理系统。该系统可以包括请求获取单元,用于获取任务请求,任务请求指示要调用存储的数据来执行任务。该系统还可以包括执行信息维护单元,用于更新数据的执行信息,数据的执行信息描述要调用数据的一个或多个任务以及每个任务的执行频率。该系统还可以包括成本计算单元,用于基于数据的经更新的执行信息,针对多个存储位置中的每一个存储位置,计算数据特定于存储位置的成本值。该系统还可以包括存储位置选择单元,用于根据计算得到的成本值确定数据的目标存储位置。
根据本公开的另一方面,提供一种计算设备,可以包括:处理器;以及存储程序的存储器,程序包括指令,指令在由所述处理器执行时使所述处理器执行根据本公开的实施例所述的方法。
根据本公开的另一方面,提供一种存储程序的计算机可读存储介质,程序包括指令,述指令在由电子设备的处理器执行时,指示电子设备执行根据本公开的实施例所述的方法。
根据本公开的又一方面,提供一种计算机程序产品,包括计算机指令,计算机指令在被处理器执行时实现根据本公开的实施例所述的方法。
根据本公开的再一方面,提供一种云平台,所述云平台使用根据本公开的实施例所述的方法对存储的数据进行管理。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开的实施例的数据管理方法的流程图;
图3示出了根据本公开的另一实施例的数据管理方法的流程图;
图4示出了用于实现本公开的实施例的数据管理平台的示例功能模块图;
图5示出了用于实现本公开的实施例的数据管理平台的示例底层硬件架构图;
图6示出了根据本公开的实施例的数据管理平台的任务工作流;
图7示出了根据本公开的实施例的数据用户存储数据的流程图;
图8示出了根据本公开的实施例的程序用户的请求执行任务的流程图;
图9示出了根据本公开的实施例的数据管理装置的结构框图;
图10示出了能够用于实现本公开的实施例的示例性服务器和客户端的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够实现如本公开所述的数据管理方法的一个或多个服务或软件应用。例如,服务器120可以运行以实现数据管理平台的功能。进一步,服务器120可以运行云平台的功能,例如云存储或者云计算。
在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
用户可以使用客户端设备101、102、103、104、105和/或106来实现如本公开所述的数据管理方法。例如,用户可以使用客户端设备来访问数据管理平台的服务。用户可以使用客户端设备请求存储数据、读取数据、执行任务或者获取执行结果。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算系统,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算设备可以运行各种类型和版本的软件应用程序和操作系统,例如Microsoft Windows、Apple iOS、类UNIX操作系统、Linux或类Linux操作系统(例如Google Chrome OS);或包括各种移动操作系统,例如Microsoft Windows Mobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算系统可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据存储库130可以驻留在各种位置。例如,由服务器120使用的数据存储库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据存储库130可以是不同的类型。在某些实施例中,由服务器120使用的数据存储库可以是数据库,例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
下面参考图2描述根据本公开的实施例的数据管理方法200。
在步骤S201处,获取任务请求,任务请求指示要调用存储的数据来执行任务。任务请求可以是用于使用平台或者数据存储中存储的数据来执行任务的请求。
在步骤S202处,更新数据的执行信息。数据的执行信息描述要调用数据的一个或多个任务以及每个任务的执行频率。数据的执行信息也可以被称为数据的当前任务列表或任务集、数据的活跃任务列表或任务集、数据的当前被调用信息等。
在步骤S203处,基于经更新的执行信息,针对多个存储位置中的每一个存储位置,计算特定于存储位置的成本值。
在步骤S204处,根据计算得到的成本值确定数据的目标存储位置。
通过上述方法200,通过为存储的数据维护执行信息或称为活跃任务集,其指示针对该数据要执行的任务和任务频率,并且在接收到新任务请求时更新相关数据的执行信息,能够动态地反映数据的活跃情况或者被利用情况。基于动态更新的执行信息,针对不同的存储类型计算成本值,并且基于成本优化的思想重新选择存储位置,能够灵活且动态地调整数据存储位置,并且基于数据成本来优化任务的执行。目标存储位置指的是当前通过成本优化而得到的更佳的存储位置,也可以称为预期存储位置、新存储位置、待存储位置等,并且容易理解的是,计算获得的目标存储位置可以与数据的当前存储位置相同也可以不同。
下面参考图3描述根据本公开的另一实施例的数据管理方法300。
在步骤S301处,获取任务请求,并且基于任务请求,确定执行该任务需要调用的数据集合。数据集合可以包含一个或多个数据,并且数据集合中的这一个或多个数据可以存储在相同的存储位置或者不同的存储位置中。例如,同一任务要调用的多个数据可以存储在不同的存储类型中,或者可以存储在由不同的服务提供商提供的不同的存储平台中。数据集合可以来自例如数据管理平台的用户,例如请求数据管理平台存储数据的用户。任务请求也可以来自数据管理平台的用户,例如与数据用户相同或不同的用户。
在步骤S302处,对于数据集合中的每个数据,更新数据的执行信息。数据的执行信息描述要调用数据的一个或多个任务以及每个任务的执行频率。因此,数据的执行信息也可以被称为数据的当前任务列表或任务集、数据的活跃任务列表或任务集、数据的当前被调用信息等。
在步骤S303处,对于数据集合中的每个数据,基于经更新的执行信息,计算数据特定于多个存储位置中的每个存储位置的成本值。
在步骤S304处,对于数据集合中的每个数据,根据计算得到的成本值确定数据的目标存储位置。
在步骤S305处,基于确定的目标存储位置,对数据集合中的每个数据进行重新存储。例如,基于数据的目标存储位置不是数据的当前存储位置,将数据存储在目标存储位置。如果数据的目标存储位置是数据的当前存储位置,则重新存储意味着不改变该数据的当前存储位置。
上述数据管理方法200和300可以针对数据存储与数据计算技术领域。用户可以访问能够实现上述数据管理方法200和300的数据管理平台,请求数据管理平台存取数据(此时用户可以被称为数据用户),或者请求数据管理平台执行任务(此时用户可以被称为程序用户)。数据管理平台有时候也被称为数据共享平台。在保障数据隐私的前提下,数据共享平台可根据数据访问频率,在时间成本和价格成本平衡下,提供多种数据存储方案尤其是最优的存储方案。
数据共享平台的应用场景包含但不限于企业空间租赁和视频监控存储[3]。通过高性能、大容量的云存储系统,数据业务运营商和IDC数据中心可以为无法单独购买大容量存储设备的机构提供方便快捷的租赁服务,满足这些机构的需求。此外,随着城市的发展,监控技术被大量应用,需要大量视频行数据存储。通过在视频监控系统中融入使用云存储技术,不仅使系统获得了更多、具有不同功能的接口,同时也可以避免管理程序和播放软件的安装,更使得容量获得线性扩展,实现了海量数据的存储功能。此外,云存储技术的使用可以更好的开展分布式管理,也有利于随时扩容。数据共享平台亦可以应用于不同行业及其垂直领域,包括物流、运营商、金融服务、供应链等。在使用云端数据存储平台的过程中,可采用联合共建、平台服务等方式使得解决方案落地。
数据管理平台或数据共享平台可以包括面向公共的云端数据存储和云端计算平台。因此,上述方法可以被应用于云平台或云服务场景。云平台可以包括云存储和云计算功能。基于云计算技术的发展,以及宽带业务的大幅度提速,为云存储的普及和发展提供了良好的技术支持,使用云存储方式对大容量、方便快捷、随存随取的存储需求逐渐得到广泛应用。
然而,现有的数据管理尤其是云存储方式在成本方面存在一定的问题。在云端中数据存储的网络成本较高,并且大量数据较长时间存储往往面临数据量多、访问频率低的问题,大大增加低效无用的存储成本。此外,传统云存储把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器。托管公司营运大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式,来满足数据存储的需求。这种存储方式对于不常访问的数据成本较高,并且安全性较低。针对此,上述方法可以针对现有的云服务场景下的未根据存储类型来计算成本和没有基于成本来选择存储位置的缺陷,从而提升存储效率和执行效率。
为了进一步准确高效地进行成本计算,在每次接收到调用数据的任务请求而对数据进行更新时,也可以使用任务信息对描述任务的各类其他信息进行更新。根据一些实施例,针对所述一个或多个任务中的每个任务,所述执行信息还描述以下各项中的一个或多个:任务类型、任务所需时间量、任务所需资源量。通过在保存数据的同时还维护包括这些信息的执行信息,可以维护尤其是动态维护用于计算要调用该数据的任务的成本的信息。在每次接收到新任务的时候更新这些信息,有助于动态实时地计算数据的最优存储位置。例如,任务类型可以包括计算任务、预测任务、监视任务、优化任务、比较任务等。任务所需时间量可以包括任务初始化时间、历史执行时间、可并行执行性、期望执行时间或其他影响任务所需时间的因素等。任务所需时间量还可以包括任务的紧急程度或任务超时的不可接受程度。任务所需资源量可以包括所需计算节点类型、所需计算量和所需数据量等。可以理解的是,执行信息不限于此,并且可以包括其他任务描述信息和任务执行信息,尤其是便于计算数据存储成本和执行成本的信息。
根据一些实施例,多个存储位置包括不同存储类型的存储位置。不同存储类型可以包括以下各项中的至少两项:标准存储、低频访问存储、归档存储、冷归档存储。这些存储类型按照适用数据访问频率、储存时间以及存储费用等方面进行区分。按照这些因素区分的存储类型,从而优化数据的存储位置。标准存储支持频繁的数据访问,拥有较低的延迟和较高的吞吐量性能。低频访问存储适用于不频繁访问但在需要时也要求快速访问的数据,拥有与标准存储相同的较低延迟及高吞吐量性能,具有高持久性和较低存储成本。归档存储适用于冷数据也即不常访问的数据,提供高持久性和极低存储成本的对象存储服务。冷归档存储提供高持久性并且适用于需要超长时间存放的极冷数据,并且具有一般而言在四种存储类型中最低的存储费用。可以理解的是,以上四种存储类型仅是示例。本公开不限于此,并且本公开所述的方法可以例如在其他存储类型之间计算成本并且选择最优存储位置等。例如,多个存储位置可以包括由多个存储服务提供商提供的存储位置。可以按照不同的服务提供商进行成本计算,从而能够提供数据跨服务提供商的最优存储。
根据一些实施例,更新数据的执行信息包括响应于数据的执行信息中描述的一个或多个任务不包含该任务,在执行信息中增加该任务。或者,响应于一个或多个任务包含任务,更新数据的执行信息包括调整执行信息中的任务的执行频率。更新执行信息的具体方式:如尚无当前任务增加;如有,调整频率。由此,能够实时维护数据当前被调用的频率,使得数据的成本计算更加准确。
传统云存储中,将所有数据放在服务器,在不需要计算或访问的时候服务器也一直存在,维护成本高。本公开中,通过成本计算和基于成本的存储方式,将数据存储到对应的存储类型中,能够进一步降低存储和执行的费用。本公开中考虑的成本包括存储成本和计算成本。根据一些实施例,基于存储成本和执行成本两者来计算数据的成本值。考虑数据的存储成本和执行成本两者,使得数据成本计算更全面,由此计算出的最优存储位置更有价值。采用本公开的方案,能够将存储与计算或执行分开,不需要一直运行服务器,在平时只需支付存储费用,只需要在计算调用数据的时候才访问存储调用数据即可。根据一些实施例,根据计算得到的成本值确定数据的目标存储位置包括选择成本值最小的存储位置作为数据的目标存储位置。通过选择最小成本值的位置作为数据的目标存储位置,能够最小化例如数据存储和执行过程中的成本,为用户节省费用,并且提高运行效率。可以理解的是,本公开不限于此,例如,可以将成本值低于阈值的位置视为目标存储位置。如果存在多个成本值低于阈值的位置,可以结合其它标准从中选择数据将存储的位置。作为示例,这里的其它标准可以是尽量使得数据移动最少、尽量选择标准存储、尽量选择单价最低的存储、尽量选择存取性能最高的存储位置,或其他用户偏好或用户指定的标准。
为了减少执行时间,可以基于图分区算法减少数据传输。另外,可以利用不同作业之间的数据依存关系来减少传输数据的时间和金钱成本。但是,这样的方法只减少了执行时间,而并未考虑将数据放置在不同类型的存储区域(例如,云上的不同存储类型)中。传统的存储优化方案也未考虑将成本的加权函数用于多个目标,生成帕累托最优解决方案,并且没有考虑在云上存储数据的成本。另外,使用负载平衡算法或动态预配置算法来生成最佳预配置计划成本的方案未考虑云上的数据存储类型。数据平台的不同存储方式会影响使用此数据执行此任务的金钱成本和时间成本,而金钱成本和时间成本都是用户非常关心的。在本公开中,根据一些实施例,基于时间成本和价格成本两者来计算成本值。本公开考虑时间成本和价格成本两者,使得数据成本计算更全面,由此计算出的最优存储位置更有价值。
时间成本可以考虑特定于存储位置的任务所需时间Time(j,t),其中j表示任务,t表示特定存储,并且任务所需时间Time(j,t)例如可以用下式来计算:
Time(j,t)=InitializationTime(j)+DataTransferTime(j,t)+ExecutionTime(j)
其中,InitializationTime(j)是任务j的初始化时间,DataTransferTime(j,t)是任务j特定于存储方式t的数据传输时间,并且ExecutionTime(j)是任务的执行时间。可以基于历史数据或历史表现来预测初始化时间、数据传输时间和执行时间。替选地,可以根据任务量、平均初始化时间、存储方式或存储时间来计算初始化时间和数据传输时间。可以根据阿姆达尔定律,基于任务中能够并行的任务比例、能够承担并行计算的节点数量等来对执行时间进行计算。
根据一些实施例,基于一个或多个任务中的每个任务的所需时间和期望时间来计算数据的时间成本。通过将任务所需时间与期望时间进行比较,例如采用标准化的时间成本,能够更清晰地反映任务的时间消耗量。
例如,可以将时间成本定义为如下的标准化的所需时间:
Figure BDA0002818620520000101
其中,Time(j,t)为任务所需时间,DesiredTime为期望时间。期望时间例如是由用户设定的与相应任务对应的值,比如用户期望该任务应该在1分钟内完成。期望时间也可以基于任务类型或者相似任务来预先设定、批量设定或者以默认方式设定。
根据一些实施例,基于一个或多个任务中的每个任务的所需时间、期望时间和惩罚值来计算数据的时间成本。惩罚值表征对任务执行超时的不可接受程度。通过还考虑惩罚值,能够反映特定任务的对超时的严格程度,例如对于时间要求很严格的任务,可以设定很高的惩罚值;对于不那么严格的任务,可以设定低惩罚值。由此计算出的成本能够合理利用资源,有利于任务的高效并符合期望的执行。
例如,考虑惩罚值后,可以如下定义时间成本:
Figure BDA0002818620520000102
其中,Time(j,t)为所需时间,DesiredTime为期望时间。Penalty为惩罚值,也可以称为附加时间。仅当所需时间大于期望时间添加惩罚值。惩罚值例如可以用阶跃函数来表示,当所需时间大于期望时间时呈现设定的值,当所需时间小于或等于期望时间时为零。或者,也可以用例如sigmoid函数等来表示惩罚函数,并且本公开不限于此。Penalty的大小可以用来表征对该任务不超时的要求严格程度。例如,对于时间要求高的任务,可以设置非常高的惩罚值(例如,10,100,10000)。对于无时间要求的任务,可以不设定惩罚值或者将惩罚值设为零或非常小的数字(例如,0.1,0.5等)。也可以设定较为温和的惩罚值,例如3、5、8等。本领域人员将容易理解的是,以上惩罚值仅为示例。
根据一些实施例,基于一个或多个任务中的每个任务的服务价格和期望价格来计算数据的价格成本。通过基于服务价格与期望价格两者,例如通过计算标准化的价格成本,能够更清晰地反映任务的金钱消耗或价格。
例如,可以将价格成本定义为如下的标准化的服务价格:
Figure BDA0002818620520000111
其中,Money(j,t)是特定于存储方式或存储位置t的数据存储并且特定于调用该数据的任务j的租赁虚拟机进行计算、存储、数据存取等的价格,其在本文中称为服务价格。DesiredMoney表示期望价格,例如由用户指定的价格,或者可以是根据任务类型、相似任务等统一赋予的期望值。
服务价格考虑整个租赁服务所花费的价格。例如,服务价格可以包括任务执行价格、数据存储价格和数据获取价格中的至少一项或其组合。根据一些实施例,服务价格是任务执行价格、数据存储价格和数据获取价格的和或加权和。例如,可以用下式来计算服务价格Money(j,t),其中j表示任务,t表示存储方式或存储位置:
Money(j,t)=ExecutionMoney(j,t)+DataStorageMoney(j,t)+DataAccessMoney(j,t)
其中,ExecutionMoney(j,t)表示执行价格,DataStorageMoney(j,t)表示数据存储成本,并且DataAccessMoney(j,t)表示数据获取成本。
可以根据计算节点单价、数量、时间单位和初始化时间来计算执行价格。例如,可以如下式定义ExecutionMoney(j,t):
Figure BDA0002818620520000121
其中,VMPrice(j)是计算节点例如执行任务所需的虚拟机的租赁价格或者金额,n是完成该任务所需计算节点的数量,Time(j,t)可以是如上文所计算的任务所需时间,并且InitializationTime(j)可以是如上文所计算的初始化时间。TimeQuantum是时间单位,并且由此计算出的是单位时间的执行价格。
可以根据工作量、数据量、数据存储方式等来计算数据存储成本。例如,可以如下式定义DataStorageMoney(j,t):
Figure BDA0002818620520000122
其中,
i表示当前任务j所调用的数据集dataset中的数据,
workload(j)是任务j的工作量,f(j)是任务j的执行频率,这两者的乘积表示单位时间内任务j的工作量;StoragePrice(t)是存储方式t的存储价格例如存储单价,size(i)是当前数据i的数据量,这两者的乘积表示数据i所需的存储价格;
job(i)表示表示当前数据i的执行信息或活跃任务集,并且k是i的活跃任务集job(i)中的任务,workload(k)是任务k的工作量,f(k)是任务k的执行频率,workload(k)与f(k)的乘积表示单位时间内任务k的工作量,并且对k进行求和表示调用数据i的所有任务的单位时间总工作量。由此,
Figure BDA0002818620520000123
可以反映对于数据i,当前任务的工作量占全部工作量的比例,因此,将其作为系数,可以获得在数据i所需的存储价格中由本任务j所贡献的份额;
求和符号
Figure BDA0002818620520000131
表示对该任务j调用的数据集中的所有数据进行求和以计算任务j对所需的全部数据进行存储所需的成本。
可以根据单次获取成本和数量来计算数据获取成本。例如,可以如下式定义DataAccessMoney(j,t):
DataAccessMoney(j,t)=ReadPrice(t)*dize(j)
其中,ReadPrice(t)是存储方式t的读取单价,size(j)是该任务j所需的读取量。
根据一些实施例,计算成本值包括计算时间成本与价格成本的和或加权和。采用时间成本和价格成本的和或加权和来代表数据总成本,能够以简单计算来全面反映数据的成本。例如,可以如下来定义每单位时间内执行任务的成本值:
Cost(j,t)=(ωt*Timen(j,t)+ωm*Moneyn(j,t))*f(j)
其中,ωt、ωm为人为设定的时间成本和价格成本的重要性,f(j)为数据存储频率。
根据一些实施例,根据本公开的方法例如方法200或方法300还包括执行任务,并且其中,方法还包括响应于数据的当前存储位置不是目标存储位置,在执行任务前、与执行任务并行或者在执行任务后,重新存储数据。重新存储数据与执行任务的次序不限,可以在任何适当的时候进行数据的重新存储,实现灵活的数据重新存储和优化。
根据一些实施例,还包括在执行任务后,将执行结果数据存储在随机存储位置或默认存储位置。例如,默认存储位置可以是标准存储位置、存储单价最低的存储位置或成本值最低的存储位置。每次新产生的数据可以无需计算而采取随机存储或默认存储,而只在数据被任务调用的时候对其存储位置进行更新,由此可以简化计算过程和减少不必要的计算。
图4示出了可以用来实现本公开所述方法的数据管理平台400的功能模块。数据管理平台400可以包括环境初始化单元401、数据存储管理单元402、工作执行触发单元403、和安全性单元404。环境初始化单元401首先创建用户的账号和执行空间,该执行空间仅与内网相连,可充分保证安全性。数据存储管理单元402会创建每个账号对应权限的存储空间,其中,每个存储空间有其独一的AK和SK,可保证其安全。根据一些实施例,任务请求来自第一用户,并且数据属于与第一用户不同的第二用户。数据管理平台使得一个用户可以访问另一个用户的数据,实现平台上用户之间的数据与程序流通。
图5描述示例底层硬件架构图。如图5所示,用户可以通过协调节点501连接平台。数据管理平台在每次接受新的用户请求/需要执行任务时创建集群502,每个集群内有一个或多个计算节点503。可同时初始化多个计算节点503,并且通过协调节点501控制不同计算节点之间的任务执行。协调节点501、集群502以及计算节点503位于隔离域中,其中协调节点501具有能够由外网也即用户侧访问的接口(未示出),而每个计算节点不与公网相连,从而保证数据分享和计算的安全。通过协调节点,可在隔离域中对于多方数据进行可计算不可见的操作。功能单元401-404都可以被认为存在于协调节点上。因此,单元401-404存在于隔离域中。由工作执行触发单元403负责在集群上的执行任务。
需要执行的数据一开始加密存储于数据存储部(未示出),例如可以分散在数据存储部的不同存储类型和不同存储位置。根据一些实施例,数据存储在隔离域内,并且其中执行任务包括:创建数据的副本,并且使用所创建的副本执行任务。也就是说,数据存储部也位于隔离域中,可以在隔离域中对其进行访问。当外网想要访问数据存储部时,可以通过帐号密码例如经由协调节点对数据存储部进行访问。通过将数据存放在隔离域中,所有权依旧属于数据提供方,而数据使用方只能进行可用不可见、可计算不可复制的操作。这样,用于服务大规模公共事业的数据安全隐私得到了可信的保护,同时也使数据存储成本保持合理水平在提供多维度安全保护的情况下,数据管理平台可以实现多任务、多目标的执行方式。在接收到调用请求后,由数据存储管理单元402将其读取到平台。可以由安全性单元404对其进行解密操作。
在执行任务后,执行生成的数据也可以经过安全性单元404进行加密操作,并且由数据存储管理单元402存储到数据存储部。执行结束后,释放集群。
本公开可以针对现有的数据管理与数据存储场景下的安全性不高的缺陷。在现有技术中,在安全方面,内部和外部管理权限、供应商访问用户的文件以进行营销和加密、知识产权保密、WiFi上的传输和同步等问题都会对数据隐私造成一定程度影响。因此,除了数据的合理存储外,本公开还提供了隔离域的安全机制,使得在多个不同用户之间共享数据时,可以使用“可用不可见”的方式利用数据,从而保证数据的安全性。本公开还可以适用于云平台与云服务场景。
下面分别结合账户周期和执行周期并参考图6对数据管理平台上的工作流进行描述。
在一个账号的周期中,数据管理平台创建多端账号,进行数据处理,并对于账号进行清理。其中,数据分享和处理的细节如下。这里,假设用户Ui是数据用户也即请求数据管理平台存取数据的用户,用户Uj是程序用户也即请求数据管理平台使用用户Ui的执行任务的用户。如图6所示,用户Ui具有其数据存储桶601,并且以其中的数据611作为要调用的数据示例。用户Uj具有其程序存储桶602,并且以其中的代码612作为要请求执行的代码的示例。用户Uj还具有任务执行空间存储桶603。在任务执行前,用户Ui向用户Uj提出数据申请。在用户Ui通过后,Uj通过数据接口611得到原始数据611的伪数据,该伪数据使得用户Uj测试其执行任务文件。在执行任务的周期中,数据管理平台初始化后,对数据进行同步,并在结束前执行任务。数据同步是指数据存储管理单元对云端数据或数据接口同步,并将执行文件脚步转移到执行空间。以程序631作为任务执行的示例,并且生成结果数据614。结果数据614被存储在用户Ui的输出结果桶604。随后,当程序用户想要读取结果数据时,将其下载到程序用户的下载区605。
虽然这里示出了一个数据用户和一个程序用户,但可以理解的是,程序用户Uj可以同时使用多方用户/租户的数据,并对数据进行处理,下载结果;数据用户Ui的数据可以由多个用户/租户进行使用;并且本发明不限于此。
图7示出了数据用户侧的方法步骤。当数据用户希望在数据管理平台上存储数据时执行此步骤。
在步骤S701处,数据管理平台接收请求;
在步骤S702处,数据管理平台无需成本计算而直接存储数据,例如将数据存储在云端、存储在隔离域或存储在其他存储位置。直接存储可以采用标准存储或者最低单价存储。
图8示出了程序用户侧的方法步骤。程序用户请求通过数据管理平台执行数据,尤其是其他用户共享的数据。
在步骤S801处,接收用户请求。例如,由协调节点,并且具体地由协调节点上的数据管理平台接收用户要执行的任务的请求。例如,请求是用于执行任务jnew
在步骤S802处,创建计算集群。例如,由数据管理平台的环境初始化模块,在隔离域上创建计算集群。
在步骤S803处,将所需的数据下载到集群。所需的数据记为D={d1,d2,d3…dn}。可选地,可以对加密的数据进行解密以供执行。例如,可以由数据存储管理单元将所需的数据从云端数据存储部下载到集群。可以由安全性单元进行解密。
在步骤S804处,在集群上执行任务。例如,该步骤可以由工作执行触发单元模块进行。在集群上执行任务可以使用上一步骤中经解密的数据,并且针对用户请求jnew来执行。
在步骤S805处,存储执行结果数据。可选地,可以对执行结果进行加密,例如由安全性单元来完成。可以由数据存储管理单元存储(例如,加密的)结果数据,例如存储在云端。在这里可以是无需成本计算的直接存储,例如标准存储或者最低成本存储。
此外,根据本公开,在每次步骤S801-S805的过程中,还可以对本次调用的数据D进行成本计算和基于最优成本的重新存储。
对于D中的每个数据di(i=1,2,3,…,n),系统中分别已经维护一个对应的任务集Ji。例如,对于数据d1,任务集J1里可以有M个任务j1k:“任务j11,每天运行一次,任务j12,每天运行两次……任务j1M,每小时运行一次”。可以对类型相同的任务进行归类,由此每个任务j1k可以指代不同类型的任务,例如平均计算任务类型、数据预测任务类型等。不同类型的任务因而有不同的执行代价。
由此,有以下步骤S806-S809。需要注意的是,虽然此处的步骤被编号为S806-S809,但其可以存在于上述步骤S801-S805之间,每次接收到新的用户任务请求的时候运行一次,但是运行顺序不限,例如可以在任务执行前、任务执行后或者与任务并行。例如,可以采用S801-S805然后S806-S809的顺序,可以采用S801、S806-S809、S802-S805的顺序,可以采用S801-S802、S806、S803、S807-S809然后S804-S805的顺序,等等。本领域技术人员可以理解以上仅是示例,只要保证S801是最先步骤,S801-S805之间具有时间次序并且S806-S809之间具有时间次序即可,并且S802-S805与S806-S809两者中的步骤可以并行。
在步骤S806处,更新要调用的数据集D中的每个数据对应的任务集。也就是说,根据本次任务jnew,对D中的每个数据对应的任务集进行更新。具体地,如果原本任务集中没有该任务jnew,则增加新任务。如果原本任务集中有该任务jnew,可以对该任务的频率进行调整。例如,可以基于新任务请求对任务集进行合并,或者如果本次用户请求是降低任务执行频率,则对任务集中的任务频率参数进行降低。由此,获得了对于D中的每个数据di(i=1,2,3,...,n)的更新的任务集,依然记为Ji
在步骤S807处,对D中的每个数据计算特定于存储位置的成本值。对D中的每个数据di和成本不同的存储位置,例如不同的存储类型,例如四种存储类型中的每一种,分别计算成本。可以理解的是,此处的存储类型不限于前文提到的存储类型,并且本公开的方法适用于任何不同成本的存储位置之间的计算与数据优化。
在此,对于Ji中的每个任务jik和每种存储类型t,计算成本参数cost(j,t)。之后,对这些成本参数按照不同的t进行求和,获得对于数据di和要执行的任务集Ji,在不同的存储类型下的成本值,包括存储成本和执行成本。在特定数据存储方式中执行一定数量的文件的总价格模型如下:
Figure BDA0002818620520000171
每单位时间内执行任务的价格模型如下:
Cost(j,t)=(ωt*Timen(j,t)+ωm*Moneyn(j,t))*f(j)
其中,Timen(j,t)和Moneyn(j,t)代表特定存储方式(t)和一定任务(j)下标准化的时间和价格成本,ωt、ωm为人为设定的时间成本和价格成本的重要性,f(j)为数据存储频率。对Timen(j,t)和Moneyn(j,t)可以分别采用在前文中结合方法200或方法300进行的定义。或者,Timen(jt)和Moneyn(j,t)别也可以适用本领域技术人员可以想到的其他用于计算时间成本和价格成本的计算方式,并且本公开不限于此。
在步骤S808处,对D中的每个数据di,选取成本值最小的存储位置作为目标存储位置。此处可以使用贪心算法计算最小成本,其中算法的输入可以包括:数据D;D中每个数据di对应的任务集合Ji;存储方式t;存储方式集合StorageTypeList。算法的输出可以包括D中每个数据di的存储方式Si;D中每个数据di的成本Cost_mini。例如,可以通过计算获得数据d1适合存储在冷归档存储区域,数据d2适合标准存储区域等,并且本公开不限于此。使用贪心算法计算最小成本的过程在每次接收到新的用户任务请求触发一次,并且是针对该数据的所有历史任务集或者说活跃任务集进行计算的。
在步骤S809处,对D中的每个数据di按照计算得到的存储类型,在云中重新存储。例如,响应于数据的当前存储位置不是目标存储位置,重新存储数据。如前文所述,数据的重新存储可以发生在执行任务前、与执行任务并行或者在执行任务后,重新存储数据与执行任务的次序不限,可以在任何适当的时候进行数据的重新存储,实现灵活的数据重新存储和优化。
数据的成本计算与重新存储可以按照如上文所述的本公开的多目标数据存储方式。例如,可以通过贪心算法对数据存储成本和执行时间综合最小化,从而选择合适数据存储方式。数据管理平台中频繁使用的数据价格更高。
参考图9描述根据本公开的实施例的数据管理系统900。数据管理系统900包括请求获取单元901、执行信息维护单元902、成本计算单元903和存储位置选择单元904。请求获取单元901用于获取任务请求,任务请求指示要调用存储的数据来执行任务。执行信息维护单元902用于更新数据的执行信息,数据的执行信息描述要调用数据的一个或多个任务以及每个任务的执行频率。成本计算单元903用于基于数据的经更新的执行信息,针对多个存储位置中的每一个存储位置,计算数据特定于存储位置的成本值。存储位置选择单元904用于根据计算得到的成本值确定数据的目标存储位置。通过上述数据管理系统,能够灵活且动态地调整数据存储位置,基于数据成本来优化任务的执行。
根据本公开的另一方面,还提供一种计算设备,可以包括:处理器;以及存储程序的存储器,程序包括由处理器执行时使处理器执行上述数据管理方法的指令。
根据本公开的又一方面,还提供一种存储程序的计算机可读存储介质,程序可以包括在由服务器的处理器执行时使得服务器执行上述数据管理方法的指令。
根据本公开的又一方面,还提供一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现上述数据管理方法。
根据本公开的又一方面,还提供一种云平台。云平台可以使用上述数据管理方法对存储的数据进行管理。云平台可以如本公开的实施例所述地为数据用户提供数据的存取并且为程序用户提供任务的计算。
参考图10,现将描述可以作为本公开的服务器或客户端的计算设备1000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。
计算设备1000可以包括(可能经由一个或多个接口)与总线1002连接或与总线1002通信的元件。例如,计算设备1000可以包括总线1002、一个或多个处理器1004、一个或多个输入设备1006以及一个或多个输出设备1008。一个或多个处理器1004可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器1004可以对在计算设备1000内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1004为例。
输入设备1006可以是能向计算设备1000输入信息的任何类型的设备。输入设备1006可以接收输入的数字或字符信息,以及产生与用于数据管理的计算设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出设备1008可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。
计算设备1000还可以包括非暂时性存储设备1010或者与非暂时性存储设备1010连接,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备1010可以从接口拆卸。非暂时性存储设备1010可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码/模块(例如,图9所示的请求获取单元901、执行信息维护单元902、成本计算单元903和存储位置选择单元904。
计算设备1000还可以包括通信设备1012。通信设备1012可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算设备1000还可以包括工作存储器1014,其可以是可以存储对处理器1004的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器1014中,包括但不限于操作系统1016、一个或多个应用程序1018、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以包括在一个或多个应用程序1018中,并且上述方法可以通过由处理器1004读取和执行一个或多个应用程序1018的指令来实现。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算设备上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
还应该理解,计算设备1000的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算设备1000的其他组件也可以类似地分布。这样,计算设备1000可以被解释为在多个位置执行处理的分布式计算系统。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本公开的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (20)

1.一种数据管理方法,包括:
获取任务请求,所述任务请求指示要调用存储的数据来执行任务;
更新所述数据的执行信息,所述数据的所述执行信息描述要调用所述数据的一个或多个任务以及每个任务的执行频率;
基于所述数据的经更新的执行信息,针对多个存储位置中的每一个存储位置,计算所述数据特定于存储位置的成本值;以及
根据计算得到的成本值确定所述数据的目标存储位置。
2.根据权利要求1所述的方法,其中,所述多个存储位置包括不同存储类型的存储位置,所述不同存储类型包括以下各项中的至少两项:标准存储、低频访问存储、归档存储、冷归档存储。
3.根据权利要求1所述的方法,其中,更新所述数据的所述执行信息包括:
响应于所述数据的所述执行信息中描述的所述一个或多个任务不包含所述任务,在所述执行信息中增加所述任务;或
响应于所述一个或多个任务包含所述任务,调整所述执行信息中的所述任务的执行频率。
4.根据权利要求1所述的方法,其中,基于存储成本和执行成本两者来计算所述成本值。
5.根据权利要求1-4中任一项所述的方法,其中,基于时间成本和价格成本两者来计算所述成本值。
6.根据权利要求5所述的方法,其中,计算所述成本值包括计算时间成本与价格成本的和或加权和。
7.根据权利要求5所述的方法,其中,基于所述一个或多个任务中的每个任务的所需时间、期望时间和惩罚值来计算所述数据的所述时间成本,所述惩罚值表征对任务执行超时的不可接受程度。
8.根据权利要求5所述的方法,其中,基于所述一个或多个任务中的每个任务的服务价格和期望价格来计算所述数据的价格成本。
9.根据权利要求8所述的方法,其中,所述服务价格是任务执行价格、数据存储价格和数据获取价格的和或加权和。
10.根据权利要求1所述的方法,其中,针对所述一个或多个任务中的每个任务,所述执行信息还描述以下各项中的一个或多个:任务类型、任务所需时间量和任务所需资源量。
11.根据权利要求1-4中任一项所述的方法,还包括执行所述任务,并且其中,所述方法还包括响应于所述数据的当前存储位置不是所述目标存储位置,在执行所述任务前、与执行所述任务并行或者在执行所述任务后,重新存储所述数据。
12.根据权利要求11所述的方法,还包括在执行所述任务后,将执行结果存储在随机存储位置或默认存储位置。
13.根据权利要求11所述的方法,其中,所述数据存储在隔离域内,并且其中,执行所述任务包括:创建所述数据的副本,并且使用所创建的副本执行所述任务。
14.根据权利要求1-4中任一项所述的方法,其中,所述任务请求来自第一用户,并且所述数据属于与所述第一用户不同的第二用户。
15.根据权利要求1-4中任一项所述的方法,根据计算得到的成本值确定所述数据的目标存储位置包括:
选择成本值最小的存储位置作为所述数据的所述目标存储位置。
16.一种数据管理系统,包括:
请求获取单元,用于获取任务请求,所述任务请求指示要调用存储的数据来执行任务;
执行信息维护单元,用于更新所述数据的执行信息,所述数据的所述执行信息描述要调用所述数据的一个或多个任务以及每个任务的执行频率;
成本计算单元,用于基于所述数据的经更新的执行信息,针对多个存储位置中的每一个存储位置,计算所述数据特定于存储位置的成本值;以及
存储位置选择单元,用于根据计算得到的成本值确定所述数据的目标存储位置。
17.一种计算设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-15中任一项所述的方法。
18.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,指示所述电子设备执行根据权利要求1-15中任一项所述的方法。
19.一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现根据权利要求1-15中任一项所述的方法。
20.一种云平台,所述云平台使用根据权利要求1-15中任一项所述的方法对存储的数据进行管理。
CN202011408730.7A 2020-12-04 2020-12-04 数据管理方法、装置、计算设备、存储介质和云平台 Pending CN112540727A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011408730.7A CN112540727A (zh) 2020-12-04 2020-12-04 数据管理方法、装置、计算设备、存储介质和云平台
JP2021087330A JP7185727B2 (ja) 2020-12-04 2021-05-25 データ管理方法、装置、計算機器、記憶媒体およびクラウドプラットフォーム
EP21178094.5A EP4009170B1 (en) 2020-12-04 2021-06-07 Data management
US17/355,134 US20210318907A1 (en) 2020-12-04 2021-06-22 Method, device and storage medium for data management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011408730.7A CN112540727A (zh) 2020-12-04 2020-12-04 数据管理方法、装置、计算设备、存储介质和云平台

Publications (1)

Publication Number Publication Date
CN112540727A true CN112540727A (zh) 2021-03-23

Family

ID=75015871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011408730.7A Pending CN112540727A (zh) 2020-12-04 2020-12-04 数据管理方法、装置、计算设备、存储介质和云平台

Country Status (4)

Country Link
US (1) US20210318907A1 (zh)
EP (1) EP4009170B1 (zh)
JP (1) JP7185727B2 (zh)
CN (1) CN112540727A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220653A (zh) * 2021-04-20 2021-08-06 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
CN115600188A (zh) * 2022-11-29 2023-01-13 北京天维信通科技有限公司(Cn) 一种多级租户资源管理方法、系统、终端及存储介质
TWI795250B (zh) * 2022-03-03 2023-03-01 大陸商鼎捷軟件股份有限公司 資料分享系統以及資料分享方法
CN115952563A (zh) * 2023-03-10 2023-04-11 云南贝蝉物联网科技有限公司 基于物联网的数据安全通信系统
CN116506452A (zh) * 2023-06-16 2023-07-28 中国联合网络通信集团有限公司 多云数据存储方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115665369B (zh) * 2022-09-09 2023-11-03 北京百度网讯科技有限公司 视频处理方法、装置、电子设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058987A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于对计算系统进行追踪的方法、设备和计算机可读介质
CN110413590A (zh) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 数据迁移方法、装置、设备和介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343356B2 (en) * 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for storage modeling and costing
US9239996B2 (en) * 2010-08-24 2016-01-19 Solano Labs, Inc. Method and apparatus for clearing cloud compute demand
JP6089427B2 (ja) * 2012-03-30 2017-03-08 日本電気株式会社 フォールトトレラントサーバ、デフラグ方法、およびプログラム
US9760306B1 (en) * 2012-08-28 2017-09-12 EMC IP Holding Company LLC Prioritizing business processes using hints for a storage system
CN110825324B (zh) * 2013-11-27 2023-05-30 北京奥星贝斯科技有限公司 混合存储的控制方法及混合存储系统
US10061628B2 (en) * 2014-03-13 2018-08-28 Open Text Sa Ulc System and method for data access and replication in a distributed environment utilizing data derived from data access within the distributed environment
JP6651915B2 (ja) * 2016-03-09 2020-02-19 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP6748372B2 (ja) * 2016-06-10 2020-09-02 日本電気株式会社 データ処理装置、データ処理方法、およびデータ処理プログラム
US10120888B2 (en) * 2016-08-08 2018-11-06 American Express Travel Related Services Company, Inc. Automated task execution based on task criteria
JP6325728B2 (ja) * 2017-08-07 2018-05-16 株式会社東芝 データベース管理装置、データベース管理方法、およびデータベース管理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058987A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于对计算系统进行追踪的方法、设备和计算机可读介质
CN110413590A (zh) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 数据迁移方法、装置、设备和介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220653A (zh) * 2021-04-20 2021-08-06 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
CN113220653B (zh) * 2021-04-20 2023-10-27 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
TWI795250B (zh) * 2022-03-03 2023-03-01 大陸商鼎捷軟件股份有限公司 資料分享系統以及資料分享方法
CN115600188A (zh) * 2022-11-29 2023-01-13 北京天维信通科技有限公司(Cn) 一种多级租户资源管理方法、系统、终端及存储介质
CN115952563A (zh) * 2023-03-10 2023-04-11 云南贝蝉物联网科技有限公司 基于物联网的数据安全通信系统
CN115952563B (zh) * 2023-03-10 2023-09-12 深圳市一秋医纺科技有限公司 基于物联网的数据安全通信系统
CN116506452A (zh) * 2023-06-16 2023-07-28 中国联合网络通信集团有限公司 多云数据存储方法、装置、设备及存储介质
CN116506452B (zh) * 2023-06-16 2023-09-19 中国联合网络通信集团有限公司 多云数据存储方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP2021152911A (ja) 2021-09-30
US20210318907A1 (en) 2021-10-14
EP4009170A1 (en) 2022-06-08
EP4009170B1 (en) 2023-11-22
JP7185727B2 (ja) 2022-12-07

Similar Documents

Publication Publication Date Title
CN112540727A (zh) 数据管理方法、装置、计算设备、存储介质和云平台
Basu et al. Learn-as-you-go with megh: Efficient live migration of virtual machines
US10893116B1 (en) Apparatuses and methods for edge computing application deployment in an IoT system
US10073880B2 (en) Vertical tuning of distributed analytics clusters
US8819390B1 (en) Speculative reads
US20130091285A1 (en) Discovery-based identification and migration of easily cloudifiable applications
JP2018537776A (ja) コード実行要請ルーティング
US11647086B2 (en) System and method for maintaining user session continuity across multiple devices and/or multiple platforms
US10891569B1 (en) Dynamic task discovery for workflow tasks
US20130041989A1 (en) Dynamically relocating workloads in a networked computing environment
US20170322834A1 (en) Compute instance workload monitoring and placement
EP3842942A1 (fr) Procede et systeme d'agregation de donnees pour une plateforme de gouvernance unifiee d'une pluralite de solutions de calcul intensif
US11281510B2 (en) Intelligent scaling in microservice-based distributed systems
US11159615B2 (en) Replication optimization for object storage environments
US20210311786A1 (en) Workload management using reinforcement learning
EP3842962A1 (fr) Procede et systeme de gestion des flux de donnees pour la gouvernance unifiee d'une pluralite de solutions de calculs intensifs
US10523712B1 (en) Stochastic quantile estimation
WO2022041996A1 (en) Intelligent backup and restoration of containerized environment
US11748138B2 (en) Systems and methods for computing a success probability of a session launch using stochastic automata
US11121981B1 (en) Optimistically granting permission to host computing resources
US11405449B1 (en) Optimizing response time by load sharing in edge computing
US11811888B2 (en) Ensuring data protection and control in distributed hybrid multi-cloud environment
US20220300332A1 (en) Dynamically acquiring scoped permissions to perform operations in compute capacity and resources
US11966276B2 (en) Error testing for computers using temporary, self-terminating fault injectors
US20230297429A1 (en) Microkernel with transparent cloud-based offloading of processing - desktop-as-a-service

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