掌桥专利:专业的专利平台
掌桥专利
首页

数据管理的方法、装置、计算机设备以及存储介质

文献发布时间:2023-06-19 11:29:13


数据管理的方法、装置、计算机设备以及存储介质

技术领域

本公开涉及数据处理技术领域,具体涉及一种数据管理的方法、装置、计算机设备、非暂态计算机可读存储介质以及计算机程序产品。

背景技术

随着互联网技术的飞速发展,现实世界中的各种业务会产生大量的数据,这些数据对于各项业务的开展以及业务情况的分析非常重要。因而,用户对于数据的存储的要求也越来越高。然而,现有网络上存在的数据不仅数据极大,而且格式、大小以及编码各异,对于存储系统的要求也各不相同。因此,对于这些数据的存储,非常容易造成工作重复、效率低下以及人力的浪费等问题,并且也无法保障数据存储的安全性和可靠性。

在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

发明内容

根据本公开的第一方面,提供了一种数据管理的方法,包括:接收包含待处理数据信息和相应的配置信息的调用请求;基于所述待处理数据信息,获取待处理数据;以及基于所述配置信息,选择性地对所述待处理数据进行处理。

根据本公开的第二方面,提供了一种数据管理的装置,包括:接收模块,所述接收模块被配置为接收包含待处理数据和相应的配置信息的存储请求;获取模块,所述获取模块被配置为基于所述待处理数据信息,获取待处理数据;以及处理模块,所述处理模块被配置为基于所述配置信息,选择性地对所述待处理数据进行处理。

根据本公开的第三方面,提供了一种计算机设备,包括:存储器、处理器以及存储在所述存储器上的计算机程序。所述处理器被配置为执行所述计算机程序以实现根据本公开的数据管理的方法的步骤。

根据本公开的第四方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序。所述计算机程序被处理器执行时实现根据本公开的数据管理的方法的步骤。

根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据本公开的数据管理的方法的步骤。

根据本公开的一个或多个实施例,通过根据调用端提供的配置信息对待处理数据进行定制化处理,不仅可以满足各种不同业务场景的多样化需求,而且可以增加调用端的便捷性,提高存储系统的可用性和安全性。

附图说明

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。

图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;

图2示出了根据本公开的一些实施例的数据管理的方法的流程图;

图3示出了图2中的选择性处理步骤的流程图;

图4示出了根据本公开的一些实施例的数据管理装置的结构框图;

图5示出了根据本公开的另一些实施例的数据管理装置的结构框图;以及

图6示出了能够用于实现本公开的实施例的示例性服务器和客户端的结构框图。

具体实施方式

在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。

现有网络上存在的数据不仅数据极大,而且格式、大小以及编码各异,对于存储系统的要求也各不相同。对于这些数据的存储,非常容易造成工作重复、效率低下以及人力的浪费等问题,并且也无法保障数据存储的安全性和可靠性。

在本公开中,通过根据调用端提供的配置信息,对待处理数据进行定制化处理,不仅可以满足各种不同业务场景的多样化需求,而且可以增加调用端的便捷性,提高存储系统的可用性和安全性。

下面将结合附图详细描述本公开的实施例。

图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。

在本公开的实施例中,服务器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、AppleiOS、类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示出了根据本公开的一些实施例的数据管理的方法的流程图。方法2000包括:步骤S202、接收包含待处理数据信息和相应的配置信息的调用请求;步骤S204、基于待处理数据信息,获取待处理数据;以及步骤S206、基于配置信息,选择性地对待处理数据进行处理。通过上述方式,不仅可以满足各种不同业务场景的多样化需求,而且可以增加调用端的便捷性,提高存储系统的可用性和安全性。

在步骤S202,接收包含待处理数据信息和相应的配置信息的调用请求。

根据一些实施例,待处理数据信息包括待处理数据以及用于下载待处理数据的索引信息中的至少一项。其中,索引信息包括下载地址信息或用于唯一标识待处理数据的标识信息(例如,文件名、MD5值、编号等)。

根据一些实施例,配置信息用于指示上传或下载的待处理数据需要进行的处理操作。在一些示例中,配置信息包括数据格式要求、存储单元信息、数据去重请求以及数据可用时间等中的至少一者。

