数据处理方法及装置、存储介质和电子设备与流程

文档序号:24129187发布日期:2021-03-02 16:47阅读:112来源:国知局
数据处理方法及装置、存储介质和电子设备与流程

[0001]
本发明的实施方式涉及互联网技术领域,更具体地,本发明的实施方式涉及数据处理方法及装置,存储介质和电子设备。


背景技术:

[0002]
本部分旨在为权利要求中陈述的本发明的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
[0003]
大数据平台是指通过一系列大数据技术在机器集群上构建而成的数据处理系统,一般来说,能够提供一定的计算能力和存储能力,可以实现数据采集、数据处理、数据输出和任务调度管理。


技术实现要素:

[0004]
但是,在一些技术中,大数据平台的持续运行过程中,不少老旧的数据或任务逐渐成为大数据平台上的垃圾,它们消耗着大数据平台的计算资源和存储资源,且其上游依赖任务的运行也是对大数据平台资源的一种浪费。但由于数据或任务之间普遍存在的相互依赖的关系,随意的下线数据或任务及其上游依赖是不可取的,会影响用户的正常使用。为此,非常需要一种改进的数据处理方法及装置、存储介质和电子设备,以解决无法准确下线无效数据和/或任务的情况。
[0005]
在本上下文中,本发明的实施方式期望提供一种数据处理方法和装置、存储介质和电子设备。
[0006]
根据本公开的一个方面,提供一种数据处理方法,包括:
[0007]
获取目标范围的元数据,并对所述元数据进行分析以获取数据类元数据和任务类元数据,以及对应的数据分析结果;
[0008]
基于所述数据类元数据的数据访问信息确定对应的数据使用价值,以及向目标数据库读取所述数据类元数据对应的数据业务价值;并根据所述数据类元数据的数据使用价值信息和数据业务价值数据信息对所述数据类元数据进行分类;
[0009]
根据所述任务类元数据的任务依赖信息、所述任务类元数据与所述数据类元数据之间的血缘关系信息对所述数据类元数据进行分类;
[0010]
基于所述数据类元数据和所述任务类元数据的分类结果生成下线推荐集合。
[0011]
在本公开的一种示例性实施例中,所述方法还包括:
[0012]
根据所述下线推荐集合中所述数据类元数据和任务类元数据对应的资源消耗信息,计算所述下线推荐集合在目标下线周期内的可节约消耗;其中,所述可节约消耗包括存储消耗和运算消耗。
[0013]
在本公开的一种示例性实施例中,所述计算所述下线推荐集合在目标下线周期内的可节约消耗,包括:
[0014]
根据所述任务类元数据对应的任务与调度任务实例关系信息和调度任务实例的
资源消耗信息,统计所述调度任务实例的存储消耗和运算消耗;
[0015]
基于所述调度任务实例的存储消耗和运算消耗确定所述目标下线周期内的所述下线推荐集合中的任务类元数据的可节约消耗。
[0016]
在本公开的一种示例性实施例中,所述计算所述下线推荐集合在目标下线周期内的可节约消耗,包括:
[0017]
根据所述数据类元数据对应的存储信息统计目标下线周期内所述下线推荐集合中的数据类元数据的可节约消耗。
[0018]
在本公开的一种示例性实施例中,所述方法还包括:
[0019]
响应于第二业务端对所述下线推荐集合的触发操作,对所述下线推荐集合执行下线处理。
[0020]
在本公开的一种示例性实施例中,所述对所述下线推荐集合中执行下线处理,包括:
[0021]
对所述下线推荐集合中的数据类元数据和任务类元数据进行备份,以获取备份元数据;
[0022]
对所述数据类元数据和任务类元数据执行删除操作并配置对应的可恢复周期,以完成所述下线推荐集合的逻辑下线。
[0023]
在本公开的一种示例性实施例中,所述方法还包括:
[0024]
若所述可恢复周期内接收到恢复指令,则利用所述备份元数据将备份的所述数据类元数据和/或任务类元数据进行恢复操作;
[0025]
若所述可恢复周期内未接收到恢复指令,则在所述可以恢复周期后,删除所述备份元数据,以完成所述下线推荐集合的物理下线。
[0026]
在本公开的一种示例性实施例中,所述元数据包括基础元数据、运行时元数据和业务组织数据;
[0027]
所述获取目标范围的元数据,并对所述元数据进行分析以获取所述数据类元数据和任务类元数据,以及对应的数据分析结果,包括:
[0028]
响应于第一业务端的指令信息,调用目标服务接口以采集所述元数据;
[0029]
对所述元数据进行分析以获取所述数据类元数据和任务类元数据的存储信息、访问信息、资源消耗信息、任务与数据的血缘关系信息、任务依赖和调度信息中的任意一项或任意多项的组合;
[0030]
将所述元数据的数据分析结果保存至目标数据库中。
[0031]
在本公开的一种示例性实施例中,所述基于所述数据类元数据的数据访问信息确定对应的数据使用价值,包括:
[0032]
遍历所述数据类元数据,以提取所述数据类元数据的数据访问信息;其中,所述数据访问信息包括:动态血缘/静态血缘/文件/表的读取次数、写入次数、最后读取时间、最后写入时间中的任意一项或任意多项;
[0033]
统计所述数据访问信息,并将统计结果与预设阈值进行比对以确定所述数据类元数据中各数据对应的数据价值对应的使用类型;其中,所述数据包括:表和/或文件;所述使用类型包括:有写无读数据、有读无写数据、无读写数据。
[0034]
在本公开的一种示例性实施例中,所述数据业务价值对应的等级包括:不可下线、
无依赖可下线和可下线;
[0035]
所述根据所述数据类元数据的数据使用价值信息和数据业务价值数据信息对所述数据类元数据进行分类,包括:
[0036]
根据所述数据的使用类型和数据业务价值对应的等级对所述数据进行标记。
[0037]
在本公开的一种示例性实施例中,所述根据所述数据的使用类型和数据业务价值对应的等级对所述数据进行标记,包括:
[0038]
若数据业务价值等级为不可下线,或所述数据使用类型为有读有写数据,则所述数据不做标记;
[0039]
若数据业务价值等级为无依赖可下线或可下线,则在所述数据使用类型为无写无读时,为所述数据配置第一标记;在所述数据使用类型为有写无读时,为所述数据及对应的直接上游任务配置第二标记。
[0040]
在本公开的一种示例性实施例中,所述根据所述任务类元数据的任务依赖信息、所述任务类元数据与所述数据类元数据之间的血缘关系信息对所述数据类元数据进行分类,包括:
[0041]
遍历所述任务类元数据,根据所述任务类元数据中各任务的下游任务依赖信息和输出数据信息对所述任务配置初始标记;标识类型包括第一标记和第二标记;
[0042]
遍历配置有所述第二标记的数据,若对应的全部上游依赖任务均为第二标记/或第一标记,则为该所述数据配置第一标记;否则取消所述数据的标记。
[0043]
在本公开的一种示例性实施例中,所述基于所述数据类元数据和所述任务类元数据的分类结果生成下线推荐集合,包括:
[0044]
筛选配置有第一标记的所述数据类元数据和所述任务类元数据,并根据筛选结果生成所述下线推荐集合。
[0045]
根据本公开的一个方面,提供一种数据处理装置,包括:
[0046]
数据采集模块,用于获取目标范围的元数据,并对所述元数据进行分析以获取数据类元数据和任务类元数据,以及对应的数据分析结果;
[0047]
第一处理模块,用于基于所述数据类元数据的数据访问信息确定对应的数据使用价值,以及向目标数据库读取所述数据类元数据对应的数据业务价值;并根据所述数据类元数据的数据使用价值信息和数据业务价值数据信息对所述数据类元数据进行分类;
[0048]
第二处理模块,用于根据所述任务类元数据的任务依赖信息、所述任务类元数据与所述数据类元数据之间的血缘关系信息对所述数据类元数据进行分类;
[0049]
推荐生成模块,用于基于所述数据类元数据和所述任务类元数据的分类结果生成下线推荐集合。
[0050]
在本公开的一种示例性实施例中,所述装置还包括:
[0051]
消耗计算模块,用于根据所述下线推荐集合中所述数据类元数据和任务类元数据对应的资源消耗信息,计算所述下线推荐集合在目标下线周期内的可节约消耗;其中,所述可节约消耗包括存储消耗和运算消耗。
[0052]
在本公开的一种示例性实施例中,所述消耗计算模块包括:
[0053]
任务类元数据消耗计算单元,用于根据所述任务类元数据对应的任务与调度任务实例关系信息和调度任务实例的资源消耗信息,统计所述调度任务实例的存储消耗和运算
消耗;并基于所述调度任务实例的存储消耗和运算消耗确定所述目标下线周期内的所述下线推荐集合中的任务类元数据的可节约消耗。
[0054]
在本公开的一种示例性实施例中,所述消耗计算模块包括:
[0055]
数据类元数据消耗计算单元,用于根据所述数据类元数据对应的存储信息统计目标下线周期内所述下线推荐集合中的数据类元数据的可节约消耗。
[0056]
在本公开的一种示例性实施例中,所述装置还包括:
[0057]
下线执行模块,用于响应于第二业务端对所述下线推荐集合的触发操作,对所述下线推荐集合执行下线处理。
[0058]
在本公开的一种示例性实施例中,所述下线执行模块包括:
[0059]
逻辑下线执行单元,用于对所述下线推荐集合中的数据类元数据和任务类元数据进行备份,以获取备份元数据;对所述数据类元数据和任务类元数据执行删除操作并配置对应的可恢复周期,以完成所述下线推荐集合的逻辑下线。
[0060]
在本公开的一种示例性实施例中,所述下线执行模块包括:
[0061]
物理下线执行单元,用于若所述可恢复周期内接收到恢复指令,则利用所述备份元数据将备份的所述数据类元数据和/或任务类元数据进行恢复操作;若所述可恢复周期内未接收到恢复指令,则在所述可以恢复周期后,删除所述备份元数据,以完成所述下线推荐集合的物理下线。
[0062]
在本公开的一种示例性实施例中,所述元数据包括基础元数据、运行时元数据和业务组织数据;
[0063]
所述数据采集模块包括:
[0064]
接口调用单元,用于响应于第一业务端的指令信息,调用目标服务接口以采集所述元数据;
[0065]
数据分析单元,用于对所述元数据进行分析以获取所述数据类元数据和任务类元数据的存储信息、访问信息、资源消耗信息、任务与数据的血缘关系信息、任务依赖和调度信息中的任意一项或任意多项的组合;
[0066]
数据存储单元,用于将所述元数据的数据分析结果保存至目标数据库中。
[0067]
在本公开的一种示例性实施例中,所述第一处理模块包括:
[0068]
数据访问信息处理单元,用于遍历所述数据类元数据,以提取所述数据类元数据的数据访问信息;其中,所述数据访问信息包括:动态血缘/静态血缘/文件/表的读取次数、写入次数、最后读取时间、最后写入时间中的任意一项或任意多项;以及统计所述数据访问信息,并将统计结果与预设阈值进行比对以确定所述数据类元数据中各数据对应的数据价值对应的使用类型;其中,所述数据包括:表和/或文件;所述使用类型包括:有写无读数据、有读无写数据、无读写数据。
[0069]
在本公开的一种示例性实施例中,所述数据业务价值对应的等级包括:不可下线、无依赖可下线和可下线;
[0070]
所述第一处理模块还包括:
[0071]
第一分类单元,用于根据所述数据的使用类型和数据业务价值对应的等级对所述数据进行标记。
[0072]
在本公开的一种示例性实施例中,所述第一分类单元用于若数据业务价值等级为
不可下线,或所述数据使用类型为有读有写数据,则所述数据不做标记;以及若数据业务价值等级为无依赖可下线或可下线,则在所述数据使用类型为无写无读时,为所述数据配置第一标记;在所述数据使用类型为有写无读时,为所述数据及对应的直接上游任务配置第二标记。
[0073]
在本公开的一种示例性实施例中,所述第二处理模块包括:
[0074]
第二分类单元,用于遍历所述任务类元数据,根据所述任务类元数据中各任务的下游任务依赖信息和输出数据信息对所述任务配置初始标记;标识类型包括第一标记和第二标记;以及遍历配置有所述第二标记的数据,若对应的全部上游依赖任务均为第二标记/或第一标记,则为该所述数据配置第一标记;否则取消所述数据的标记。
[0075]
在本公开的一种示例性实施例中,所述推荐生成模块用于筛选配置有第一标记的所述数据类元数据和所述任务类元数据,并根据筛选结果生成所述下线推荐集合。
[0076]
根据本公开的一个方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时上述的数据处理方法。
[0077]
根据本公开的一个方面,提供一种电子设备,包括:
[0078]
处理器;以及
[0079]
存储器,用于存储所述处理器的可执行指令;
[0080]
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的数据处理方法。
[0081]
根据本发明实施方式的数据处理方法,通过对大数据平台的元数据进行解析得到任务类元数据和数据类元数据及对应的数据分析结果;基于数据分析结果,可以通过数据使用价值和数据业务价值对数据类元数据进行分类,同时可以利用任务依赖信息和血缘关系对数据类元数据进行分类,进而可以根据分类结果来生成下线推荐集合,从而使得大数据平台对于数据或任务的下线有据可循。通过计算数据使用价值、数据业务价值、任务依赖数据和血缘关系数据实现了对任务和数据对应的下线成本和价值的有效量化;并且,通过考虑数据与任务之间的任务依赖信息和血缘关系信息进行分类,能够最大程度的避免下线对象的数据安全,避免下线错误而导致的线上事故。
附图说明
[0082]
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0083]
图1示意性地示出了根据本发明实施方式的数据处理方法的流程图;
[0084]
图2示意性地示出了根据本发明实施方式的分析元数据的方法的流程图;
[0085]
图3示意性地示出了根据本发明实施方式的确定数据类元数据对应数据价值的方法的流程图;
[0086]
图4示意性地示出了根据本发明实施方式的对数据类元数据进行分类和标记的方法的流程图;
[0087]
图5示意性地示出了根据本发明实施方式的对任务类元数据进行分类和标记的方法的流程图;
[0088]
图6示意性地示出了根据本发明实施方式的另一种数据处理方法的流程图;
[0089]
图7示意性地示出了根据本发明实施方式的下线处理方法的流程图;
[0090]
图8示意性地示出了根据本发明实施方式的数据处理装置的方框图;
[0091]
图9示出了根据本发明实施方式的存储介质的示意图;以及
[0092]
图10示意性示出了根据发明实施方式的电子设备的方框图。
[0093]
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
[0094]
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0095]
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0096]
根据本发明的实施方式,提供一种数据处理方法、数据处理装置、存储介质和电子设备。
[0097]
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0098]
下面参考本发明的若干代表性实施方式,详细阐述本发明的原理和精神。
[0099]
发明概述
[0100]
本发明人发现,现有技术中,大数据平台早期运行时对成本往往是不敏感的;随着大数据平台的持续运行,数据规模日益增大、人员规模日益庞大、上游依赖越发复杂,平台的资源开销大幅上升,数量众多的老旧的数据或任务逐渐成为平台上的数据垃圾,它们消耗着大数据平台的计算资源和存储资源,且其上游依赖的运行也是对平台资源的一种浪费;此时,数据和任务的成本治理愈发凸显其重要性。然而,由于数据或任务之间普遍存在的相互依赖,随意的下线数据或任务及其上游依赖是不可取的,这将可能影响用户的正常使用。现有的大数据平台的成本治理方法,大多依赖平台工程师和应用工程师的人工评判为主,主要存在以下问题:下线对象单一依靠血缘关系进行识别,下线风险取决于血缘完整度,有可能造成严重线上事故;下线动作一次性完成,无法还原,有可能造成严重事故后难以恢复;下线对应的成本和价值难以量化,导致无法快速制定下线方案,也无法预测治理的优化效果。
[0101]
鉴于上述内容,本发明的基本思想在于:根据本发明实施方式的数据处理方法,通过对大数据平台的元数据进行解析得到任务类元数据和数据类元数据及对应的数据分析结果;基于数据分析结果,可以通过数据使用价值和数据业务价值对数据类元数据进行分类,同时可以利用任务依赖信息和血缘关系对数据类元数据进行分类,进而可以根据分类结果来生成下线推荐集合,从而使得大数据平台对于数据或任务的下线有据可循。通过计算数据使用价值、数据业务价值、任务依赖数据和血缘关系数据实现了对任务和数据对应的下线成本和价值的有效量化;并且,通过考虑数据与任务之间的任务依赖信息和血缘关
系信息进行分类,能够最大程度的避免下线对象的数据安全,避免下线错误而导致的线上事故。
[0102]
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
[0103]
示例性方法
[0104]
下面结合图1来描述根据本发明示例性实施方式的数据处理方法。
[0105]
参考图1,所述数据处理方法可以包括以下步骤:
[0106]
s1、获取目标范围的元数据,并对所述元数据进行分析以获取数据类元数据和任务类元数据,以及对应的数据分析结果;
[0107]
s2、基于所述数据类元数据的数据访问信息确定对应的数据使用价值,以及向目标数据库读取所述数据类元数据对应的数据业务价值;并根据所述数据类元数据的数据使用价值信息和数据业务价值数据信息对所述数据类元数据进行分类;
[0108]
s3、根据所述任务类元数据的任务依赖信息、所述任务类元数据与所述数据类元数据之间的血缘关系信息对所述数据类元数据进行分类;
[0109]
s4、基于所述数据类元数据和所述任务类元数据的分类结果生成下线推荐集合。
[0110]
在本发明实施方式的数据处理方法中,通过计算数据使用价值、数据业务价值、任务依赖数据和血缘关系数据实现了对任务和数据对应的下线成本和价值的有效量化;并且,通过考虑数据与任务之间的任务依赖信息和血缘关系信息进行分类,能够最大程度的避免下线对象的数据安全,避免下线错误而导致的线上事故。
[0111]
在步骤s1中,获取目标范围的元数据,并对所述元数据进行分析以获取数据类元数据和任务类元数据,以及对应的数据分析结果。
[0112]
在本公开的示例性实施方式中,用户可以在前端或者后台服务器端触发对大数据平台的成本管理任务,并指定对应的数据范围,在一定的数据范围内,对大数据平台的元数据进行分析,并得到对应的数据分析结果。
[0113]
在本公开的示例性实施方式中,参考图2所示,具体来说,上述的步骤s1可以包括:
[0114]
步骤s11,响应于第一业务端的指令信息,调用目标服务接口以采集所述元数据;
[0115]
步骤s12,对所述元数据进行分析以获取所述数据类元数据和任务类元数据的存储信息、访问信息、资源消耗信息、任务与数据的血缘关系信息、任务依赖和调度信息中的任意一项或任意多项的组合;
[0116]
步骤s13,将所述元数据的数据分析结果保存至目标数据库中。
[0117]
举例来说,上述的第一业务端可以是发起成本管理任务的终端。服务器端在接收到指令信息后,便可以根据预设的规则调用相关的接口采集数据,并进行数据分析。
[0118]
具体来说,上述的元数据可以包括:基础元数据、运行时元数据和业务组织数据。其中,基础元数据可以包括任务信息、hive(基于hadoop的数据仓库工具)元数据、hdfs(hadoop distributed file system,分布式文件系统)元数据、静态血缘数据等。运行时数据可以包括:动态血缘和yarn(yet another resource negotiator,另一种资源协调者)、hdfs、hive metastore审计日志等。
[0119]
对于基础元数据来说,主要通过服务接口调用、数据库镜像同步、文件同步等方式来采集数据,并通过汇总服务接口结果、用户上报、oiv分析、静态解析等方式来分析这些采
集到的数据。
[0120]
上述的任务信息的数据来源可以是调度服务,任务信息及调度信息可以通过访问调度服务开放的信息采集接口采集数据,并对接口返回结果进行聚合、汇总等操作对任务信息进行采集和分析,数据分析结果可以包括任务依赖及调度信息,如任务信息表、任务依赖信息表、任务调度信息表等;最后导入至目标数据仓库的ods表中,参与后续计算和下线决策。
[0121]
其中,hive为一种基于hadoop的数据仓库工具,用来进行数据提取、转化、加载,能将将结构化的数据文件映射为一张数据库表,并提供sql查询功能,将sql语句转变成mapreduce任务来执行。上述的hive元数据的数据来源可以是hive metastore服务数据库,hive metastore服务是hive服务中用来管理库表元数据的服务;hive metastore服务可以用于保证hive服务能够实现基于结构化的库表信息构建计算框架,并可以用来存储库表元数据的数据库;具体的,可以通过数据库镜像同步,并对各ods表进行join操作实现数据的采集;分析结果可以包括库表列分区等信息;例如,可以对已采集到目标数据仓库的ods表进行连接操作,获得库表列分区等信息,如表与分区关联信息表等。hdfs为一种分布式文件系统,可用于为集群上的上层应用提供高吞吐量、高容错的数据访问。上述的hdfs元数据的数据来源可以是hdfs fsimage;hdfs fsimage是hdfs文件目录最新的元数据检查点,包含了检查点生成时整个hdfs文件系统的所有目录和文件的信息;数据采集方式可以包括文件同步,将hdfs fsimage文件同步至hdfs上,并进行hdfs oiv分析和mapreduce程序递归汇总分析;数据分析结果可以包括文件/目录的存储量、配额等信息,通过mapreduce程序分析得到目录的递归存储量信息,写到文件信息表中。oiv分析是指用于分析hdfs fsimage的命令,用来对hdfs文件系统进行离线解析。静态血缘数据的数据来源为任务内容,主要通过对任务内容对应的抽象语法树进行分析,并对静态解析失败的任务提供用户上报的方式来补充任务与数据之间的关联关系。数据分析结果可以包括任务与数据间的静态血缘。
[0122]
对于运行时数据来说,主要通过服务接口调用、文件同步等方式来采集数据,并通过汇总服务接口结果、mapreduce程序等方式来分析这些采集到的数据。
[0123]
其中,动态血缘的数据来源可以为血缘服务,通过调用血缘服务提供的信息采集接口采集数据,并对接口返回结果进行聚合、汇总等操作的方式采集数据,数据分析结果包括任务与数据间的动态血缘;这里采集到的血缘与静态血缘互为补充,并分别写到动态血缘表、静态血缘表中。血缘服务可以包括数据产生的链路关系,即数据的来源、处理过程等,可以划分为静态血缘和动态血缘;其中,静态血缘指任务内容通过解析得到的链路关系,动态血缘是指任务在执行过程中体现的链路关系。任务资源消耗的数据来源为yarn服务,采集方式为调用yarn服务接口,分析结果包括任务对应的application实例的资源消耗情况。其中,yarn为一种hadoop资源管理器,可为集群上的上层应用提供统一的资源管理和调度,且通过接口开放资源管理、调度、任务消耗等数据。application可以是指yarn上执行的任务,一个业务任务在yarn执行时将产生多个application实例。hdfs审计数据的数据来源为hdfs审计日志,采集方式包括文件同步,并通过mapreduce程序逐行分析日志;数据分析结果包括hdfs文件层面的读写访问情况。上述的hive metastore审计数据的数据来源为hive metastore审计日志,通过文件同步,并通过mapreduce程序逐行分析日志实现数据的采集,数据分析结果包括hive表层面的读写访问情况。
[0124]
上述的业务组织数据的数据内容可以包括业务价值评级信息,其数据来源可以通过成本治理服务获取,或通过用户上报的方式来获得数据;数据分析结果可以包括具体的业务价值等级信息。这些数据存储在成本治理服务中,并定期同步至目标数据仓库的ods表中,参与后续计算和下线决策。
[0125]
基于上述内容,元数据的解析结果可以划分为数据类元数据和任务类元数据的数据结果;其中,数据类元数据具体可以包括表、文件、目录;任务类元数据对应的任务实例具体可以包括application任务实例(资源调度任务实例)。
[0126]
在步骤s2中,基于所述数据类元数据的数据访问信息确定对应的数据使用价值,以及向目标数据库读取所述数据类元数据对应的数据业务价值;并根据所述数据类元数据的数据使用价值信息和数据业务价值数据信息对所述数据类元数据进行分类。
[0127]
在本公开的示例性实施方式中,对于数据类元数据,可以遍历所有的表、文件、目录;根据各数据对应的数据访问信息来计算各数据的数据使用价值。
[0128]
在本公开的示例性实施方式中,参考图3所示,具体来说,上述的步骤s2可以包括:
[0129]
步骤s211,遍历所述数据类元数据,以提取所述数据类元数据的数据访问信息;其中,所述数据访问信息包括:动态血缘/静态血缘/文件/表的读取次数、写入次数、最后读取时间、最后写入时间中的任意一项或任意多项;
[0130]
步骤s212,统计所述数据访问信息,并将统计结果与预设阈值进行比对以确定所述数据类元数据中各数据对应的数据价值对应的使用类型;其中,所述数据包括:表和/或文件;所述使用类型包括:有写无读数据、有读无写数据、无读写数据。
[0131]
具体的,可以通过动态血缘、静态血缘、hive表审计日志、hdfs审计日志的元数据分析结果来得到相关数据的访问信息,具体的量化指标可以包括:动态血缘/静态血缘/文件/hive表层面的读取次数、最后读取时间、写入次数、最后写入时间等指标。举例来说,可以预先定义基于上述指标配置数据对应使用类型的规则,例如将各指标数据的总和作为配置数据价值的标准;此外,还可以定义各指标的权重。例如,使用类型的判定规则可以包括:若当前数据的价值指标值小于用户定义的下线标准的指标值,则视为无,否则视为有。例如,以指标“读取次数”为例,若下线标准为“读取次数等于0”,则若当前数据的读取次数大于0则视为有读,否则视为无读。
[0132]
举例而言,动态血缘的读写访问次数、最后读取访问时间可通过对任务与数据的动态血缘关系表按表名、操作类型(如读取/写入)进行分组聚合得到。血缘关系表中的数据格式常为“任务名-表名-操作类型-操作时间”,如任务1在10:00读取了表a,任务2在11:00两次读取了表a,分组聚合的结果是表a在昨天被读取了3次。
[0133]
在本公开的示例性实施方式中,在计算数据对应的数据业务价值的同时,还可以获取对应的数据业务价值。具体的,对于数据业务价值而言,可以预先定义有多个等级,包括:不可下线、无依赖可下线和可下线。数据的业务价值可以配置有默认等级,例如配置默认等级为无依赖可下线。此外,对于不同的数据,可以配置有不同的默认等级,例如可以将核心业务对应的数据或任务配置默认数据业务价值等级为不可下线,则在进行下线对象筛选时可以跳过对应的数据,以及与该些数据相关联的任务。此外,还可以根据用户的配置信息来更改数据的业务价值的等级信息。具体的,可以设置一成本治理服务,通过成本治理服务收集用户上报的数据对应的数据业务价值信息后,定期同步到数据仓库中,用于参与下
线决策。
[0134]
在本公开的示例性实施方式中,对于数据类元数据而言,在计算并获取对应的数据使用价值信息和数据业务价值数据信息,便可以根据数据的使用类型和数据业务价值对应的等级对所述数据进行标记,配置对应的标记信息,实现对数据类元数据进行分类和标记。参考图4所示,具体来说,可以包括:
[0135]
步骤s221,若数据业务价值等级为不可下线,或所述数据使用类型为有读有写数据,则所述数据不做标记;
[0136]
步骤s222,若数据业务价值等级为无依赖可下线或可下线,则在所述数据使用类型为无写无读时,为所述数据配置第一标记;在所述数据使用类型为有写无读时,为所述数据及对应的直接上游任务配置第二标记。
[0137]
举例来说,上述的从第一标记可以为rc1,第二标记可以为rc2。若业务价值等级为不可下线,则该数据不做任何标记处理。否则,若业务价值等级为无依赖可下线或可下线,则判断对应的数据使用类型;若数据使用类型为无写无读时,则为数据配置第一标记,即将数据标记为rc1;若数据使用类型类为有写无读时,则为该数据配置第二标记,即将数据标记为rc2,同时该数据对应的直接上游任务标记为rc2;若数据使用类型类为有读有写是,则数据不做任何标记处理。
[0138]
在步骤s3中,根据所述任务类元数据的任务依赖信息、所述任务类元数据与所述数据类元数据之间的血缘关系信息对所述数据类元数据进行分类。
[0139]
在本公开的示例性实施方式中,在对数据类元数据进行分类并配置对应的标记后,便可以对任务类元数据进行分类和标记。参考图5所示,具体来说,上述的步骤s3可以包括:
[0140]
步骤s31,遍历所述任务类元数据,根据所述任务类元数据中各任务的下游任务依赖信息和输出数据信息对所述任务配置初始标记;标识类型包括第一标记和第二标记;
[0141]
步骤s32,遍历配置有所述第二标记的数据,若对应的全部上游依赖任务均为第二标记/或第一标记,则为该所述数据配置第一标记;否则取消所述数据的标记。
[0142]
具体的,可以遍历所有的任务,检查任务的下游任务依赖情况以及输出数据情况,并进行第一轮标记。其中,可以利用表1所示的标记规则对任务进行标记。
[0143][0144]
表1
[0145]
此后,再次遍历所有标记为rc2的数据,若其上游依赖全部被标记为rc2、rc1,则此数据标记为rc1;否则取消该数据的标记。
[0146]
循环执行上述的操作,直至不再包含rc2标记的任务和数据,完成对数据和任务的分类和标记。
[0147]
其中,上下游任务依赖可以是指依赖或被依赖的全部任务集合,上游表示依赖的任务集合,下游表示被依赖的任务集合。任务的上游任务依赖是指当前任务执行前依赖的其他任务;任务的下游任务依赖是指当前任务被依赖的其他任务;数据的上游任务依赖是指写入当前数据的任务集合;数据的下游任务依赖是指读取当前数据的任务集合。直接上下游任务依赖可以是指依赖或被依赖的第一层任务集合。
[0148]
在步骤s4中,基于所述数据类元数据和所述任务类元数据的分类结果生成下线推荐集合。
[0149]
在本公开的一些示例性实施例中,在完成对数据和任务的标记和分类后,便可以筛选配置有第一标记的所述数据类元数据和所述任务类元数据,并根据筛选结果生成所述下线推荐集合。即,将全部标记rc1的数据和任务生成下线推荐集合。
[0150]
基于上述内容,在本公开的一些示例性实施例中,在生成下线推荐集合后,还可以计算该集合对应的成本消耗。参考图6所示,具体来说,上述方法还可以包括:
[0151]
步骤s5,根据所述下线推荐集合中所述数据类元数据和任务类元数据对应的资源消耗信息,计算所述下线推荐集合在目标下线周期内的可节约消耗;其中,所述可节约消耗包括存储消耗和运算消耗。
[0152]
具体来说,可以分别计算下线推荐集合中任务类元数据和数据类元数据所对应的可节约消耗,该可节约消耗可以直观地反映本公开的一些实施例对于大数据平台的运维成本的削减情况。所述的可节约消耗可以包括存储消耗和运算消耗。
[0153]
在本公开的一些示例性实施例中,具体的,对于任务类元数据而言,上述的步骤s5可以包括:
[0154]
步骤s511,根据所述任务类元数据对应的任务与调度任务实例关系信息和调度任
务实例的资源消耗信息,统计所述调度任务实例的存储消耗和运算消耗;
[0155]
步骤s512,基于所述调度任务实例的存储消耗和运算消耗确定所述目标下线周期内的所述下线推荐集合中的任务类元数据的可节约消耗。
[0156]
具体来说,任务实例主要将任务对应的application实例的cpu消耗与内存消耗两者之和作为任务实例的资源消耗。因为任务成本的消耗是动态的,不断变化的,因此在动态血缘的基础上进行成本计算。
[0157]
由于所有的数据均在数据仓库中,这里主要通过spark sql或spark任务来完成分析过程。例如,可以将任务与applicatition关联信息表和application实例的资源消耗表进行左连接操作,并对任务实例进行分组聚合,利用预设的公式计算任务实例的运算消耗的成本和存储消耗的成本。其公式可以包括:
[0158][0159][0160]
其中,cc表示cpu方面的资源消耗;cm表示内存方面的资源消耗;cct表示任务实例在cpu方面的资源消耗;cmt表示任务实例在内存方面的资源消耗;cca表示application实例在cpu的资源消耗;cma表示application实例在内存方面的资源消耗;j表示任务实例j;k表示application实例k,其取值范围是任务实例j对应的所有application实例。
[0161]
在此基础上,通过汇总指定扫描周期t时间范围内的任务实例的指标作为扫描周期内的资源消耗。具体的,对时间进行分组聚合,得到指定时间范围内的计算费用。公式可以包括:
[0162][0163]
其中,fct
t
表示任务在指定t时间范围内的计算费用;cct表示任务实例在cpu的资源消耗;cmt表示任务实例在内存方面的资源消耗;ccp表示cpu消耗的单价,cmp表示内存消耗的单价;t表示指定的扫描周期;j表示任务实例j,其取值范围是t时间内的该任务的所有实例。
[0164]
对于任务来说,在指定的扫描周期,可以包含多个任务实例,各任务实例可以对应有不同数量的application实例。通过对指定的扫描周期内任务实例对应的application实例在cpu的资源消耗进行统计并作为运算消耗;同时,将application实例在内存方面的资源消耗进行统计并作为存储消耗;基于上述的两部分消耗可以统计在指定扫描周期t时间范围内的任务类元数据的可节约消耗,即节约的成本。
[0165]
举例来说,以任务a为例,在某天执行了两次,每次执行在yarn分别产生2个application,假设这四个application的资源消耗分别为:application1(10核40g)、application2(15核10g)、application3(9核35g)、application4(14核20g),则经过第一轮分组聚合,得到两次任务实例的资源消耗分别为25核50g、23核55g,经过第二轮分组聚合得到任务a在这一天共消耗48核的cpu资源和105g的内存资源。
[0166]
在本公开的一些示例性实施例中,具体的,对于数据类元数据而言,上述的步骤s5可以包括:
[0167]
步骤s521,根据所述数据类元数据对应的存储信息统计目标下线周期内所述下线
推荐集合中的数据类元数据的可节约消耗。
[0168]
具体而言,可以利用数据的磁盘消耗指标来衡量存储成本,进而得到数据类元数据的可节约消耗。公式可以包括:
[0169][0170]
其中,fsd
t
表示数据在扫描周期t时间内的存储成本;csp表示存储消耗的单价;csd
j
表示在j时刻的磁盘存储量。
[0171]
虽然数据对应的上游任务各不相同,存在实时任务或定时任务,即数据存储的增长可能是实时上涨或定时上涨;但本方法按照统计时刻取到的磁盘存储量为标准。
[0172]
举例来说,可以将表与分区关联信息表、文件信息表进行左连接操作,并按照表名进行分组聚合,得到表占用的存储量,并按照上述公式计算相应的消耗。以表a为例,表a包含2个分区,文件信息表中显示这两个分区地址的存储分为10tb和20tb;经聚合后,得到该表的存储量为30tb。
[0173]
在本公开的其他示例性实施例中,也可以在对数据类元数据和任务类元数据进行分类和标记后,根据配置第一标记的任务和数据生成可下线对象集合;计算该集合中各数据和任务的成本信息;从而可以根据成本信息来筛选最终需要执行下线的数据和任务。
[0174]
基于上述内容,在本公开的一些示例性实施例中,参考图6所示,上述的方法还可以包括:
[0175]
步骤s6,响应于第二业务端对所述下线推荐集合的触发操作,对所述下线推荐集合执行下线处理。
[0176]
在本公开的一些示例性实施例中,服务器端在计算并获取下线推荐集合对应的可节约消耗后,便可以将相关的数据发送至第二业务端。具体的,该第二业务端可以是区别于上述的第一业务端的业务终端。例如,可以是实际使用相关数据或任务的业务终端,由该第二业务端确认是否对下线推荐集合进行下线操作。例如,上述的第二业务端针对所述下线推荐集合的触发操作,可以是对下线推荐集合中全部数据和任务的确认下线的确认操作;或者,也可以是对下线推荐集合中选中的部分任务或数据的确认下线的确认操作。
[0177]
在本公开的一些示例性实施例中,具体来说,参考图7所示,上述的对所述下线推荐集合中执行下线处理,具体可以包括:
[0178]
步骤s61,对所述下线推荐集合中的数据类元数据和任务类元数据进行备份,以获取备份元数据;
[0179]
步骤s62,对所述数据类元数据和任务类元数据执行删除操作并配置对应的可恢复周期,以完成所述下线推荐集合的逻辑下线。
[0180]
具体而言,对于待执行下线的下线推荐集合,可以首先对集合中的任务和数据进行备份,备份的数据可以存储在另外以存储设备中;同时配置对应的可恢复周期,作为指定的反悔期限。在完成上述操作后在内存和cpu中清除相关的数据和任务,从而实现对任务和数据的逻辑下线,释放存储空间和运算能力。
[0181]
举例来说,可以预先创建备份文件目录,将待下线的表对应的文件数据移动至备份文件目录下,并获取表创建语句、分区情况进行记录,得到“表名-创建语句-分区信息-文件初始目录-文件备份目录”的备份元数据。此外,对于待下线的文件,可以将文件数据移动
至备份文件目录下,记录下新位置,得到“文件初始目录-文件备份目录”的备份元数据。对于待下线的任务来说,可以从调度服务、报警服务、血缘服务等获取任务的调度信息、调度依赖信息、报警信息、输入输出数据,得到“任务-任务依赖-调度-报警信息-上下游输入输出数据”的备份元数据。
[0182]
在执行逻辑下线时,对于待下线的表,可以执行删表语句,实现表的删除和下线。对于待下线的文件,可以优先删除子目录下所有文件,若子目录下无文件,则删除子目录,直至递归删除推荐下线目录。对于待下线的任务,若该任务无下游依赖任务,则对该任务进行停止任务调度、删除报警配置的操作;否则对下游依赖任务优先执行逻辑下线任务操作。
[0183]
在本公开的一些示例性实施例中,上述的方法还可以包括:
[0184]
步骤s63,若所述可恢复周期内接收到恢复指令,则利用所述备份元数据将备份的所述数据类元数据和/或任务类元数据进行恢复操作;
[0185]
步骤s64,若所述可恢复周期内未接收到恢复指令,则在所述可以恢复周期后,删除所述备份元数据,以完成所述下线推荐集合的物理下线。
[0186]
具体来说,在上述的可恢复周期内,若大数据平台的当前任务云正常,无因下线而出错,且未收到用户的回复指令,并可在可以恢复周期结束后,进行物理下线处理,实现对下线推荐集合中的任务和数据的完全下线。
[0187]
举例来说,对于表、文件来说,可以从备份元数据中找到文件备份目录,优先删除子目录下所有文件,若子目录下无文件,则删除子目录,直至递归删除文件备份目;实现物理下线。对于任务来说,则可以删除执行的任务及相关的备份元数据,实现对任务的物理下线且不可再恢复。
[0188]
或者,在一些示例性实施例中,若在可恢复周期内,接收到针对具体数据或任务的恢复指令,即用户返回,或者在检测到大数据平台中任务出错时,便可以对相关的数据和任务利用备份元数据进行恢复。
[0189]
举例来说,对于表来说,可以从备份元数据中找到文件初始目录和备份目录,将备份目录下的数据移动至初始目录下,实现对表的恢复。对于任务来说,则可以从备份元数据中获取该任务的输入输出数据,检查对应数据结构是否已恢复,若尚未恢复,则参考恢复下线表/文件的方法对其执行恢复操作;获取任务的调度依赖信息,若依赖的任务尚未恢复,则参考恢复下线任务的方法对其依赖的任务执行恢复操作;获取该任务的调度设置信息,调用调度服务的接口,为该任务重新设置调度;获取该任务的报警信息,调用报警服务的接口,为该任务重新配置报警。从而实现对任务的恢复。
[0190]
通过配置两级确认的灰度下线方式,能够实现对数据和任务的有效下线,并能实现在用户反悔或大数据平台异常时将数据或/任务及时恢复,以保证大数据平台的正常运行。通过将下线实施拆解为逻辑下线、物理下线和下线恢复三个动作,保证下线有效且在下线验证出错后,能有效还原。
[0191]
综上所述,本公开提供的方法,通过收集众多大数据组件的基础元数据(如表、任务、文件的基本信息、静态血缘等)、运行时数据(如动态血缘、组件日志等)和业务组织数据(如业务价值评级、下线确认结果等)等多方面信息,来得到数据、任务被各组件的访问情况,实现对数据和任务的多元化处理,并通过将该些信息作为下线推荐的数据支撑,有效的提了高识别下线对象的准确度。另外,通过定义成本和价值的量化指标以及下线量化标准,
借助成本计算和价值计算得到量化的成本和价值,进而下线推荐算法根据量化的下线标准,能够客观地识别下线对象并提前核算下线后的成本优化效果。通过利用cpu消耗、内存消耗、磁盘消耗指标量化成本概念;用业务价值评级、读写访问次数、读写访问时间指标量化价值概念,实现客观识别下线对象以及核算成本优化效果。通过两级下线的方式实现对数据和任务的灰度下线处理;使得在发生误判或用户反悔时恢复数据或任务,避免线上事故。基于可量化、多元化和灰度化处理,实现了一套自动化的大数据平台成本治理方案,完成了基于成本角度治理大数据平台的目标。
[0192]
示例性装置
[0193]
在介绍了本发明示例性实施方式的数据处理方法之后,接下来,参考图8对本发明示例性实施方式的数据处理装置进行描述。
[0194]
参考图8所示,本发明示例性实施方式的数据处理装置80可以包括:数据采集模块801,第一处理模块802,第二处理模块803以及推荐生成模块804,其中:
[0195]
所述数据采集模块801可以用于获取目标范围的元数据,并对所述元数据进行分析以获取数据类元数据和任务类元数据,以及对应的数据分析结果。
[0196]
所述第一处理模块802可以用于基于所述数据类元数据的数据访问信息确定对应的数据使用价值,以及向目标数据库读取所述数据类元数据对应的数据业务价值;并根据所述数据类元数据的数据使用价值信息和数据业务价值数据信息对所述数据类元数据进行分类。
[0197]
所述第二处理模块803可以用于根据所述任务类元数据的任务依赖信息、所述任务类元数据与所述数据类元数据之间的血缘关系信息对所述数据类元数据进行分类。
[0198]
所述推荐生成模块804可以用于基于所述数据类元数据和所述任务类元数据的分类结果生成下线推荐集合。
[0199]
根据本公开的示例性实施例,所述消耗计算模块包括:任务类元数据消耗计算单元(图中未示出)。
[0200]
所述任务类元数据消耗计算单元可以用于根据所述任务类元数据对应的任务与调度任务实例关系信息和调度任务实例的资源消耗信息,统计所述调度任务实例的存储消耗和运算消耗;并基于所述调度任务实例的存储消耗和运算消耗确定所述目标下线周期内的所述下线推荐集合中的任务类元数据的可节约消耗。
[0201]
根据本公开的示例性实施例,所述消耗计算模块包括:数据类元数据消耗计算单元(图中未示出)。
[0202]
所述数据类元数据消耗计算单元可以用于根据所述数据类元数据对应的存储信息统计目标下线周期内所述下线推荐集合中的数据类元数据的可节约消耗。。
[0203]
根据本公开的示例性实施例,所述装置还包括:下线执行模块(图中未示出)。
[0204]
所述下线执行模块可以用于响应于第二业务端对所述下线推荐集合的触发操作,对所述下线推荐集合执行下线处理。
[0205]
根据本公开的示例性实施例,所述下线执行模块包括:逻辑下线执行单元(图中未示出)。
[0206]
所述逻辑下线执行单可以用于对所述下线推荐集合中的数据类元数据和任务类元数据进行备份,以获取备份元数据;对所述数据类元数据和任务类元数据执行删除操作
并配置对应的可恢复周期,以完成所述下线推荐集合的逻辑下线。
[0207]
根据本公开的示例性实施例,所述下线执行模块包括:物理下线执行单元(图中未示出)。
[0208]
所述物理下线执行单元可以用于若所述可恢复周期内接收到恢复指令,则利用所述备份元数据将备份的所述数据类元数据和/或任务类元数据进行恢复操作;若所述可恢复周期内未接收到恢复指令,则在所述可以恢复周期后,删除所述备份元数据,以完成所述下线推荐集合的物理下线。
[0209]
根据本公开的示例性实施例,所述元数据包括基础元数据、运行时元数据和业务组织数据;所述数据采集模块包括:接口调用单元、数据分析单元、数据存储单元(图中未示出)。
[0210]
所述接口调用单元可以用于响应于第一业务端的指令信息,调用目标服务接口以采集所述元数据。
[0211]
所述数据分析单元可以用于对所述元数据进行分析以获取所述数据类元数据和任务类元数据的存储信息、访问信息、资源消耗信息、任务与数据的血缘关系信息、任务依赖和调度信息中的任意一项或任意多项的组合。
[0212]
所述数据存储单元可以用于将所述元数据的数据分析结果保存至目标数据库中。
[0213]
根据本公开的示例性实施例,所述第一处理模块包括:数据访问信息处理单元(图中未示出)。
[0214]
所述数据访问信息处理单元可以用于遍历所述数据类元数据,以提取所述数据类元数据的数据访问信息;其中,所述数据访问信息包括:动态血缘/静态血缘/文件/表的读取次数、写入次数、最后读取时间、最后写入时间中的任意一项或任意多项;以及统计所述数据访问信息,并将统计结果与预设阈值进行比对以确定所述数据类元数据中各数据对应的数据价值对应的使用类型;其中,所述数据包括:表和/或文件;所述使用类型包括:有写无读数据、有读无写数据、无读写数据。
[0215]
根据本公开的示例性实施例,所述数据业务价值对应的等级包括:不可下线、无依赖可下线和可下线;所述第一处理模块还包括:第一分类单元(图中未示出)。
[0216]
所述第一分类单元可以用于根据所述数据的使用类型和数据业务价值对应的等级对所述数据进行标记。
[0217]
根据本公开的示例性实施例,所述第一分类单元还可以用于若数据业务价值等级为不可下线,或所述数据使用类型为有读有写数据,则所述数据不做标记;以及若数据业务价值等级为无依赖可下线或可下线,则在所述数据使用类型为无写无读时,为所述数据配置第一标记;在所述数据使用类型为有写无读时,为所述数据及对应的直接上游任务配置第二标记。
[0218]
根据本公开的示例性实施例,所述第二处理模块包括:第二分类单元(图中未示出)。
[0219]
所述第二分类单元可以用于遍历所述任务类元数据,根据所述任务类元数据中各任务的下游任务依赖信息和输出数据信息对所述任务配置初始标记;标识类型包括第一标记和第二标记;以及遍历配置有所述第二标记的数据,若对应的全部上游依赖任务均为第二标记/或第一标记,则为该所述数据配置第一标记;否则取消所述数据的标记。
[0220]
根据本公开的示例性实施例,所述推荐生成模块还可以用于筛选配置有第一标记的所述数据类元数据和所述任务类元数据,并根据筛选结果生成所述下线推荐集合。
[0221]
由于本发明实施方式的消息推送装置的各个功能模块与上述消息推送方法发明实施方式中相同,因此在此不再赘述。
[0222]
示例性存储介质
[0223]
在介绍了本发明示例性实施方式的音频播放方法和装置、音频分享方法和装置之后,接下来,参考图9对本发明示例性实施方式的存储介质进行说明。
[0224]
参考图9所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0225]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0226]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0227]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0228]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如java、c++等,还包括常规的过程式程序设计语言-诸如"c"语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0229]
示例性电子设备
[0230]
在介绍了本发明示例性实施方式的存储介质之后,接下来,参考图10对本发明示例性实施方式的电子设备进行说明。
[0231]
图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0232]
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统
组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。
[0233]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述"示例性方法"部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1010可以执行如图1中所示的步骤,或者所述处理单元1010可以执行如图6中所示的步骤。
[0234]
存储单元1020可以包括易失性存储单元,例如随机存取存储单元(ram)10201和/或高速缓存存储单元10202,还可以进一步包括只读存储单元(rom)10203。
[0235]
存储单元1020还可以包括具有一组(至少一个)程序模块10205的程序/实用工具10204,这样的程序模块10205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0236]
总线1030可以包括数据总线、地址总线和控制总线。
[0237]
电子设备1000也可以与一个或多个外部设备90(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/o)接口1050进行。电子设备1000还包括显示单元1040,其连接到输入/输出(i/o)接口1050,用于进行显示。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0238]
应当注意,尽管在上文详细描述中提及了音频播放装置和音频分享装置的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0239]
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0240]
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1