大数据处理中的数据优化方法和装置的制造方法

文档序号:10612897阅读:212来源:国知局
大数据处理中的数据优化方法和装置的制造方法
【专利摘要】本发明公开了一种大数据处理中的数据优化方法和装置,包括:分析多个任务的数据处理逻辑;根据所述多个任务的数据处理逻辑确定多个任务之间产生的中间数据;分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存;当所述中间数据不需要被保存时,删除所述中间数据。清除了不必要的中间数据,从而节省了数据仓库的存储空间。
【专利说明】
大数据处理中的数据优化方法和装置
技术领域
[0001 ]本发明属于计算机领域,具体地说,涉及一种大数据处理中的数据优化方法和装置。
【背景技术】
[0002]随着互联网的快速发展,很多互联网公司都已积累了TB量级的数据。数据仓库每天都在接收来自不同生态的数据,例如来自手机、智能电视、视频网站的用户数据记录等,做为大数据资源的一部分。
[0003]数据从数据仓库的入口机进入数据仓库以及在数据仓库内部进行分层,都需要进行数据处理,每次数据处理过程都是多个任务的集合,每个任务都具有内在的处理逻辑,例如任务I是将A表中的部分字段的数据读取再写入到B表。有时,当很多数据工程师都需要某些数据时,不同的数据工程师利用现有数据获取到所需要数据方法路径可能就会不同,此时遗留下一些中间数据,久而久之还会出现很多重复的数据,而且其中的很多数据在今后都不会再被用到。
[0004]上述问题是由于对任务的内在处理逻辑分析不到位而造成的,导致了很多存储资源的浪费,减少了数据仓库的有效存储空间。

【发明内容】