根据一些实施例,调用请求包括指示对待处理数据进行上传的请求(即,指示上传操作)、指示对待处理数据进行下载的请求(即,指示下载的操作)、指示对待处理数据进行迁移的请求(即,指示数据迁移的操作)以及指示对待处理数据进行备份的请求(即,指示数据备份的操作)中的至少一项。

根据一些实施例,调用请求是由接入用于实现方法2000的数据管理系统的调用端发出的。在本文中,“调用端”可以包括装置、系统或应用程序等中的任一者。此时,步骤S204可包括选择性地通过远程过程调用RPC和软件开发工具包SDK中的至少一种接入方式将调用端接入该数据管理系统,从而实现更多种类调用端的接入,并且可以自由选择接入方式。

在步骤S204,基于待处理数据信息,获取待处理数据。

根据一些实施例,待处理数据可包括音频文件、视频文件、图片以及文档文件等。

根据一些实施例,在待处理数据信息包括待处理数据时,并且调用请求指示对待处理数据进行上传的请求,步骤S204包括直接从待处理数据信息中获取待处理数据。此外,在待处理数据信息包括用于下载待处理数据的索引信息时,并且调用请求指示对待处理数据进行下载的请求时,步骤S204包括基于待处理数据信息(例如,索引信息),从至少一个存储单元中获取待处理数据。其中,与待处理数据信息相对应的待处理数据存储在至少一个存储单元中的某个存储单元中。

在步骤S206,基于配置信息,选择性地对待处理数据进行处理。

根据用于指示上传或下载的待处理数据需要进行的处理操作的配置信息,选择性地对待处理的数据进行相应地处理操作,以使得用户可以使用方法2000对上传或下载的数据进行定制化处理,从而满足不同业务场景的多样化的需求。例如,用户可以通过方法2000对待下载的音频进行格式转换的处理以下载同一音频的任意格式的文件。在一些示例中,可以采用职责链模式选择性地对待处理数据进行处理。也就是说,通过将对待处理数据进行处理的多个功能模块连接起来形成一条链,以使得调用请求可以在这条链上传递,使得链上的某一个或多个功能模块对待处理数据进行处理。发出这个调用请求的调用端并不知道链上的哪一个或多个处理模块最终处理该调用请求,这使得实现方法2000的数据管理系统可以在不影响调用端的情况下动态地重新组织和分配责任。

根据一些实施例,在调用请求指示对待处理数据进行上传的请求时,在步骤S206之前,方法2000还可包括确定待处理数据的格式、编码以及大小等中的至少一项是否符合特定要求;以及响应于确定待处理数据的格式、编码以及大小中的该至少一项不符合特定要求,发送数据不可用通知,从而保证数据的可用性,避免计算资源和存储资源的浪费,并且为之后的数据处理做好前置信息准备。例如,当待处理数据为音频文件时,数据的格式可包括mp3、wav、m4a等,数据的大小可包括音频时长或大小,数据的编码可包括脉冲编码调制PCM编码、OGG编码等。在一些示例中,可通过多媒体流分析工具FFprobe对数据的大小、格式、编码以及用于标识待处理数据的标识信息(例如,MD5值)等进行检测,并确定待处理数据的大小、格式以及编码中的至少一项是否符合特定要求。

根据一些实施例,在对数据的大小、格式、编码以及标识信息(例如,MD5值)等进行检测后,还可对数据的大小、格式、编码以及标识信息等中的至少一项进行存储。

图3示出了图2中的选择性处理步骤的流程图。在图3中,调用请求指示对待处理数据进行上传的请求。根据一些实施例,在配置信息包括数据格式要求时,步骤S206可包括:步骤S2062、确定待处理数据的格式是否符合数据格式要求;以及步骤S2063、响应于确定待处理数据的格式不符合数据格式要求,基于数据格式要求,对待处理数据的格式进行转换。在步骤S2061中,如果确定配置信息包括数据格式要求,则将执行步骤S2062和S2063,如果确定配置信息不包括数据格式要求,则跳过步骤S2062和S2063而进行下一步骤的处理。其中,数据格式要求是指调用端指示对待处理数据进行格式转换,可包括目标格式信息。例如,当待处理数据为音频文件时,目标格式信息可包括mp3、wav、m4a等中的任一项。以数据A为mp3的音频文件为例,调用端的数据格式要求中的目标格式信息为wav,此时,如果确定数据A的格式不符合该数据格式要求,则将数据A从mp3转换为wav格式。以上通过对待处理数据进行格式转换,可以实现根据调用端的要求,将数据转化为特定格式后进行存储,从而便于调用端使用。通过预先确定待处理数据的格式是否符合数据格式要求,从而降低数据转换的计算量,降低计算资源的占用。在一些示例中,也可无需预先确定待处理数据的格式是否符合数据格式要求,而直接对待处理数据进行格式转换。在一些示例中,可以通过多媒体视频处理工具FFmpeg对待处理数据的格式进行转换。

