CN109033196A - 一种分布式数据调度***及方法 - Google Patents
一种分布式数据调度***及方法 Download PDFInfo
- Publication number
- CN109033196A CN109033196A CN201810689485.8A CN201810689485A CN109033196A CN 109033196 A CN109033196 A CN 109033196A CN 201810689485 A CN201810689485 A CN 201810689485A CN 109033196 A CN109033196 A CN 109033196A
- Authority
- CN
- China
- Prior art keywords
- log
- data
- logs
- sub
- distributed
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种分布式数据调度***及方法,该***包括至少一个调度组件,所述调度组件,适于从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;所述调度组件,还适于将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;所述调度组件,还适于将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。解决了现有技术中由中央设备集中处理任务而造成的单点问题,当任务失败或执行设备出现故障,由其他设备节点继续执行,实现了任务失败自动多机重试,保证任务及时、正确运行。当任务执行过程中出现其他问题还可以通过该***向用户进行报警通知。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种分布式数据调度***及方法。
背景技术
海姆达尔是一个具有完全自主知识产权的海量数据挖掘与分析***,该***可以实现对海量数据的挖掘和处理,并提供方便易用的工具供数据挖掘人员和运营分析人员使用。目前分析人员采用该***在查询文件时,查找到的是文件通常是原始日志,因此还需要对原始日志进行再次加工、处理、分析等,这无疑会增加分析人员的工作量,不利于提高分析人员的工作效率,此时为了能够为分析人员等提供便利,需要在海姆达尔***中直接实现原始日志的进一步抽取、细化。
但是,目前在使用该***进行数据挖掘处理或数据抽取任务时,都是基于脚本/计算平台/硬编码的方式串起整个流程。该种方式中,所有数据调度任务都由中央设备来统一完成,数据处理任务调度信息集中汇总到中央设备这一管理节点上,导致信息流拥挤,若该管理节点出现故障会影响整个***的数据处理任务,并且,当前***的数据处理任务效率低,无法满足直接在该***中对原始日志进一步抽取、细化的需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的分布式数据调度***和相应的方法。
依据本发明的一个方面,提供了一种分布式数据调度***,包括至少一个调度组件,
所述调度组件,适于从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;
所述调度组件,还适于将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;
所述调度组件,还适于将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
可选地,所述调度组件,还适于:
结合所述待处理离线日志的来源将所述待处理离线日志分为多个子日志,并根据各个数据挖掘单元的运行状态,将所述多个子日志分发至相应的数据挖掘单元。
可选地,所述数据挖掘单元,还适于:
基于MapReduce模型并采用Spark引擎对所述子日志进行挖掘,并提取日志元数据。
可选地,所述从文件***中获取的待处理离线日志包括以下至少之一:
客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志。
可选地,所述日志元数据的内容包括以下至少之一:
用户标识信息、日志类型。
可选地,所述调度组件,还适于:
监控各数据挖掘单元对相应子日志的挖掘过程,并在监控到任一挖掘过程运行异常时,自动启动其他数据挖掘单元继续对相应子日志进行挖掘。
可选地,所述调度组件还适于:
若所述存储组件中的多个预置数据库包括mysql数据库、etcd数据库以及redis数据库,则将所述日志元数据存储至所述mysql数据库和/或etcd数据库,以及将其他过程信息存储至所述redis数据库中。
可选地,所述***,还包括:
至少一个前端单元,所述前端单元适于显示各数据挖掘单元的挖掘过程,并监控该显示状态,在所述显示状态异常时执行报警通知。
可选地,所述前端单元,还适于:
接收用户的触发以暂停正在执行的挖掘过程或启动所需执行的挖掘过程。
可选地,所述***,还包括:
数据处理单元,适于将所述离线日志进行归类合并生成相应的虚拟表,并对所述日志元数据进行统计得到相应的统计信息。
可选地,所述数据处理单元,还适于:
将所述离线日志依据所述日志元数据内容中的至少一种进行归类合并生成相应的虚拟表。
可选地,所述数据处理单元,还适于:
对所述离线日志按照预设规则进行聚合计算,得到特定格式的日志;
对所述特定格式的日志归类合并生成对应的虚拟表。
可选地,所述预设规则包括:
所述数据处理单元按照预设时间间隔对接收到的离线日志进行聚合计算,得到特定格式的日志。
依据本发明的一个方面,还提供了一种分布式数据调度方法,包括:
从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;
将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;
将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
可选地,将所述待处理离线日志分为多个子日志,包括:
结合所述待处理离线日志的来源将所述待处理离线日志分为多个子日志。
可选地,将所述多个子日志分发至多个数据挖掘单元,包括:
根据各个数据挖掘单元的运行状态,将所述多个子日志分发至相应的数据挖掘单元。
可选地,根据预设规则从所述子日志中挖掘日志元数据,包括:
基于MapReduce模型并采用Spark引擎对所述子日志进行挖掘,并提取日志元数据。
可选地,所述文件***中预先存储的多个离线日志包括以下至少之一:
客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志。
可选地,所述日志元数据的内容包括以下至少之一:
用户标识信息、日志类型。
可选地,所述方法,还包括:
监控各数据挖掘单元对相应子日志的挖掘过程,并在监控到任一挖掘过程运行异常时,自动启动其他数据挖掘单元继续对相应子日志进行挖掘。
可选地,将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中,包括:
若所述存储组件中的多个预置数据库包括mysql数据库、etcd数据库以及redis数据库,则将所述日志元数据存储至所述mysql数据库和/或etcd数据库,以及将其他过程信息存储至所述redis数据库中。
可选地,所述方法,还包括:
显示各数据挖掘单元的挖掘过程,并监控该显示状态,在所述显示状态异常时执行报警通知。
可选地,所述方法,还包括:
接收用户的触发以暂停正在执行的挖掘过程或启动所需执行的挖掘过程。
可选地,所述方法,还包括:
将所述离线日志进行归类合并生成相应的虚拟表,并对所述日志元数据进行统计得到相应的统计信息。
可选地,将所述离线日志进行归类合并生成相应的虚拟表,包括:
将所述离线日志依据所述日志元数据内容中的至少一种进行归类合并生成相应的虚拟表。
可选地,将所述离线日志进行归类合并生成相应的虚拟表,还包括:
对所述离线日志按照预设规则进行聚合计算,得到特定格式的日志;
对所述特定格式的日志归类合并生成对应的虚拟表。
可选地,所述预设规则包括:
所述数据处理单元按照预设时间间隔对接收到的离线日志进行聚合计算,得到特定格式的日志。
依据本发明的另一个方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,导致所述计算机执行上述任一项所述的分布式数据调度方法。
依据本发明的另一个方面,还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行上述任一项所述的分布式数据调度方法。
本发明的分布式数据调度***,包括至少一个调度组件、多个数据挖掘单元以及包含有多个预置数据库的存储组件。首先,由调度组件从文件***中获取待处理离线日志,并将所获取的待处理离线日志分为多个子日志。进一步,由调度组件将上述多个子日志分发至多个数据挖掘单元,数据挖掘单元接收到相应的子日志后,可以根据预设规则从该子日志中挖掘日志元数据。数据挖掘单元在对子日志进行挖掘的过程中还会产生其他过程信息,在数据挖掘单元的挖掘过程中,可以由调度组件实时地将获取到的日志元数据以及其他过程信息存储至包含有多个预置数据库的存储组件中。由此可见,本发明通过至少一个调度组件、多个数据挖掘单元以及包含有多个预置数据库的存储组件的分布式架构,由调度组件将获取的离线日志分为多个子日志,并由多个数据挖掘单元并行执行挖掘任务,从各子日志中挖掘相应的日志元数据,解决了现有技术中由中央设备集中处理任务而造成的单点问题,并且,由于采用多节点并行执行任务的结构,当数据处理任务失败或执行设备出现故障时,可以由其他设备节点继续执行该任务,实现了任务失败自动多机重试,保证了任务的及时、正确运行。另一方面,本发明通过对日志元数据以及其他过程信息进行分类存储,便于后续数据分析人员或其他数据处理设备查找获取对应信息,从侧面进一步提升了数据处理任务的及时性。此外,本发明提供的分布式数据调度***还可以自动将所提取的数据任务代码分类发放,方便各数据任务的处理,无需用户进一步关心代码如何运行,只需将其上传至本发明的数据调度***,即可将所需运行的代码自动分类并调度到合适的机器上运行,进一步实现任务失败自动重试的功能。更多地,当数据任务执行过程中出现其他问题还可以通过该***向用户进行报警通知。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的分布式数据调度***的结构示意图;
图2是根据本发明一个实施例的分布式数据调度***的另一个结构示意图;
图3是根据本发明一个实施例的分布式数据调度***的再一个结构示意图;
图4是根据本发明一个实施例的分布式调度***的设计结构示意图;以及
图5是根据本发明一个实施例的分布式数据调度方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决上述技术问题,本发明实施例提供了一种分布式数据调度***。图1示出了根据本发明一个实施例的分布式数据调度***的结构示意图。参见图1,本实施例的分布式数据调度***包括至少一个调度组件10,多个数据挖掘单元20,以及包括多个预置数据库的存储组件30。
现介绍本发明实施例的基于分布式数据调度***的各组成部分的功能以及各部分间的连接关系:
调度组件10,适于从文件***中获取待处理离线日志,并将所获取的待处理离线日志分为多个子日志,进一步将上述多个子日志分发至数据挖掘单元20;
数据挖掘单元20,与调度组件10耦合,适于接收调度组件10分发的对应子日志,并根据预设规则从子日志中挖掘日志元数据;
存储组件30,与调度组件10耦合,适于将调度组件10从数据挖掘单元20处调度的日志元数据及其他过程信息存储至多个预置数据库中。
需要说明的是,在本实施例中,为了描述方便及清楚,图1仅示出了一个调度组件10与其他各部分的连接关系,应当知晓,本实施例的分布式数据调度***中其他任一调度组件10均与该实施例中例举的调度组件10具备相同的结构与功能,其各个连接关系与图1示例中相同,在此不再过多赘述,图中有关其他调度组件10的连接关系也不再示出。
本发明通过至少一个调度组件10、多个数据挖掘单元20以及包含有多个预置数据库的存储组件30的分布式架构,由调度组件10将获取的离线日志分为多个子日志,并由多个数据挖掘单元20并行执行挖掘任务,从各子日志中挖掘相应的日志元数据,解决了现有技术中由中央设备集中处理任务而造成的单点问题,并且,由于采用多节点并行执行任务的结构,当数据处理任务失败或执行设备出现故障时,可以由其他设备节点继续执行该任务,实现了任务失败自动多机重试,保证了任务的及时、正确运行。另一方面,本发明通过对日志元数据以及其他过程信息进行分类存储,便于后续数据分析人员或其他数据处理设备查找获取对应信息,从侧面进一步提升了数据处理任务的及时性。此外,本发明提供的分布式数据调度***还可以自动将所提取的数据任务代码分类发放,方便各数据任务的处理,无需用户进一步关心代码如何运行,只需将其上传至本发明的数据调度***,即可将所需运行的代码自动分类并调度到合适的机器上运行,进一步实现任务失败自动重试的功能。更多地,当数据任务执行过程中出现其他问题还可以通过该***向用户进行报警通知。
具体地,在本发明一实施例中,首先由调度组件10从文件***中获取待处理离线日志。该实施例中,文件***可以是存储有海量日志的hdfs(HadoopDistributed FileSystem,分布式文件***)、S3(Simple Storage Service,简单存储服务)等文件***,当然还可以是其他的文件***。另外,文件***中预先存储的海量日志可以包括例如客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志等等日志。本发明实施例对日志的类型不做具体的限定。
进一步,当调度组件10从文件***中获取到客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志等离线日志后,可以对所获取的离线日志进一步进行处理。在本发明一实施例中,可以由调度组件10结合待处理离线日志的来源将其分为多个子日志,并根据各个数据挖掘单元20的运行状态,将上述多个子日志分发至相应的数据挖掘单元20。具体地,可以直接将客户端访问服务端的行为所产生的日志作为一个子日志以及将样本回扫行为产生的日志作为另一个子日志,并根据其他离线日志的来源将其他离线日志分为多个子日志。此外,在一个可选的实施例中,还可以将客户端访问服务端的行为所产生的日志进一步依据其他规则分成多个子日志,将样本回扫行为产生的日志进一步依据其他规则分成多个子日志等等。此外,调度组件10还可以根据其他任意可行的规则对待处理离线日志进行分类,通过将待处理离线日志分为多个子日志,实现了对基于脚本\计算平台\硬编码的方式串起整个流程的方案做了实质的改进,通过将整个数据处理流程分成模块化处理,使得各数据处理模块间可以并行处理,不但提升了数据处理效率,并且避免了***的单点故障问题,使得数据处理任务可以及时、稳定地执行。
在本发明一实施例中,将待处理离线日志分为多个子日志后,还可以由调度组件10根据各个数据挖掘单元20的运行状态,将多个子日志分发至相应的数据挖掘单元20,进而由数据挖掘单元20对对应的子日志进行挖掘处理。具体地,在根据各数据挖掘单元20的状态对多个子日志进行分发时,可以首先判断各数据挖掘单元20当前是否正在执行任务。若分布式数据调度***处于刚启动状态时,通常情况下,大部分数据挖掘单元20处于空闲状态,此时,若调度组件10从文件***获取到待处理离线日志并将其分为多个子日志后,可以在多个处于空闲状态的数据挖掘单元20中任意选取所需个数的数据挖掘单元20以待接收子日志,还可以依据各数据挖掘单元20的地址信息或其他唯一标识信息对各数据挖掘单元20进行排序,进而由调度组件10将多个子日志分发至已排序的预设数目个数据挖掘单元20中。需要说明的是,本实施例的上述说明仅为例举,并不构成对本发明的限定。
当数据挖掘单元20接收到调度组件10分发的对应子日志后,可以由数据挖掘单元20对相应子日志进一步处理。具体地,在本发明一实施例中,可以首先由数据挖掘单元20根据所接收的子日志创建对应的运行环境,进一步由数据挖掘单元20根据预设规则从子日志中挖掘日志元数据。比如数据挖掘单元20可以基于MapReduce模型并采用Spark引擎对子日志进行挖掘,并提取日志元数据。其中,MapReduce模型是一种编程模型,用于大规模数据集(大于1TB)的并行运算,Spark引擎是专为大规模数据处理而设计的快速通用的计算引擎。在本实施例中,日志元数据可以包括用户的标识信息以及日志的类型,根据用户的需要,日志的元数据还可以包括日志的产生时间等内容。
进一步地,在上述数据挖掘单元20进行数据挖掘的过程中,调度组件10可以监控并记录各数据挖掘单元20中子日志的处理过程,并在监控到任一子日志处理异常时,可以自动启动其他数据挖掘单元20继续对该子日志进行数据挖掘处理。具体地,在自动启动其他数据挖掘单元20时,可以随机启动任一数据挖掘单元20继续处理该子日志,还可以进一步结合其他数据挖掘单元20的状态信息选择合适的数据挖掘单元20继续处理,还可以根据预先设定的规则选取对应的数据挖掘单元20处理对应的子日志,本实施例只需在任一数据挖掘单元20中子日志处理过程发生异常时,自动启动其他数据挖掘单元20继续处理该子日志以保证该子日志能够得以及时、正确地处理即可。
此外,在数据挖掘单元20从子日志中挖掘日志元数据后,可以由调度组件10将所挖掘的日志元数据以及其他过程信息存储至包含有多个预置数据库的存储组件30。具体地,在本实施例中,存储组件30的多个预置数据库可以为etcd数据库、mysql数据库或者redis数据库,其中,etcd数据库是一个高可用的键值存储***,其主要用于共享配置和服务发现;mysql数据库主要用于存储一些数据的元数据信息,如将日志的元数据统计之后存储至mysql数据库中;redis数据库是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。在本实施例中,当存储单元30包括etcd数据库、mysql数据库以及redis数据库时,则将日志元数据存储至etcd数据库和/或mysql数据库中,以及将其他过程信息存储至redis数据库中。通过对所生成的日志元数据以及其他过程信息进行分类存储,使得分布式数据调度***所执行的数据处理任务更加明确化,且更便于后续分析人员或数据处理设备对相应信息的查询与提取。
更进一步地,图2示出了根据本发明一个实施例的分布式数据调度***的另一个结构示意图,如图2所示,本实施例的分布式数据调度***还包括至少一个前端单元40。本实施例的前端单元40,与调度组件10耦合,适于由数据处理人员开发代码,并将所开发的代码上传至文件***进行存储。
此外,在本发明一实施例中,前端单元40还适于显示各数据挖掘单元20的对子日志的挖掘过程,并监控该显示状态,进一步在显示状态异常时可以向用户执行报警通知。另一方面,前端单元40还可以接收用户的触发以暂停数据挖掘单元20所执行的对任一子日志的挖掘任务,或启动所需执行的任一挖掘任务。
在本发明一实施例中,图3示出了根据本发明一个实施例的分布式数据调度***的再一个结构框图。如图3所示,分布式数据调度***还包括数据处理单元50,该数据处理单元50与存储组件30耦合,适于将存储组件30中的离线日志进行归类合并生成相应的虚拟表,并对存储组件30中的日志元数据进行统计得到相应的统计信息。在本发明一实施例中,数据处理单元50在对离线日志进行归类合并生成相应的虚拟表时,可以基于patent框架将接收到的离线日志进行归类合并,例如,根据离线日志的不同格式、字段等对日志进行归类合并生成相应的虚拟表,其中,此处的字段是能够组织到对应的需要进行结构化的数据形式。又例如,可以依据日志元数据内容中的至少一种进行归类合并生成相应的虚拟表,当日志元数据包括日志产生时间、用户标识信息、日志类型等内容时,数据处理单元50还可以依据日志产生时间、用户标识信息、日志类型中的至少一种对日志进行归类合并生成相应的虚拟表。
该实施例中,虚拟表可以包括以下几种:
Basic,样本基本信息表,其中包括日志的样本关键信息,如历史查询量、首次出现时间、级别等,可以快速了解一个样本的重要程度,并且,基于该虚拟表在后续还可以实现样本的快速查询;
specimen_detail,specimen详细信息表;
specimen_cloud_detail,specimen云查静态属性信息表;
upload,文件上传溯源信息表;
cloud_info,样本云查信息表,其中包括日志的样本云查相关信息,如文件路径、历史级别、PV(Page View,页面浏览量)、UV(Unique Visitor,独立访问用户数)等;
network_behavior,network_behavior表,其中包括日志的样本网络行为相关的信息;
proc_behavior,进程行为表;
proc_chain,进程链信息表;
dropped_files,文件释放信息表;
scan_log,扫描信息表;scan_info扫描信息表;pestring;mid2ip;file_relations,文件关系表;specimen,已收集样本信息表;pe_info可执行信息表,其中包括样本可执行信息相关的表等等。
此外,在本发明一实施例中,数据处理单元50在对离线日志进行归类合并生成相应的虚拟表时,还可以先对待处理离线日志按照预设规则进行聚合计算,并得到特定格式的日志,进而再对特定格式的日志归类合并生成对应的虚拟表。具体地,该实施例中的数据处理单元50具有数据抽取与聚合的能力,其可以根据简单的配置文件从不同的数据源中抽取日志,并对日志进行聚合计算,最终汇集成特定格式的日志。例如,特定格式的日志可以是json格式的日志,当然,聚合计算得到的日志还可以是其他格式的日志。
该实施例中,对离线日志按照预设规则进行聚合计算时,可以是按照预设时间间隔对离线日志进行聚合计算,预设时间间隔可以是每天对离线日志聚合计算一次,或者是隔一天对离线日志聚合计算一次,或者是一个月对离线日志聚合计算一次等等。
上文实施例中的分布式数据调度***实际上是对离线日志进行离线处理的核心设备,其主要基于一个分布式的数据抽取和聚合框架,可以处理文件***中海量的离线日志,每天可以跑数十个任务,处理数据量数百TB,能够抽取特征万亿条。
下面以一个具体的实施例对本发明的分布式数据调度***进行详细介绍。
本实施例的分布式数据调度***基于分布式调度***来实现,下面首先对分布式调度***进行阐述。分布式调度***的核心是分布式任务调度,任务可能是数据转化任务也可能是其他任务,属于一个基础组件***。分布式调度***是基于master slave结构设计的,其具有执行任务失败后自动恢复并重试功能,且可以支持多种任务类型,如基于MapReduce模型并采用Spark引擎从文件***的离线日志中提取日志元数据、调度并下载hdfs中的文件、load stored等。参见图4,现介绍分布式调度***的具体工作过程,分布式数据调度***是以分布式调度***为基础的,其各自的工作过程类似,下面先介绍分布式调度***的具体工作过程。
在分布式调度***中,etcd cluster,即master(即本发明中的调度组件)集群,master集群中具有多个master。任意master可以从文件存储(S3/hdfs)中提取待处理的任务task,并将提取的待处理任务分发至与各自对应的worker(即本发明中的数据挖掘单元)节点中,例如,master leader可以将提取的任务分发至与其对应的4个worker节点中,这4个worker节点可以并行的执行任务。
在worker节点执行任务的过程中,master会对当前执行任务和与其对应的各worker节点的执行过程进行记录。此外,master还可以将执行任务过程中产生的task元数据(如日志元数据)存储至etcd、mysql数据库中,并且将产生的其他记录(如任务数量等)、临时信息存储至memory/redis数据库中。
采用本发明实施例的分布式调度***来调度数据处理任务,可以在一个节点任务失败后其他节点重新执行任务,有效地防止了单点问题,并且,还大大方便了数据处理任务,无需关心任务如何执行,只要将任务上传给分布式调度器,任务就自动调度到合适的机器上运行,且能进行失败重试。
本发明实施例还提供了一种分布式数据调度***,下面对分布式数据调度***的工作流程进行具体介绍。该分布式数据调度***的核心功能是进行数据的调度与转化,其可以采用上文中的分布式调度***进行数据分析任务的调度,此任务可以是转化任务,也可以是其他任务。即在采用分布式调度***调度任务后,如分布式调度***调度待处理的离线日志,再由分布式数据调度***对调度的任务进行进一步的数据处理,如提供弹性/可编程的处理流程、数据流监控、简单易用的存储、模块化的数据加工流程等。分布式数据调度***可以是基于上文中的数据处理框架设计的。
该实施例中,分布式数据调度***把任务重新进行了定义,如node、rdd、meta,其中,node可以代表一种数据处理收集的方式,一个node的输出可以作为下一个node的输入,每一个node都是逻辑独立的,但是可以通过配置/xml串起来。Node可以包括如下类型:
Filter,过滤类型的node,可以自定义过滤条件以处理输入的rdd;
Event,事件类型的node,可以自定义根据自定义事件抽取结果;
Fill,补完类型的node,可以自定义补完规则以处理输入的rdd;
map/reduce,通过map/reduce程序进行数据处理的node;
spark,通过spark程序进行数据处理的node;
script,通过脚本进行数据处理的node。
rdd取自spark的概念,弹性分布式数据集,node的一个结果集合就是rdd,rdd可自定义存储,或者可以定义数据量自动选择存储,此外,rdd也可定义裁剪的规则,裁剪输出。
meta元数据,每个node能处理的数据类型,比如处理样本,可以把样本的数据结构定义成上文介绍的虚拟表的形式。
由此可以得到分布式数据调度***其核心功能是在单个节点根据node配置执行相应的业务逻辑。
下面以一个简单的例子来描述数据抽取任务。例如数据抽取任务为提取百度的样本。
首先,从云查杀日志中提取md5(message-digest algorithm 5,信息摘要算法5)和sha1(secure hash algorithm,安全哈希算法),然后,根据提取的md5、sha1值计算对应样本每天的pv/uv,并获取pv/uv大于100w的样本的parent_url(parent_uniform resourcelocator,父级统一资源定位符)。如果包含百度的样本,则获取其所有子进程,并提取前一百条子进程的详细信息展示出来。
采用本发明实施例的分布式数据调度***执行上述数据抽取任务的具体执行步骤可以是:
Step1、监控pv大于1000000的样本;具体代码可以是
Step2、拉取样本的parent_url属性;具体代码可以是
Step3、过滤出parent_url包含百度的样本;具体代码可以是
Step5、在前端展示前一百条子进程的样本。
本发明实施例中,分布式数据调度***实现逻辑的调度核心可以根据整体的配置将上述各step串起来,并负责管理rdd相关的存储,把每个node的任务分发到各个节点执行。该实施例中,单个的node可独立执行。
此外,数据处理***通过设置前端页面,还可以提供可视化编辑的功能,把可视化编辑配置生成json格式的conf(配置文件)提交到调度核心。并且,前端页面不仅可以展示每个node的进度,还可以提供由用户手动启动停止单个node的任务的功能。
基于同一发明构思,本发明实施例还提供了一种分布式数据调度方法,图5示出了根据本发明一个实施例的分布式数据调度方法的流程图。如图5所示,该分布式数据调度方法至少包括步骤S502至步骤S506:
步骤S502、从文件***中获取待处理离线日志,并将待处理离线日志分为多个子日志;
步骤S504、将多个子日志分发至多个数据挖掘单元,并由数据挖掘单元根据预设规则从子日志中挖掘日志元数据;
步骤S506、将日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
在本发明一实施例中,执行步骤S502时,还可以在获取到待处理离线日志后,结合待处理离线日志的来源将上述待处理离线日志分为多个子日志。进一步,执行步骤S504,将多个子日志分发至多个数据挖掘单元,具体地,可以根据各个数据挖掘单元的运行状态,将多个子日志分发至相应的数据挖掘单元。
进一步,数据挖掘单元接收到对应子日志后,在步骤S504具体执行时,可以由数据挖掘单元根据预设规则从子日志中挖掘日志元数据。在本发明一实施例中,可以基于MapReduce模型并采用Spark引擎对子日志进行挖掘,并提取日志元数据。本实施例的文件***中预先存储的多个离线日志可以包括客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志等。日志元数据的内容可以包括用户标识信息、日志类型等。
在本发明一实施例中,在上述步骤执行过程中,还可以由调度单元监控各数据挖掘单元对相应子日志的挖掘过程,并在监控到任一挖掘过程运行异常时,自动启动其他数据挖掘单元继续对相应子日志进行挖掘,以实现该***中任务失败自动重试的功能。
进一步地,在数据挖掘单元从子日志中提取出日志元数据后,可以将所提取的日志元数据及挖掘过程中所产生的其他过程信息存储至包含有多个预置数据库的存储组件中。具体地,若存储组件中的多个预置数据库包括mysql数据库、etcd数据库以及redis数据库,则将日志元数据存储至mysql数据库和/或etcd数据库,以及将其他过程信息存储至redis数据库中。
此外,在上述步骤执行过程中,还可以通过前端单元显示各数据挖掘单元的挖掘过程,并监控该显示状态,进一步在监测到显示状态异常时向用户执行报警通知。此外,还可以通过前端单元接收用户的触发以暂停正在执行的挖掘过程或启动所需执行的挖掘过程。
进一步地,在上述各步骤执行结束之后,还可以由数据处理单元将离线日志进行归类合并生成相应的虚拟表,并对日志元数据进行统计得到相应的统计信息。具体地,将离线日志进行归类合并生成相应的虚拟表时,可以将离线日志依据日志元数据内容中的至少一种进行归类合并生成相应的虚拟表。
另一方面,在将离线日志进行归类合并生成相应的虚拟表时,还可以对由数据处理单元对离线日志按照预设规则进行聚合计算,得到特定格式的日志。进一步对特定格式的日志归类合并生成对应的虚拟表。在本实施例中,预设规则可以包括:数据处理单元按照预设时间间隔对接收到的离线日志进行聚合计算,得到特定格式的日志。
本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上文任一实施例中的分布式数据调度方法。
另外,本发明实施例还提供了一种计算设备,包括处理器;存储有计算机程序代码的存储器;当计算机程序代码被处理器运行时,导致计算设备执行上文任一实施例中的分布式数据调度方法。
根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
本发明通过至少一个调度组件、多个数据挖掘单元以及包含有多个预置数据库的存储组件的分布式架构,由调度组件将获取的离线日志分为多个子日志,并由多个数据挖掘单元并行执行挖掘任务,从各子日志中挖掘相应的日志元数据,解决了现有技术中由中央设备集中处理任务而造成的单点问题,并且,由于采用多节点并行执行任务的结构,当数据处理任务失败或执行设备出现故障时,可以由其他设备节点继续执行该任务,实现了任务失败自动多机重试,保证了任务的及时、正确运行。另一方面,本发明通过对日志元数据以及其他过程信息进行分类存储,便于后续数据分析人员或其他数据处理设备查找获取对应信息,从侧面进一步提升了数据处理任务的及时性。此外,本发明提供的分布式数据调度***还可以自动将所提取的数据任务代码分类发放,方便各数据任务的处理,无需用户进一步关心代码如何运行,只需将其上传至本发明的数据调度***,即可将所需运行的代码自动分类并调度到合适的机器上运行,进一步实现任务失败自动重试的功能。更多地,当数据任务执行过程中出现其他问题还可以通过该***向用户进行报警通知。
所属领域的技术人员可以清楚地了解到,上述描述的***、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。
另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。
本领域普通技术人员可以理解:集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络等)在运行指令时执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM),磁碟或者光盘等各种可以存储程序代码的介质。
或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。
基于本发明的一个方面,提供了A1.一种分布式数据调度***,包括至少一个调度组件,
所述调度组件,适于从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;
所述调度组件,还适于将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;
所述调度组件,还适于将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
A2.根据A1所述的***,其中,所述调度组件,还适于:
结合所述待处理离线日志的来源将所述待处理离线日志分为多个子日志,并根据各个数据挖掘单元的运行状态,将所述多个子日志分发至相应的数据挖掘单元。
A3.根据A2所述的***,其中,所述数据挖掘单元,还适于:
基于MapReduce模型并采用Spark引擎对所述子日志进行挖掘,并提取日志元数据。
A4.根据A1-A3任一项所述的***,其中,所述从文件***中获取的待处理离线日志包括以下至少之一:
客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志。
A5.根据A1-A3任一项所述的***,其中,所述日志元数据的内容包括以下至少之一:
用户标识信息、日志类型。
A6.根据A1-A3任一项所述的***,其中,所述调度组件,还适于:
监控各数据挖掘单元对相应子日志的挖掘过程,并在监控到任一挖掘过程运行异常时,自动启动其他数据挖掘单元继续对相应子日志进行挖掘。
A7.根据A1-A3任一项所述的***,其中,所述调度组件还适于:
若所述存储组件中的多个预置数据库包括mysql数据库、etcd数据库以及redis数据库,则将所述日志元数据存储至所述mysql数据库和/或etcd数据库,以及将其他过程信息存储至所述redis数据库中。
A8.根据A1-A3任一项所述的***,其中,还包括:
至少一个前端单元,所述前端单元适于显示各数据挖掘单元的挖掘过程,并监控该显示状态,在所述显示状态异常时执行报警通知。
A9.根据A8所述的***,其中,所述前端单元,还适于:
接收用户的触发以暂停正在执行的挖掘过程或启动所需执行的挖掘过程。
A10.根据A1-A3任一项所述的***,其中,还包括:
数据处理单元,适于将所述离线日志进行归类合并生成相应的虚拟表,并对所述日志元数据进行统计得到相应的统计信息。
A11.根据A10所述的***,其中,所述数据处理单元,还适于:
将所述离线日志依据所述日志元数据内容中的至少一种进行归类合并生成相应的虚拟表。
A12.根据A1-A3任一项所述的***,其中,所述数据处理单元,还适于:
对所述离线日志按照预设规则进行聚合计算,得到特定格式的日志;
对所述特定格式的日志归类合并生成对应的虚拟表。
A13.根据A12所述的***,其中,所述预设规则包括:
所述数据处理单元按照预设时间间隔对接收到的离线日志进行聚合计算,得到特定格式的日志。
基于本发明的另一个方面,还提供了B14.一种分布式数据调度方法,包括:
从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;
将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;
将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
B15.根据B14所述的方法,其中,将所述待处理离线日志分为多个子日志,包括:
结合所述待处理离线日志的来源将所述待处理离线日志分为多个子日志。
B16.根据B15所述的方法,其中,将所述多个子日志分发至多个数据挖掘单元,包括:
根据各个数据挖掘单元的运行状态,将所述多个子日志分发至相应的数据挖掘单元。
B17.根据B14所述的方法,其中,根据预设规则从所述子日志中挖掘日志元数据,包括:
基于MapReduce模型并采用Spark引擎对所述子日志进行挖掘,并提取日志元数据。
B18.根据B14-B17任一项所述的方法,其中,所述文件***中预先存储的多个离线日志包括以下至少之一:
客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志。
B19.根据B14-B17任一项所述的方法,其中,所述日志元数据的内容包括以下至少之一:
用户标识信息、日志类型。
B20.根据B14-B17任一项所述的方法,其中,还包括:
监控各数据挖掘单元对相应子日志的挖掘过程,并在监控到任一挖掘过程运行异常时,自动启动其他数据挖掘单元继续对相应子日志进行挖掘。
B21.根据B14-B17任一项所述的方法,其中,将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中,包括:
若所述存储组件中的多个预置数据库包括mysql数据库、etcd数据库以及redis数据库,则将所述日志元数据存储至所述mysql数据库和/或etcd数据库,以及将其他过程信息存储至所述redis数据库中。
B22.根据B14-B17任一项所述的方法,其中,还包括:
显示各数据挖掘单元的挖掘过程,并监控该显示状态,在所述显示状态异常时执行报警通知。
B23.根据B22所述的方法,其中,还包括:
接收用户的触发以暂停正在执行的挖掘过程或启动所需执行的挖掘过程。
B24.根据B14-B17任一项所述的方法,其中,还包括:
将所述离线日志进行归类合并生成相应的虚拟表,并对所述日志元数据进行统计得到相应的统计信息。
B25.根据B24所述的方法,其中,将所述离线日志进行归类合并生成相应的虚拟表,包括:
将所述离线日志依据所述日志元数据内容中的至少一种进行归类合并生成相应的虚拟表。
B26.根据B14-B17任一项所述的方法,其中,将所述离线日志进行归类合并生成相应的虚拟表,还包括:
对所述离线日志按照预设规则进行聚合计算,得到特定格式的日志;
对所述特定格式的日志归类合并生成对应的虚拟表。
B27.根据B26所述的方法,其中,所述预设规则包括:
由数据处理单元按照预设时间间隔对接收到的离线日志进行聚合计算,得到特定格式的日志。
基于本发明的另一个方面,还提供了C28.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,导致所述计算机执行权利要求B14-B27任一项所述的分布式数据调度方法。
基于本发明的又一个方面,还提供了D29.一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行权利要求B14-B27任一项所述的分布式数据调度方法。
Claims (10)
1.一种分布式数据调度***,包括至少一个调度组件,
所述调度组件,适于从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;
所述调度组件,还适于将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;
所述调度组件,还适于将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
2.根据权利要求1所述的***,其中,所述调度组件,还适于:
结合所述待处理离线日志的来源将所述待处理离线日志分为多个子日志,并根据各个数据挖掘单元的运行状态,将所述多个子日志分发至相应的数据挖掘单元。
3.根据权利要求2所述的***,其中,所述数据挖掘单元,还适于:
基于MapReduce模型并采用Spark引擎对所述子日志进行挖掘,并提取日志元数据。
4.根据权利要求1-3任一项所述的***,其中,所述从文件***中获取的待处理离线日志包括以下至少之一:
客户端访问服务端的行为所产生的日志、样本回扫行为产生的日志。
5.根据权利要求1-3任一项所述的***,其中,所述日志元数据的内容包括以下至少之一:
用户标识信息、日志类型。
6.根据权利要求1-3任一项所述的***,其中,所述调度组件,还适于:
监控各数据挖掘单元对相应子日志的挖掘过程,并在监控到任一挖掘过程运行异常时,自动启动其他数据挖掘单元继续对相应子日志进行挖掘。
7.根据权利要求1-3任一项所述的***,其中,所述调度组件还适于:
若所述存储组件中的多个预置数据库包括mysql数据库、etcd数据库以及redis数据库,则将所述日志元数据存储至所述mysql数据库和/或etcd数据库,以及将其他过程信息存储至所述redis数据库中。
8.一种分布式数据调度方法,包括:
从文件***中获取待处理离线日志,并将所述待处理离线日志分为多个子日志;
将所述多个子日志分发至多个数据挖掘单元,并由所述数据挖掘单元根据预设规则从所述子日志中挖掘日志元数据;
将所述日志元数据及其他过程信息存储至包含有多个预置数据库的存储组件中。
9.一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,导致所述计算机执行权利要求8所述的分布式数据调度方法。
10.一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行权利要求8所述的分布式数据调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810689485.8A CN109033196A (zh) | 2018-06-28 | 2018-06-28 | 一种分布式数据调度***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810689485.8A CN109033196A (zh) | 2018-06-28 | 2018-06-28 | 一种分布式数据调度***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109033196A true CN109033196A (zh) | 2018-12-18 |
Family
ID=65520776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810689485.8A Pending CN109033196A (zh) | 2018-06-28 | 2018-06-28 | 一种分布式数据调度***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033196A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459896A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 数据恢复***和方法、电子设备以及计算机可读存储介质 |
CN111723063A (zh) * | 2019-03-18 | 2020-09-29 | 北京沃东天骏信息技术有限公司 | 一种离线日志数据处理的方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179105A1 (en) * | 2010-01-15 | 2011-07-21 | International Business Machines Corporation | Method and system for distributed task dispatch in a multi-application environment based on consensus |
CN102306168A (zh) * | 2011-08-23 | 2012-01-04 | 成都市华为赛门铁克科技有限公司 | 日志操作方法、装置及文件*** |
CN102495758A (zh) * | 2011-12-05 | 2012-06-13 | 中南大学 | 分布式高性能计算环境中实时任务的调度方法 |
CN103138989A (zh) * | 2013-02-25 | 2013-06-05 | 武汉华工安鼎信息技术有限责任公司 | 一种海量日志分析***及方法 |
CN106202399A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮软件集团有限公司 | 一种大数据的数据管理***实现方法 |
CN106452899A (zh) * | 2016-10-27 | 2017-02-22 | 中国工商银行股份有限公司 | 一种分布式数据挖掘***及方法 |
CN107766147A (zh) * | 2016-08-23 | 2018-03-06 | 上海宝信软件股份有限公司 | 分布式的数据分析任务调度*** |
-
2018
- 2018-06-28 CN CN201810689485.8A patent/CN109033196A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179105A1 (en) * | 2010-01-15 | 2011-07-21 | International Business Machines Corporation | Method and system for distributed task dispatch in a multi-application environment based on consensus |
CN102306168A (zh) * | 2011-08-23 | 2012-01-04 | 成都市华为赛门铁克科技有限公司 | 日志操作方法、装置及文件*** |
CN102495758A (zh) * | 2011-12-05 | 2012-06-13 | 中南大学 | 分布式高性能计算环境中实时任务的调度方法 |
CN103138989A (zh) * | 2013-02-25 | 2013-06-05 | 武汉华工安鼎信息技术有限责任公司 | 一种海量日志分析***及方法 |
CN106202399A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮软件集团有限公司 | 一种大数据的数据管理***实现方法 |
CN107766147A (zh) * | 2016-08-23 | 2018-03-06 | 上海宝信软件股份有限公司 | 分布式的数据分析任务调度*** |
CN106452899A (zh) * | 2016-10-27 | 2017-02-22 | 中国工商银行股份有限公司 | 一种分布式数据挖掘***及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459896A (zh) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 数据恢复***和方法、电子设备以及计算机可读存储介质 |
CN111459896B (zh) * | 2019-01-18 | 2023-05-02 | 阿里云计算有限公司 | 数据恢复***和方法、电子设备以及计算机可读存储介质 |
CN111723063A (zh) * | 2019-03-18 | 2020-09-29 | 北京沃东天骏信息技术有限公司 | 一种离线日志数据处理的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449562B2 (en) | Enterprise data processing | |
US11755628B2 (en) | Data relationships storage platform | |
US11163731B1 (en) | Autobuild log anomaly detection methods and systems | |
US11663033B2 (en) | Design-time information based on run-time artifacts in a distributed computing cluster | |
US7418453B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
CN108985981A (zh) | 数据处理***及方法 | |
CN108829505A (zh) | 一种分布式调度***及方法 | |
CN114756629B (zh) | 基于sql的多源异构数据交互分析引擎及方法 | |
CN103077192A (zh) | 一种数据处理方法及其*** | |
CN109033196A (zh) | 一种分布式数据调度***及方法 | |
CN107423035B (zh) | 一种软件开发过程产品数据管理*** | |
CN116431668A (zh) | 基于元数据采集的数据血缘分析方法、装置及电子设备 | |
Gu et al. | Characterizing job-task dependency in cloud workloads using graph learning | |
Davidson et al. | Technical review of apache flink for big data | |
US11386170B2 (en) | Search data curation and enrichment for deployed technology | |
Huang et al. | A web interface for XALT log data analysis | |
AU2022218687B2 (en) | Memory management through control of data processing tasks | |
US11822566B2 (en) | Interactive analytics workflow with integrated caching | |
CN116860754A (zh) | 报表数据处理方法和装置、电子设备及存储介质 | |
CN116910352A (zh) | 基于人工智能的报表推荐方法、装置、设备及介质 | |
CN117609362A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN115658133A (zh) | 一种面向企业软件的多版本灰度发布*** | |
CN118096387A (zh) | 一种数据资产管理方法、装置、设备及介质 | |
Bernaschi et al. | Forensic disk image indexing and search in an HPC environment |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |
|
RJ01 | Rejection of invention patent application after publication |