[0005]有鉴于此,本发明实施例提供了一种大数据处理中的数据优化方法和装置,用以解决现有技术中由于对任务的内在处理逻辑分析不到位而导致浪费存储资源的技术问题。
[0006]为了解决上述技术问题,本发明公开了一种大数据处理中的数据优化方法,包括:分析多个任务的数据处理逻辑;根据所述多个任务的数据处理逻辑确定多个任务之间产生的中间数据;分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存;当所述中间数据不需要被保存时,删除所述中间数据。
[0007]为了解决上述技术问题,本发明还公开了一种大数据处理中的数据优化装置,包括:第一分析模块,用于分析多个任务的数据处理逻辑;第一确定模块,用于根据所述多个任务的数据处理逻辑确定多个任务之间产生的中间数据;第二确定模块,用于分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存;第一删除模块,用于当所述中间数据不需要被保存时,删除所述中间数据。
[0008]与现有技术相比,本发明实施例提供的大数据处理中的数据优化方法和装置,会对各个任务之间产生的中间数据进行检测,以判定其是否还会被利用,如果判定其没有被使用,则会将该中间数据删除,清除了不必要的中间数据,从而节省了数据仓库的存储空间。
【附图说明】
[0009]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1是本发明实施例提供的一种大数据处理中的数据优化方法的流程图;
[0011]图2是本发明实施例提供的一种大数据处理中的数据优化方法的流程图;
[0012]图3是本发明实施例提供的一种大数据处理中的数据优化装置的框图;
[0013]图4是本发明实施例提供的一种大数据处理中的数据优化装置的框图。
【具体实施方式】
[0014]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0015]本发明实施例中,针对数据仓库中的计算任务进行分析,分析每个任务的数据处理逻辑,通过数据处理逻辑来找到各个任务之间的逻辑关系以及数据依赖关系,对各个任务之间产生的中间数据以及任务的执行情况进行分析,找到不再被使用的可以进行优化的数据,删除不再被使用的中间数据,节省了数据仓库的存储空间,例外对相应的任务进行适当的合并,从而节省数据仓库的计算资源并提高任务的执行效率。
[0016]图1是本发明实施例提供的一种大数据处理中的数据优化方法,适用服务器,该方法包括以下步骤。
[0017]S10,分析多个任务的数据处理逻辑。
[0018]数据处理逻辑包括处理对象和计算方法。处理对象包括源数据、目标数据等,例如任务TOl是从表A读取三个字段的数据并写入表B。计算方法是指利用源数据生成目标数据的方法,如果是直接从表A读取数据并写入表B则不存在计算方法,而如果对从表A读取的数据进行计算之后将结果写入表B,在该任务存在表A与表B之间存在计算方法。
[0019]Sll,根据多个任务的数据处理逻辑确定多个任务之间产生的中间数据。
[0020]从多个任务的数据处理逻辑中,找出多个任务的之间的逻辑关系。例如,任务TOl从表A读取三个字段的数据并写入表B,任务T02对表B中的三个字段的数据进行筛选,筛选出满足预设条件的数据并写入表C,任务T03读取表C的数据并添加到表D中。可以看出任务TOl至T03是按照彼此之间的逻辑关系依次进行的。找到多个任务之间的逻辑关系后,就可以确定各个任务之间都产生了哪些中间数据,上例中的表B和表C即可以被确定为中间数据。
[0021 ]不同的数据工程师对得到目标数据而设置的计算方式会有所不同,有时还会根据其所负责的业务的实际需求来得到一些中间数据供进行其他计算使用。因此,需要进一步判断这些中间数据会被使用,也就是判断这些中间数据是否有必要进行保存。
[0022]S12,分析中间数据的使用状态以确定中间数据是否需要继续被保存。
[0023]使用状态包括该中间数据是否会被用于其它计算,以及该中间数据本身是否是其他任务链的最终结果。因此,对于中间数据是否需要保存的判定,可以通过多种方式进行。
[0024]在一个实施例中,该步骤S12可进一步被实施为以下步骤。
[0025]S120,根据业务需求分析中间数据是否在业务中被使用。
[0026]业务需求包括该数据是否用于其它业务数据的计算以及该中间数据在业务中是否也是需要的最终结果。例如,中间数据B记录了上海的各门店在2016年I月至3月的智能电视销量,如果业务中还需要进一步筛选出销量排名前五位的门店,则代表该中间数据B还会被使用;或者,该中间数据B本身就是一个统计上海市在2016年I月至3月的智能电视销量的任务链的最终结果,则代表该中间数据也需要被使用。
[0027]S121,当中间数据在业务中不被使用时,确定中间数据不需要继续被保存。
[0028]实现了根据预设的业务逻辑中对数据的实际需求来判定任务链的中间数据是否需要被保存。
[0029]在另一实施例中,该步骤S12还可以进一步被实施为以下步骤。
[0030]S122,统计中间数据的未被使用的累积时长,当累积时长达到预设门限时,标记中间数据为不被使用的数据。
[0031 ]对于被判定为任务链中的中间数据,会统计该中间数据未被使用的累积时长,例如,只要没有出现针对中间数据B的读取操作,就说明该中间数据B没有被使用,当中间数据B被读取时,累积时长将被清零并重新开始计时,如果在预设时长(例如12小时)都没有针对中间数据B的读取操作,则标记该中间数据B为不被使用的数据。
[0032]为了降低发生误判的概率,还会进一步对该中间数据被标记为不被使用的数据的次数进行统计。如果在接下来的预设时长该数据仍然没有被使用,则再一次标记该中间数据为不会被使用的数据。
[0033]S123,当中间数据被标记为不被使用的数据的次数大于或等于预设门限时,确定中间数据不需要继续被保存。
[0034]例如,中间数据B已连续10次被标记为不被使用的数据,则可以认为该数据不需要被继续保存。
[0035]这种不会被使用的中间数据的出现往往都是由于不同的数据工程师通过不同的方式获取目标数据时而人为配置的,随意性会比较强又不会被其他其他数据工程师所利用。
[0036]S13,当中间数据不需要被保存时,删除中间数据。
[0037]如上例中,如果表B被判定为不需要保存的中间数据,则删除该表B;如果表C被判定为不需要保存的中间数据,则删除该表C;如果表B和表C都被判定为不需要保存的中间数据,则将表B和表C全部删除。
[0038]在多个任务组成的任务链中,会对各个任务之间产生的中间数据进行检测,以判定其是否还会被利用,如果根据业务逻辑判定其不会被使用或者通过计时判定其很长时间都没有被使用,则会将该中间数据删除,清除了不必要的中间数据,从而节省了数据仓库的存储空间。
[0039]在一个实施例中,该大数据处理中的数据优化方法进一步包括以下步骤。
[0040]S14,根据数据处理逻辑将多个任务合并为一个任务。
[0041]在删除不需要保存的中间数据后,对于生成这些被删除的中间数据的任务也可以随之进行相应调整,将原来的多个任务合并成一个任务,也就避免了再次产生中间数据,同时还能节约数据仓库的计算资源,提高数据仓库的处理效率。如上例中,如果表B被判定为不需要保存的中间数据,则根据数据处理逻辑将任务TOl和T02合并为T12,合并后的任务T12的处理对象就是表A和表C,计算方法也相应合并为从表A中读取三个字段的数据并根据预设条件进行筛选,将筛选结果写入表B ο如果表C被判定为不需要保存的中间数据,则根据数据处理逻辑将任务T02和T03合并为T23,合并后的任务T23的处理对象就是表B和表D,计算方法也相应合并为对表B中三个字段数据进行筛选并将筛选结果添加至表D。如果表B和表C都被判定为不需要保存的中间数据,则根据数据处理逻辑将任务TOl、T02和T03合并为Τ13,合并后的任务Τ13的处理对象就是表A和表D,计算方法也相应合并为从表A中读取三个字段的数据并按照预设条件进行筛选,将筛选结果添加到表D。
[0042]也就是说,如果两个任务之间存在不会被使用的中间数据,则可以这两个任务合并一个任务,如果连续出现多个不会被使用的中间数据,则可以将多个任务合并为一个任务,从而减少了数据仓库中需要执行的计算任务数量,节约了计算资源,有助于提高数据仓库的处理效率。
[0043]在一个实施例中,如图2所示,上述大数据处理中的数据优化方法可进一步包括以下步骤。
[0044]S15,根据数据处理逻辑判断是否同时存在多个任务能够产生相同的中间数据。
[0045 ] S16,当同时存在多个任务能够产生相同的中间数据时,在相同的中间数据中保留一份副本并删除其他相同的中间数据,后续任务都从保留的副本中读取需要的数据。
[0046]该多个能够产生相同中间数据的任务来自于不同数据工程师的配置。例如,大家都已知存在表Α,甲需要提取表A中三个字段的数据并写入表B,对表B的数据进行预测分析,输出分析结果至表C;而乙需要提取表A中相同的三个字段的数据并写入表D,对表D的数据进行筛选并将结果输出到表Ε。可见此时存在两个从表A读取三个字段数据的任务,并分别将读取到的数据写入表B和表D。那么此时可以在表B和表D中保留任意一个并删除另外一个,例如保留表B同时删除表D,并将乙配置的把从表A读取的数据写入表D的任务以及从表D读取数据进行筛选的任务都重定向至表B,从而使乙配置的任务会把从表A读取的数据写入表B同时会从表B读取数据进行筛选。这样即可将重复的中间数据进行删除,只保留一份副本来满足其他任务的数据读写需求,进一步节省了数据仓库的存储资源。
[0047]此外,在另一个实施例中,还可以进一步将同时产生相同中间数据的多个任务合并为一个任务,如上例中在删除表D之后可以进一步将甲配置的提取表A中三个字段的数据并写入表B的任务与甲配置的提取表A中三个字段的数据并重定向写入表B的任务合并为一个任务。合并后,甲乙配置的其他后续任务共同利用该合并后的任务的输出结果。
[0048]对同时产生相同中间数据的多个任务进行合并,可以进一步减少计算任务的数量,节约计算资源。
[0049]下面是本发明的装置实施例,用于执行本发明的上述方法实施例。
[0050]图3是本发明实施例提供的一种大数据处理中的数据优化装置,包括:
[0051 ]第一分析模块30,用于分析多个任务的数据处理逻辑;
[0052]第一确定模块31,用于根据多个任务的数据处理逻辑确定多个任务之间产生的中间数据;
[0053]第二确定模块32,用于分析中间数据的使用状态以确定中间数据是否需要继续被保存;
[0054]第一删除模块33,用于当中间数据不需要被保存时,删除中间数据。
[0055]在一个实施例中,该第二确定模块32进一步包括:
[0056]第一分析子模块,用于根据业务需求分析所述中间数据是否在业务中被使用;
[0057]第一确定子模块,用于当所述中间数据在业务中不被使用时,确定所述中间数据不需要继续被保存。
[0058]在一个实施例中,该第二确定模块32进一步包括:
[0059]标记子模块,用于统计所述中间数据的未被使用的累积时长,当所述累积时长达到预设门限时,标记所述中间数据为不被使用的数据;
[0060]第二确定子模块,用于当所述中间数据被标记为不被使用的数据的次数大于或等于预设门限时,确定所述中间数据不需要继续被保存。
[0061]在一个实施例中,该装置进一步包括:
[0062]合并模块,用于根据数据处理逻辑将多个任务合并为一个任务。
[0063]在一个实施例中,如图4所示,该装置进一步包括:
[0064]判断模块34,用于根据数据处理逻辑判断是否同时存在多个任务能够产生相同的中间数据;
[0065]第二删除模块35,用于当同时存在多个任务能够产生相同的中间数据时,在相同的中间数据中保留一份副本并删除其他相同的中间数据,后续任务都从保留的副本中读取需要的数据。
[0066]此外,本发明实施例中可以通过硬件处理器(hardware processor)来实现上述各个功能模块。
[0067]本发明实施例还提供了一种服务器,该服务器包括:包括处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为:分析多个任务的数据处理逻辑;根据所述多个任务的数据处理逻辑确定多个任务之间产生的中间数据;分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存;当所述中间数据不需要被保存时,删除所述中间数据。
[0068]在一个实施例中,所述分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存包括:根据业务需求分析所述中间数据是否在业务中被使用;当所述中间数据在业务中不被使用时,确定所述中间数据不需要继续被保存。
[0069]所述分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存包括:统计所述中间数据的未被使用的累积时长,当所述累积时长达到预设门限时,标记所述中间数据为不被使用的数据;当所述中间数据被标记为不被使用的数据的次数大于或等于预设门限时,确定所述中间数据不需要继续被保存。
[0070]在一个实施例中,该处理器进一步被配置为:根据所述数据处理逻辑将所述多个任务合并为一个任务。
[0071 ]在一个实施例中,该处理器进一步被配置为:根据数据处理逻辑判断是否同时存在多个任务能够产生相同的中间数据;当同时存在多个任务能够产生相同的中间数据时,在相同的中间数据中保留一份副本并删除其他相同的中间数据,后续任务都从保留的副本中读取需要的数据。
[0072]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0073]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0074]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种大数据处理中的数据优化方法,其特征在于,包括: 分析多个任务的数据处理逻辑; 根据所述多个任务的数据处理逻辑确定多个任务之间产生的中间数据; 分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存; 当所述中间数据不需要被保存时,删除所述中间数据。2.根据权利要求1所述的方法,其特征在于,所述分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存包括: 根据业务需求分析所述中间数据是否在业务中被使用; 当所述中间数据在业务中不被使用时,确定所述中间数据不需要继续被保存。3.根据权利要求1所述的方法,其特征在于,所述分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存包括: 统计所述中间数据的未被使用的累积时长,当所述累积时长达到预设门限时,标记所述中间数据为不被使用的数据; 当所述中间数据被标记为不被使用的数据的次数大于或等于预设门限时,确定所述中间数据不需要继续被保存。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 根据所述数据处理逻辑将所述多个任务合并为一个任务。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 根据数据处理逻辑判断是否同时存在多个任务能够产生相同的中间数据; 当同时存在多个任务能够产生相同的中间数据时,在相同的中间数据中保留一份副本并删除其他相同的中间数据,后续任务都从保留的副本中读取需要的数据。6.一种大数据处理中的数据优化装置,其特征在于,包括: 第一分析模块,用于分析多个任务的数据处理逻辑; 第一确定模块,用于根据所述多个任务的数据处理逻辑确定多个任务之间产生的中间数据; 第二确定模块,用于分析所述中间数据的使用状态以确定所述中间数据是否需要继续被保存; 第一删除模块,用于当所述中间数据不需要被保存时,删除所述中间数据。7.根据权利要求6所述的装置,其特征在于,所述第二确定模块包括: 第一分析子模块,用于根据业务需求分析所述中间数据是否在业务中被使用; 第一确定子模块,用于当所述中间数据在业务中不被使用时,确定所述中间数据不需要继续被保存。8.根据权利要求6所述的装置,其特征在于,所述第二确定模块包括: 标记子模块,用于统计所述中间数据的未被使用的累积时长,当所述累积时长达到预设门限时,标记所述中间数据为不被使用的数据; 第二确定子模块,用于当所述中间数据被标记为不被使用的数据的次数大于或等于预设门限时,确定所述中间数据不需要继续被保存。9.根据权利要求6所述的装置,其特征在于,所述装置还包括: 合并模块,用于根据所述数据处理逻辑将所述多个任务合并为一个任务。10.根据权利要求6所述的装置,其特征在于,所述装置还包括: 判断模块,用于根据数据处理逻辑判断是否同时存在多个任务能够产生相同的中间数据; 第二删除模块,用于当同时存在多个任务能够产生相同的中间数据时,在相同的中间数据中保留一份副本并删除其他相同的中间数据,后续任务都从保留的副本中读取需要的数据。
【文档编号】G06F17/30GK105975577SQ201610290381
【公开日】2016年9月28日
【申请日】2016年5月4日
【发明人】刘宏斌, 国铁龙, 杨海乐
【申请人】乐视控股(北京)有限公司, 乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1