根据一些实施例,配置信息也可包括数据编码要求,此时,步骤S206还可包括确定待处理数据的编码是否符合数据编码要求;以及响应于确定待处理数据的编码不符合数据编码要求,基于数据编码要求,对待处理数据的编码进行转换。其中,数据编码要求是指调用端指示对待处理数据进行编码转换,可包括目标编码信息。对待处理数据的编码进行转换的特征与上述对待处理数据的格式进行转换的特征相同,在此不再进行赘述。

根据一些实施例,配置信息也可包括输入输出IO流转换请求,此时,步骤S206还可包括基于IO流转换请求,对待处理数据进行IO流转换。其中,IO流转换要求是指调用端指示对待处理数据进行IO流转换。

根据一些实施例,如图3所示,在配置信息包括数据去重请求时,步骤S206还可包括:步骤S2065、确定至少一个存储单元中是否存在与待处理数据的内容相同的数据;以及步骤S2066、响应于确定至少一个存储单元中存在与待处理数据的内容相同的数据,发送数据重复通知,从而避免出现文件重复存储,浪费存储资源。在步骤S2064中,如果确定配置信息包括数据去重请求,则将执行步骤S2065和S2066,如果确定配置信息不包括数据去重请求,则不会执行步骤S2065和S2066。其中,数据去重请求指示对重复存储的数据进行去重处理;至少一个存储单元是与用于实现方法2000的数据管理系统对接的存储单元,即,待处理数据存储在至少一个存储单元中。在一些示例中,可通过用于标识待处理数据的标识信息来判断待处理数据的内容是否相同。标识信息例如为MD5值。在一些示例中,待处理数据信息还可包括标识信息,在将待处理数据进行存储时还可对相应的标识信息进行存储,从而通过比较存储单元中是否有相同的标识信息来判断是否存在与待处理数据的内容相同的数据。在一些示例中,方法2000还可包括检测待处理数据的标识信息,并对待处理数据和检测出的标识信息进行存储,从而通过比较存储单元中是否有相同的标识信息来判断是否存在与待处理数据的内容相同的数据。在一些示例中,在发送数据重复通知时,可根据调用端的要求判断是否需要继续对待处理数据进行上传,也可直接拒绝指示对待处理数据进行上传的请求。

根据一些实施例,如图3所示,在配置信息包括存储单元信息时,步骤S206还可包括:步骤S2068、将待处理数据存储到至少一个存储单元中的与该存储单元信息对应的存储单元,从而根据调用端需求将数据存储到特定的存储单元,以便调用端使用。如果在步骤S2067中,确定配置信息包括存储单元信息,则将执行步骤S2068。如果在步骤S2067中,确定配置信息不包括存储单元信息,则不执行步骤S2068,而直接将待处理数据存储于任一存储单元中。在一些示例中,至少一个存储单元可包括文件存储和对象存储两大类,例如包括百度对象存储BOS系统、网络文件系统NFS、分布式文件系统CEPH、以及本地存储中的至少一者,从而实现多种底层文件存储方式的接入,增加数据存储的多样性。

根据一些实施例,为了增加存储的可靠性和安全性,步骤S2068可包括:确定与存储单元信息对应的存储单元是否可用;以及响应于确定与存储单元信息对应的存储单元不可用,将待处理数据存储到至少一个存储单元中的可用的存储单元中。这可以实现在检测到调用端要求的存储单元不可用时,将待处理数据存储到可用的存储单元中。并且,上述方式是在调用端无感知的情况下的存储单元的动态切换,以保障调用端的各项请求的持续性。其中,存储单元不可用的情况包括:与存储单元的通信中断、存储单元自身发生故障以及存储单元处于升级状态等。

虽然各个操作在附图中被描绘为按照特定的顺序,但是这不应理解为要求这些操作必须以所示的特定顺序或者按顺行次序执行,也不应理解为要求必须执行所有示出的操作以获得期望的结果。例如,步骤S2064至S2066可以在步骤S2061之前被执行,或者与步骤S2061并发地执行。又例如,S2064至S2066甚至可以被省略。

根据一些实施例,在调用请求指示对待处理数据进行下载的请求时,并且配置信息包括数据格式要求时,步骤S206还包括基于该数据格式要求,对待处理数据进行格式转换,以实现根据调用端的需求下载特定格式的数据,从而满足多种业务场景的需求。该步骤中的特征与图3的上传流程中的对待处理数据进行格式转换的步骤特征相同,在此不再进行赘述。在一些示例中,对待处理数据进行格式转换前,可先确定待处理数据的格式是否符合数据格式要求。在待处理数据的格式不符合数据格式要求时,再对待处理数据进行格式转换。在一些示例中,也可无需预先确定待处理数据的格式是否符合数据格式要求,而直接对待处理数据进行格式转换。

根据一些实施例,在调用请求指示对待处理数据进行下载的请求时,并且配置信息包括数据编码要求时,步骤S206还包括基于该数据编码要求,对待处理数据进行编码转换,以实现根据调用端的需求下载特定编码的数据,从而满足多种业务场景的需求。该步骤中的特征与图3的上传流程中的对待处理数据进行编码转换的步骤特征相同,在此不再进行赘述。

根据一些实施例,在调用请求指示对待处理数据进行下载的请求时,可以确定配置信息是否包括数据可用时间。在配置信息包括数据可用时间时,步骤S206可包括基于数据可用时间、用于标识待处理数据的标识信息以及待处理数据的下载地址,为待处理数据生成防盗链接。也就是说,根据数据可用时间、标识信息以及下载地址,通过自定义的加密算法生成在数据可用时间内可用的无规则的防盗链接,从而防止数据被恶意盗用。其中,标识信息可包括数据ID。在一些示例中,也可不根据配置信息,而基于接收到调用请求的时间戳、标识信息以及下载地址,为待处理数据生成一段时间内可用的防盗链接。

根据一些实施例,在调用请求指示对待处理数据进行迁移或备份的请求时,对待处理数据进行上述处理操作,在此不再赘述。

根据一些实施例,方法2000用于数据管理系统中,数据管理系统包括存储模块,存储模块通过统一接口与至少一个存储单元进行交互,并且方法2000还可包括:统计在一定时间内存储模块与至少一个存储单元中的每个存储单元之间的通信中断的次数;确定存储模块与至少一个存储单元中的每个存储单元之间的通信中断的次数是否大于次数阈值;以及响应于确定存储模块与至少一个存储单元中的某个存储单元之间的通信中断的次数大于次数阈值,发送连接异常通知,以实现对存储单元的可用性进行监控,并进行智能报警,以确保数据上传或下载的可靠性或安全性。

根据一些实施例,还可根据调用端的关于数据异常上传或下载的反馈,对存储单元的可用性进行监控。此时,方法2000还可包括响应于接收到调用端的关于数据异常上传或下载的反馈,发送状态异常通知,从而确保数据上传或下载的可靠性或安全性。

根据一些实施例,方法2000还可包括响应于接收到上述连接异常通知和上述状态异常通知中的至少一者,将相应的异常的存储单元中的数据迁移到至少一个存储单元中除异常的存储单元外的其他的存储单元,以增加数据存储的安全性和可靠性,从而确保调用请求的正常进行。在一些示例中,即使没有接受到连接异常通知或状态异常通知,也可定期对至少一个存储单元中的数据进行备份,以增加所存储的数据的安全性。

根据一些实施例,在数据的上传流程中,当对待处理数据进行存储时,如果接收到连接异常通知或状态异常通知是关于待处理数据需存储的存储单元的,则将待处理数据存储到至少一个存储单元中的其他的存储单元。

根据一些实施例,在接收到调用请求时,方法2000还可包括:确定调用请求是否被授予相应的权限;以及响应于确定调用请求未被授予相应的权限,发送请求拒绝通知。其中,确定调用请求是否被授予相应的权限包括以下各项中的至少一项:发出调用请求的调用端是否被授予调用权限、包含上传请求的调用请求是否被授予上传权限、包含下载请求的调用请求是否被授予下载权限、包含备份请求的调用请求是否被授予备份权限、包含迁移请求的调用请求是否被授予迁移权限以及调用请求所使用的调用频率是否被授予特定的调用频率权限。上述通过检测调用请求的发出者以及相应的各项操作是否被授予相应的权限,以增加数据管理系统的安全性,从而防止非法和恶意调用。

根据一些实施例,方法2000还可包括:确定调用端的操作占用的流量是否超过流量阈值;以及响应于确定上述流量超过流量阈值,对调用端的操作进行限制或发送请求拒绝通知。如果某一调用端的调用请求在短时间内占用大量的流量,将会使得其他的调用端无法使用用于实现方法2000的数据管理系统。因此,为了确保数据管理系统的可靠性和安全性,会适当限制占用流量或直接丢弃相应的调用请求。

根据一些实施例,方法2000还可包括对待处理数据的大小、调用请求的次数以及各种异常情况等进行统计,以便通过例如报表的形式进行相应的报告和预警,促进数据管理系统的安全性。

图4示出了根据本公开的一些实施例的数据管理装置的结构框图。如图4所示,数据管理的装置4000可包括:接收模块410、获取模块420以及处理模块430。接收模块410被配置为接收包含待处理数据和相应的配置信息的存储请求。获取模块420被配置为基于待处理数据信息,获取待处理数据。处理模块430被配置为基于配置信息,选择性地对待处理数据进行处理。

应当理解,图4中所示装置4000的各个模块可以与参考图2和图3描述的方法2000中的各个步骤相对应。由此,上面针对方法2000描述的操作、特征和优点同样适用于装置4000及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。

图5示出了根据本公开的另一些实施例的数据管理装置的结构框图。如图5所示,装置5000可包括:接入层510、处理层520、存储层530以及监控层550。

接入层510包括接收模块511、权限认证模块512以及限流模块513。

其中,接收模块511被配置为接收包含待处理数据信息和相应的配置信息的调用请求;

权限认证模块512被配置为确定调用请求是否被授予相应的权限;以及响应于确定调用请求未被授予相应的权限,发送请求拒绝通知;以及

限流模块513被配置为确定调用端的操作占用的流量是否超过流量阈值;以及响应于确定上述流量超过流量阈值,对调用端的操作进行限制或发送请求拒绝通知。

处理层520包括:检测模块521、转换模块522、去重模块523、动态切换模块524、地址生成模块525以及防盗模块526。

其中,检测模块521被配置为确定待处理数据的格式、编码以及大小等中的至少一项是否符合特定要求;以及响应于确定待处理数据的格式和大小中的该至少一项不符合特定要求,发送数据不可用通知;

转换模块522被配置为基于数据格式要求,对待处理数据的格式进行转换;确定待处理数据的编码是否符合数据编码要求;基于数据编码要求,对待处理数据的编码进行转换;以及基于IO流转换请求,对待处理数据进行IO流转换。

去重模块523被配置为确定至少一个存储单元中是否存在与待处理数据的内容相同的数据;以及响应于确定至少一个存储单元中存在与待处理数据的内容相同的数据,发送数据重复通知;

动态切换模块524被配置为确定与存储单元信息对应的存储单元是否可用;响应于确定与存储单元信息对应的存储单元不可用,将待处理数据存储到至少一个存储单元中的可用的存储单元中;以及响应于接收到连接异常通知和状态异常通知中的至少一者,将相应的异常的存储单元中的数据迁移到至少一个存储单元中除异常的存储单元外的其他的存储单元;

地址生成模块525被配置成为待处理数据生成下载地址;以及

防盗模块526被配置为基于数据可用时间、用于标识待处理数据的标识信息以及待处理数据的下载地址,为待处理数据生成防盗链接。

存储层530包括存储模块531。存储模块531通过统一接口与至少一个存储单元541、542…54n进行交互。存储模块531定义同一的接口标准,从而为至少一个存储单元541、542…54n提供统一的上传接口、下载接口、迁移接口以及备份接口。存储模块531可例如被配置为基于待处理数据信息(例如,索引信息),从至少一个存储单元中获取待处理数据。其中,至少一个存储单元541、542…54n与上述方法2000中的至少一个存储单元的特征相对应,在此不再进行赘述。

监控层550包括监控模块551和统计模块552。

其中,监控模块551被配置为统计在一定时间内存储模块与至少一个存储单元中的每个存储单元之间的通信中断的次数;确定存储模块与至少一个存储单元中的每个存储单元之间的通信中断的次数是否大于次数阈值;响应于确定存储模块与至少一个存储单元中的某个存储单元之间的通信中断的次数大于次数阈值,发送连接异常通知;以及响应于接收到调用端的关于数据异常上传或下载的反馈,发送状态异常通知;

统计模块552被配置为对待处理数据的大小、调用请求的次数以及各种异常情况等进行统计。

应当理解,图5中所示装置5000的各个模块可以与参考图2和图3描述的方法2000中的各个步骤相对应。例如,接收模块511可例如用于执行方法2000中的步骤S202;权限认证模块512可例如执行方法2000中的权限确认步骤;限流模块513可例如执行方法2000中的流量确认步骤;处理层220可例如用于执行方法2000中的步骤S206;检测模块521可例如用于执行方法2000中的数据的格式和大小等确认步骤以及对其存储步骤;转换模块522可例如用于执行方法2000中的步骤S2061至S2063、下载流程中的格式转换、上传和下载流程中的编码转换步骤以及IO流转换步骤等;去重模块523可例如用于执行方法2000中的步骤S2064至S2066;动态切换模块524可例如用于执行方法2000中的步骤S2067至S2068以及迁移步骤;防盗模块526可例如用于执行方法2000中的防盗链接生成步骤;存储模块531与方法2000中提及的存储模块相对应,可例如执行方法2000中的步骤S204;监控模块551可例如用于执行方法2000中的连接和状态异常确定步骤;以及统计模块552可例如用于执行方法2000中的统计步骤。上述由此,上面针对方法2000描述的操作、特征和优点同样适用于装置5000及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。

根据本公开的另一方面,还提供一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,处理器被配置为执行该计算机程序以实现上述数据管理的方法2000的步骤。

根据本公开的又一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据管理的方法2000的步骤。

根据本公开的又一方面,还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据管理的方法2000的步骤。

参考图6,现将描述可以作为本公开的服务器或客户端的计算机设备6000的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。

计算机设备6000可以包括(可能经由一个或多个接口)与总线6002连接或与总线6002通信的元件。例如,计算机设备6000可以包括总线6002、一个或多个处理器6004、一个或多个输入设备6006以及一个或多个输出设备6008。一个或多个处理器6004可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器6004可以对在计算机设备6000内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器6004为例。

输入设备6006可以是能向计算机设备6000输入信息的任何类型的设备。输入设备6006可以接收输入的数字或字符信息,以及产生与用于实现数据管理的方法的计算机设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出设备6008可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。

计算机设备6000还可以包括非暂时性存储设备6010或者与非暂时性存储设备6010连接,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备6010可以从接口拆卸。非暂时性存储设备6010可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码/模块(例如,附图4所示的接收模块410、获取模块420和处理模块430)。

计算机设备6000还可以包括通信设备6012。通信设备6012可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。

计算机设备6000还可以包括工作存储器6014,其可以是可以存储对处理器6004的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。

软件要素(程序)可以位于工作存储器6014中,包括但不限于操作系统6016、一个或多个应用程序6018、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以包括在一个或多个应用程序6018中,并且上述方法可以通过由处理器6004读取和执行一个或多个应用程序6018的指令来实现。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。

还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。

还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机设备上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。

还应该理解,计算机设备6000的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算设备2000的其他组件也可以类似地分布。这样,计算机设备6000可以被解释为在多个位置执行处理的分布式计算系统。

虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

相关技术
  • 数据管理方法、系统、计算机可读存储介质及计算机设备
  • 数据管理方法、计算机设备及计算机可读存储介质
技术分类

06120112941823