CN116069744A - 数据处理方法、装置、设备、存储介质及产品 - Google Patents
数据处理方法、装置、设备、存储介质及产品 Download PDFInfo
- Publication number
- CN116069744A CN116069744A CN202111292541.2A CN202111292541A CN116069744A CN 116069744 A CN116069744 A CN 116069744A CN 202111292541 A CN202111292541 A CN 202111292541A CN 116069744 A CN116069744 A CN 116069744A
- Authority
- CN
- China
- Prior art keywords
- class
- file
- task
- shared
- executed
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 434
- 230000008569 process Effects 0.000 claims abstract description 411
- 230000004083 survival effect Effects 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 239000003795 chemical substances by application Substances 0.000 description 126
- 238000012423 maintenance Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 238000011031 large-scale manufacturing process Methods 0.000 description 12
- 238000011161 development Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的实施例揭示了一种数据处理方法、装置、设备、存储介质及产品。该方法包括部署于网络设备上的代理进程启动后加载配置文件;生成含有采集参数的共享类采集标记文件,共享类采集标记文件用于使待执行任务的任务进程读取采集参数,并根据采集参数从配置文件中采集类数据;读取待执行任务采集到的类数据;根据读取到的类数据生成共享类列表文件,并根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件,共享类归档标记文件用于使任务进程读取使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据。本申请实施例的技术方案极大地优化了类数据共享以及应用程序类数据共享的部署。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
相关技术中,针对类数据共享以及应用程序类数据共享技术,正常部署流程分为三步:第一步,确定哪些类数据需要被归档,第二步,创建共享类归档文件,第三步,使用共享类归档文件。其中,针对每个任务而言,每一步部署都需要由运维相关工作人员加上对应的参数,部署效率较低且容易出错,难以将类数据共享以及应用程序类数据共享技术应用于大规模生产环境中。
可见,如何提升类数据共享以及应用程序类数据共享的部署效率以及准确率是亟待解决的问题。
发明内容
为解决上述技术问题,本申请的实施例提供了数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,进而至少在一定程度上可以提升类数据共享以及应用程序类数据共享的部署效率以及准确率。
根据本申请实施例的一个方面,提供了一种数据处理方法,所述方法包括:部署于网络设备上的代理进程启动后,加载配置文件,所述配置文件中存储有待执行任务在执行时所需的类数据;生成含有采集参数的共享类采集标记文件;其中,所述共享类采集标记文件用于使所述待执行任务的任务进程读取所述采集参数,并根据所述采集参数从所述配置文件中采集类数据;读取所述待执行任务采集到的类数据;根据读取到的类数据生成共享类列表文件,并根据所述共享类列表文件生成含有使用参数和所述类数据的共享类归档标记文件;其中,所述共享类归档标记文件用于使所述任务进程读取所述使用参数,并根据所述使用参数加载所述共享类归档标记文件中含有的类数据。
根据本申请实施例的一个方面,提供了一种数据处理装置,所述装置包括:加载模块,配置为部署于网络设备上的代理进程启动后,加载配置文件,所述配置文件中存储有待执行任务在执行时所需的类数据;第一生成模块,配置为生成含有采集参数的共享类采集标记文件;其中,所述共享类采集标记文件用于使所述待执行任务的任务进程读取所述共享类采集标记文件中含有的采集参数,并根据所述采集参数从所述配置文件中采集类数据,所述配置文件中存储有所述待执行任务执行所需的类数据;读取模块,配置为所述代理进程读取所述待执行任务采集到的类数据;第二生成模块,配置为根据读取到的类数据生成共享类列表文件,并根据所述共享类列表文件生成含有使用参数和所述类数据的共享类归档标记文件;其中,所述共享类归档标记文件用于使所述待执行任务的任务进程读取所述共享类归档标记文件中含有的使用参数和类数据,并根据所述使用参数加载所述共享类归档标记文件中含有的类数据。
在本申请的一些实施例中,基于前述方案,装置还包括:确定模块,配置为所述代理进程启动后,读取所述待执行任务对应的类数据相关文件,以确定所述待执行任务对应的类数据相关文件是否发生变化;检查模块,配置为若所述待执行任务对应的类数据相关文件未发生变化,则检查是否存在共享类归档标记文件以及新生成的共享类列表文件;执行模块,配置为若检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件,则执行所述加载配置文件的步骤。
在本申请的一些实施例中,基于前述方案,装置还包括:删除模块,配置为若所述待执行任务对应的类数据相关文件发生变化,则删除指定路径下共享类归档标记文件的软连接、共享类列表文件以及共享类采集标记文件,以及所述执行模块,配置为执行所述加载配置文件的步骤。
在本申请的一些实施例中,基于前述方案,所述确定模块包括:第一读取单元,配置为读取所述配置文件中含有的类路径;第一确定单元,配置为若所述配置文件中含有的类路径发生变化,则确定所述待执行任务对应的类数据相关文件发生变化;所述第一确定单元,还配置为若所述配置文件中含有的类路径未发生变化,则确定所述待执行任务对应的类数据相关文件未发生变化。
在本申请的一些实施例中,基于前述方案,所述确定模块还包括:第二读取单元,配置为读取所述错误日志文件中含有的类路径;第二确定单元,配置为若记录类路径发生变化的错误日志文件的数量大于预设数量阈值,则确定所述待执行任务对应的类数据相关文件发生变化;所述第二确定单元,还配置为若记录类路径发生变化的错误日志文件的数量小于或等于所述预设数量阈值,则确定所述待执行任务对应的类数据相关文件未发生变化。
在本申请的一些实施例中,基于前述方案,装置还包括:第三生成模块,配置为若检查到存在新生成的共享类列表文件,则根据已有的共享类列表文件以及新生成的共享类列表文件,生成最新的共享类归档标记文件,以及所述删除模块,还配置为删除指定路径下共享类归档标记文件的软连接。
在本申请的一些实施例中,基于前述方案,装置还包括:第四生成模块,配置为若检查到存在所述共享类归档标记文件,则生成含有增量采集参数的增量共享类采集标记文件;其中,所述增量共享类采集标记文件用于使所述任务进程读取所述增量采集参数,并根据所述增量采集参数从所述配置文件中采集新增加的类数据。
在本申请的一些实施例中,基于前述方案,装置还包括:第五生成模块,配置为在所述代理进程首次启动时,生成代理进程存活标记文件;其中,所述代理进程存活标记文件中含有所述代理进程首次启动时的时间戳信息,所述代理进程存活标记文件用于使所述任务进程读取所述时间戳信息,以及所述执行模块,还配置为在根据所述时间戳信息确定所述代理进程的存活时长小于预设时长阈值时,执行读取所述采集参数的步骤。
在本申请的一些实施例中,基于前述方案,装置还包括:所述运行模块,还配置为若所述任务进程根据所述使用参数将所述共享类归档标记文件中含有的类数据成功加载至内存中,则运行所述待执行任务的任务进程;输出模块,配置为若所述任务进程根据所述使用参数未将所述共享类归档标记文件中含有的类数据成功加载至内存中,则输出失败信息。
在本申请的一些实施例中,基于前述方案,所述网络设备包括单机模式下的网络设备;其中,所述代理进程和所述任务进程部署在所述单机模式下的网络设备上,所述任务进程包括短任务的任务进程。
在本申请的一些实施例中,基于前述方案,所述网络设备包括集群模式下的中心节点网络设备以及所述中心节点网络设备下的各个子节点网络设备;其中,所述代理进程分别部署在所述中心节点网络设备以及所述各个子节点网络设备上,所述任务进程部署在所述各个子节点网络设备上,所述任务进程包括长任务的任务进程。
在本申请的一些实施例中,基于前述方案,所述中心节点网络设备上部署的代理进程用于下发类数据采集指令至各个子节点网络设备上部署的代理进程,各个子节点网络设备上部署的代理进程用于根据所述类数据采集指令生成共享类采集标记文件以获取共享类列表文件,并上报所获取到的共享类列表文件至所述中心节点网络设备上部署的代理进程;其中,所述中心节点网络设备上部署的代理进程还用于根据所接收到的共享类列表文件,生成共享类归档标记文件,并下发所生成的共享类归档标记文件至各个子节点网络设备上部署的代理进程。
根据本申请实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述电子设备执行时,使得所述电子设备实现如上所述的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据处理方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令被处理器执行时实现如上所述的数据处理方法。
在本申请的实施例提供的技术方案中,一方面可以通过部署于网络设备上的代理进程启动后,加载配置文件以及生成含有采集参数的共享类采集标记文件,这样待执行任务的任务进程就可以读取共享类采集标记文件中含有的采集参数,并根据采集参数从加载的配置文件中采集类数据,从而实现了自动化采集类数据,其中,采集类数据的过程即为确定哪些类数据需要被归档的过程;另一方面可以通过部署于网络设备上的代理进程读取待执行任务采集到的类数据,并根据读取到的类数据生成共享类列表文件,进而根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件,这样待执行任务的任务进程就可以读取共享类归档标记文件中含有的使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据,从而实现了自动化创建共享类归档标记文件以及自动化使用共享类归档标记文件中含有的类数据,其中,生成共享类归档标记文件的过程即为创建共享类归档文件的过程,加载共享类归档标记文件中含有的类数据即为使用共享类归档文件标记文件中含有的类数据的过程。
也即,本申请的实施例提供的技术方案中,通过部署于网络设备上的代理进程来生成含有采集参数的共享类采集标记文件,以及生成含有使用参数和类数据的共享类归档标记文件,这样任务进程在真正运行之前,可以通过读取对应标记文件自动化完成类数据的采集或类数据的加载,实现了类数据共享以及应用程序类数据共享的自动化部署,避免了由运维相关工作人员加上对应的参数进行部署效率低,以及部署容易出错等问题,在极大程度上提升了部署效率以及部署准确率;并且,由于部署效率较高,因此,可以将类数据共享以及应用程序类数据共享技术应用于大规模生产环境中,易于类数据共享以及应用程序类数据共享技术的推广使用,同时为大规模生产环境带来更多的发展空间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是可以应用本申请实施例的技术方案的示例性系统架构的示意图;
图2是本申请的一示例性实施例示出的单机模式的示意图;
图3是本申请的一示例性实施例示出的集群模式的示意图;
图4是本申请的一示例性实施例示出的数据处理方法的流程图;
图5是本申请的一示例性实施例示出的数据处理方法的流程图;
图6是图5所示实施例中的步骤S501在一示例性实施例中的流程图;
图7是图5所示实施例中的步骤S501在一示例性实施例中的流程图;
图8是本申请的一示例性实施例示出的数据处理方法的流程图;
图9是本申请的一示例性实施例示出的数据处理方法的示意图;
图10是本申请的一示例性实施例示出的数据处理方法的流程图;
图11是本申请的一示例性实施例示出的数据处理方法的流程图;
图12是本申请的一示例性实施例示出的数据处理装置的框图;
图13是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相同的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相同的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是,在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在介绍本申请实施例的技术方案之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
Java虚拟机(Java Virtual Machine,JVM)是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的;Java虚拟机有自己完善的硬体架构,例如处理器、堆栈、寄存器等,还具有相应的指令系统。其中,Java虚拟机可以简单理解为翻译人员,其屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(即字节码),就可以在多种平台上不加修改地运行,因而Java语言具有跨平台性。可以理解的是,一个Java进程对应一个Java虚拟机,Java程序由Java虚拟机来执行。
类数据共享(Class Data sharing,CDS)指的是类数据被预处理放到共享类归档文件(shared archive)中,即安装程序从系统jar包文件中加载一系列类文件(也即类数据)到一个私有的内在表征中,并将此内在表征存入一个文件,该存入的文件称之为共享归档文件;在Java程序启动时,Java虚拟机将共享类归档文件加载/映射到内存中,优化了类数据的加载速度,节省了加载类数据的成本,从而节约了Java程序的启动时间。
应用程序类数据共享(Application Class-Data sharing,AppCDS)和类数据共享类似,区别在于应用程序类数据共享是将CDS技术扩展到应用程序使用的类数据中。其中,应用程序类数据共享对于较小的应用程序能够产生更好的效果,因为它消除了加载某些核心类的固定成本,应用程序相对于加载的核心类的数量越小,那么节省的启动时间产生的效果则越大。
在相关技术中,针对类数据共享以及应用程序类数据共享技术,正常部署流程分为三步:第一步,确定哪些类数据需要被归档,第二步,创建共享类归档文件,第三步,使用共享类归档文件。其中,针对每个任务而言,每一步部署都需要由运维相关工作人员加上对应的参数,部署效率较低,难以将类数据共享以及应用程序类数据共享技术应用于大规模生产环境中;并且,在第一次创建共享类归档文件时,每一步都需要重启,进一步降低了部署效率;同时,每一步部署都需要由运维相关工作人员加上对应的参数,对于运维相关工作人员而言工作量是相当大的,另外需要运维相关工作人员熟练掌握部署知识,对于运维相关工作人员的要求也较高。
基于此,本申请实施例提出了一种数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,提升了类数据共享以及应用程序类数据共享的部署效率,使得可以应用于大规模生产环境中,并且降低了运维相关工作人员的压力,节省了人力物力,同时也避免了人工部署容易出错的现象,提升了类数据共享以及应用程序类数据共享的部署准确率。
请参阅图1,图1是本申请的一种示例性系统架构的示意图;该系统架构中包括终端设备110和服务器120,终端设备110和服务器120之间通过有线或者无线网络进行通信。
其中,终端设备110可以是智能手机、平板、笔记本电脑、计算机、车载终端等电子设备,本发明对此不进行限制。
在本申请的一个实施例中,服务器120可以是基于Hadoop(海杜普)搭建的大数据处理中心。可以理解的是,Hadoop是一个分布式基础框架,其包括HDFS(Hadoop DistributeFile System),YARN(Yet Another Resource Negotiator),MapReduce三个主要部分,其中HDFS负责存储部分,YARN负责资源调度部分,MapReduce则负责计算部分。在计算节点中,每台物理机可以启动大量的任务进程来完成计算任务,可选地,每台物理机可以是单机模式下的网络设备,也可以是集群模式下的网络设备。
请参阅图2,为一种示例的单机模式下的网络设备,图2中仅示例出一个网络设备,在本申请的其它实施例中,可以根据实际需要设置任意数量的网络设备;其中,网络设备(即单机)上部署有代理进程Agent,其上同时有三种类型的任务,即MR(Map Reduce,映射缩减)类型任务(通过MR技术实现相应的任务,该任务称之为MR类型任务;其中,MR技术是用于大规模数据集的并行运算,其包括映射(Map)函数和缩减(Reduce)函数处理过程,Map函数用来处理一个基于键值对(key value pair)的数据集合,输出中间的基于键值对的数据集合,Reduce函数用来合并所有的具有相同中间key值的中间value值),Spark类型任务(通过Spark实现相应的任务,该任务称之为Spark类型任务;其中,Spark是加州大学伯克利分校AMP实验室(Algorithms,Machines,and PeopleLab)开发的通用内存并行计算框架,用于构建大型的、低延迟的数据分析应用程序,是一个开源集群运算框架,专为大规模数据处理而设计的快速通用的计算引擎,可用它来完成各种各样的运算,包括查询、文本处理、机器学习等,开发者需要按照spark特有的编程方式来接收数据、处理数据和输出数据,然后手动生成jar包提交到对应的spark集群,这样spark才会分配集群资源来运行这一次的任务),以及SQL(Structured Query Language,结构化查询语言)类型任务(通过SQL语句实现相应的任务,该任务称之为SQL类型任务;其中,SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统)待执行,因此对应有三种类型的任务工作目录,分别为MR任务工作目录,Spark任务工作目录,以及SQL任务工作目录,并且每种类型的任务工作目录下又细分为多个任务,如MR任务工作目录又细分为多个MR任务,Spark任务工作目录又细分为多个Spark任务,SQL任务工作目录又细分为多个SQL任务。可以理解的是,对于相同类型的任务,其对应的类路径存在部分一致性,因此,这种单机模式下AppCDS是可以发挥作用的。
其中,单机模式下的网络设备上的任务通常为短任务(也可以为长任务)相应地,网络设备上部署的任务进程为短任务对应的任务进程,网络设备上部署的代理进程可以采用定时启动模式,首先生成含有采集参数的共享类采集标记文件,这样待执行任务的任务进程就可以读取共享类采集标记文件中含有的采集参数,并根据该采集参数从配置文件中采集类数据;然后代理进程通过读取待执行任务采集到的类数据生成共享类列表文件,并根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件,这样待执行任务的任务进程就可以读取共享类归档标记文件中含有的使用参数,并根据该使用参数加载共享类归档标记文件中含有的类数据。
请参阅图3,为一种示例的集群模式下的网络设备;其中,中心节点网络设备(即中心节点)以及中心节点网络设备下的各个子节点网络设备(即单机)都部署有代理进程Agent,中心节点网络设备上部署的代理进程Agent用于管控各个子节点网络设备上部署的代理进程Agent。每个子节点网络设备上都有一种类型的任务待执行,如单机Agent1上有1类型任务待执行、单机Agent2上有2类型任务待执行,以及单机Agent3上有3类型任务待执行,分别对应有任务工作目录,单机Agent1对应任务工作目录1,单机Agent2对应任务工作目录2,单机Agent3对应任务工作目录3,并且每种类型的任务工作目录下又细分为多个任务,如任务工作目录1又细分为任务11-13,任务工作目录2又细分为任务21-23,任务工作目录3又细分为任务31-33。可以理解的是,对于相同类型的任务,其对应的类路径存在部分一致性,因此,这种集群模式下AppCDS是可以发挥作用的。
其中,集群模式下的网络设备上的任务通常为长任务(也可以为短任务),相应地,网络设备上部署的任务进程为长任务对应的任务进程,网络设备上部署的代理进程可以采用不定时启动模式,首先中心节点网络设备上部署的代理进程下发类数据采集指令至各个子节点网络设备上部署的代理进程,各个子节点网络设备上部署的代理进程根据类数据采集指令生成含有采集参数的共享类采集标记文件,这样各个子节点网络设备上待执行任务的任务进程就可以读取共享类采集标记文件中含有的采集参数,并根据该采集参数从配置文件中采集类数据;然后各个子节点网络设备上部署的代理进程通过读取待执行任务采集到的类数据生成共享类列表文件,并上报所生成的共享类列表文件至中心节点网络设备上部署的代理进程;中心节点网络设备上部署的代理进程根据所接收到的各个子节点网络设备的代理进程上报的共享类列表文件,分别生成含有使用参数和类数据的共享类归档标记文件,并下发所生成的共享类归档标记文件至对应的各个子节点网络设备上部署的代理进程,这样各个子节点网络设备上待执行任务的任务进程就可以读取共享类归档标记文件中含有的使用参数,并根据该使用参数加载共享类归档标记文件中含有的类数据。
需要说明的是,无论是单机模式还是集群模式,网络设备上部署的代理进程Agent都是根据相同类型任务来生成对应含有采集参数的共享类采集标记文件、共享类列表文件以及共享类归档标记文件。
其中,在图2所示的单机模式下,由于单机Agent上有三种类型的任务待执行,因此,单机Agent会针对每种类型的任务分别生成每种类型任务对应的共享类采集标记文件、共享类列表文件以及共享类归档标记文件;即会针对MR类型任务生成共享类采集标记文件、共享类列表文件以及共享类归档标记文件,则MR任务的任务进程是读取该对应的共享类采集标记文件以及共享类归档标记文件;相应地,会针对Spark类型任务生成共享类采集标记文件以及共享类归档标记文件,则Spark任务的任务进程是读取该对应的共享类采集标记文件以及共享类归档标记文件;相应地,会针对SQL类型任务生成共享类采集标记文件以及共享类归档标记文件,则SQL任务的任务进程是读取该对应的共享类采集标记文件以及共享类归档标记文件。
其中,在图3所示的集群模式下,由于中心节点Agent下对应三个单机Agent,在每个单机Agent上有一种类型的任务待执行,因此,中心节点Agent是针对每种类型的任务分别生成每种类型任务对应的共享类采集标记文件、共享类列表文件以及共享类归档标记文件;即会针对1类型任务生成共享类采集标记文件、共享类列表文件以及共享类归档标记文件,则1类型任务的任务进程是读取该对应的共享类采集标记文件以及共享类归档标记文件;相应地,会针对2类型任务生成共享类采集标记文件以及共享类归档标记文件,则2类型任务的任务进程是读取该对应的共享类采集标记文件以及共享类归档标记文件;相应地,会针对3类型任务生成共享类采集标记文件以及共享类归档标记文件,则3类型任务的任务进程是读取该对应的共享类采集标记文件以及共享类归档标记文件。
在本申请的一个实施例中,服务器120可以是云上Serverless(无服务器)中心。可以理解的是,云上无服务器计算是一种按需提供后端服务的方法;无服务器提供程序允许用户编写和部署代码,而不必担心底层基础结构,从无服务器供应商处获得后端服务的公司将根据其计算费用,而不必保留和支付固定数量的带宽或服务器数量,因为该服务是自动扩展的。其中,尽管称为无服务器,但仍需使用物理服务器,但相关开发人员无需了解它们。需要说明的是,云上Serverless中心,同样可以采用前述所介绍的单机模式或者集群模式,在单机模式或者集群模式下的网络设备上部署代理进程,由代理进程生成共享类采集标记文件、共享类列表文件以及共享类归档标记文件,进而待执行任务的任务进程读取共享类采集标记文件中含有的采集参数实现类数据的采集,以及读取共享类归档标记文件中含有的使用参数实现类数据的加载,具体请参见前述介绍,这里不再赘述。
在本申请的一个实施例中,服务器120可以是电商服务中心。可以理解的是,电商服务中心可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。需要说明的是,电商服务中心,同样可以采用前述所介绍的单机模式或者集群模式,在单机模式或者集群模式下的网络设备上部署代理进程,由代理进程生成共享类采集标记文件、共享类列表文件以及共享类归档标记文件,进而待执行任务的任务进程读取共享类采集标记文件中含有的采集参数实现类数据的采集,以及读取共享类归档标记文件中含有的使用参数实现类数据的加载,具体请参见前述介绍,这里不再赘述。
基于图1所示应用场景,在采用了本申请实施例的技术方案之后,通过代理进程生成含有采集参数的共享类采集标记文件,待执行任务的任务进程读取共享类采集标记文件中含有的采集参数实现类数据的采集,以及代理进程生成含有使用参数和类数据的共享类归档标记文件,待执行任务的任务进程读取共享类归档标记文件中含有的使用参数实现类数据的加载,实现了类数据共享以及应用程序类数据共享的自动部署,无需再由运维相关人员进行人工部署。一方面,提升了类数据共享以及应用程序类数据共享的部署效率,使得可以应用于大规模生产环境中,例如可以应用于大数据处理中心、云上无服务器中心以及电商服务中心等,实现逻辑简单;另一方面,降低了运维相关工作人员的压力,节省了人力物力,同时也避免了人工部署容易出错的现象,提升了类数据共享以及应用程序类数据共享的部署准确率。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
请参阅图4,图4是本申请的一个实施例示出的数据处理方法的流程图。
如图4所示,数据处理方法至少包括步骤S401至步骤S404,详细介绍如下:
步骤S401,部署于网络设备上的代理进程启动后,加载配置文件,配置文件中存储有待执行任务在执行时所需的类数据。
本申请实施例中,代理进程对应于代理服务,其中,代理服务是软件开发工程师所开发的一个用于生成含有采集参数的共享类采集标记文件,以及根据采集到的类数据先生成共享类列表文件,再根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件的服务,并在开发完成之后预先将其安装于网络设备中,可以理解的是,代理服务运行时称之为代理进程。
可选实施例中,代理服务可以是单独进行开发的,这样只需将其部署于网络设备中即可,不用对网络设备中的其他服务进行调整和修改,耦合性低,并且也方便后期的维护,可维护性强。
本申请实施例中,待执行任务指的是待执行的同一类型的任务,例如待执行任务可以为MR类型任务、Spark类型任务、SQL类型任务等。其中,待执行任务在执行时是运行对应的任务进程以实现待执行任务的执行,待执行任务的任务进程包括Java进程以及Java进程对应的Java虚拟机。
可选实施例中,类数据共享以及应用程序类数据共享的自动化部署过程,可以是由Java虚拟机执行。即后续所提及的待执行任务的任务进程读取采集参数,并根据采集参数从配置文件中采集类数据,具体可以是Java虚拟机读取采集参数,并根据采集参数从配置文件中采集类数据;以及后续所提及的待执行任务的任务进程读取使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据,具体可以是Java虚拟机读取使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据;以及后续所提及的待执行任务的任务进程读取增量采集参数,并根据增量采集参数从配置文件中采集新增加的类数据,具体可以是Java虚拟机读取增量采集参数,并根据增量采集参数从配置文件中采集新增加的类数据;以及后续所提及的待执行任务的任务进程读取时间戳信息,并在根据时间戳信息确定代理进程的存活时长小于预设时长阈值时读取采集参数,具体可以是Java虚拟机读取时间戳信息,并在根据时间戳信息确定代理进程的存活时长小于预设时长阈值时读取采集参数。
本申请实施例中,配置文件指的是记录有待执行任务所对应的工作(即工作目录)的文件,其中,待执行任务的工作目录下包含有类路径,在类路径下有对应的类数据;可以理解的是,类路径下对应的类数据即为待执行任务在执行时所需要的类数据。
可以理解的是,本申请实施例中部署于网络设备上的代理进程启动后,首先会加载配置文件,这样待执行任务的任务进程就可以根据共享类采集标记文件中含有的采集参数,从所加载的配置文件中采集类数据。需要说明的是,这里所提及的代理进程启动指的是在不存在共享类采集标记文件、不存在共享类列表文件以及不存在共享类归档标记文件的系统环境下进行的启动(即代理进程的首次启动),或者指的是在不存在新生成的共享类列表文件以及不存在共享类归档标记文件的系统环境下进行的启动(即代理进程的再次“首次”启动),此时需要加载配置文件,在其他系统环境下则无需加载配置文件。
在本申请的一个实施例中,请参阅图5,在步骤S401中加载配置文件的过程之前,数据处理方法还可以包括步骤S501至步骤S503,详细介绍如下:
步骤S501,代理进程启动后,读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化;
步骤S502,若待执行任务对应的类数据相关文件未发生变化,则检查是否存在共享类归档标记文件以及新生成的共享类列表文件;
步骤S503,若检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件,则执行加载配置文件的步骤。
也即,可选实施例中代理进程在生成含有采集参数的共享类采集标记文件之前,代理进程启动后首先会读取待执行任务对应的类数据相关文件,从而确定待执行任务对应的类数据相关文件是否发生变化;其中,如果代理进程读取待执行任务对应的类数据相关文件后确定待执行任务对应的类数据相关文件未发生变化,即表征此时没有加载配置文件的必要,如果代理进程读取待执行任务对应的类数据相关文件后确定待执行任务对应的类数据相关文件发生变化,即表征此时存在加载配置文件的必要。进一步地,代理进程需要再检查系统环境中当前是否存在共享类归档标记文件以及新生成的共享类列表文件,如果代理进程检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件,即代理进程检查到系统环境中当前同时不存在共享类归档标记文件以及新生成的共享类列表文件时,表征此时存在加载配置文件的必要。
这样,代理进程通过读取待执行任务对应的类数据相关文件,确定待执行任务对应的类数据相关文件未发生变化,以及进一步检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件时,才执行加载配置文件的步骤,使得在恰当的时机加载配置文件,避免了时刻加载配置文件所造成的不必要的资源开销,能够节省系统资源。
可选实施例中,如果代理进程读取待执行任务对应的类数据相关文件后确定待执行任务对应的类数据相关文件发生变化,此时需要删除指定路径下共享类归档标记文件的软连接、共享类列表文件以及共享类采集标记文件,并执行加载配置文件的步骤。
其中,可选实施例中软连接也称符号连接,其是一种类似于Windows的快捷方式,当创建一个软连接的时候,创建的是一个新文件,操作系统为软连接分配inode,该文件存在的意义是指向系统某处的另一个文件的快捷方式,与软连接对应的是硬连接。即共享类归档标记文件的软连接指的是软连接共享类归档标记文件,其是一个特殊的文件(即文本文件),该文件中包含的有另一文件(可以是共享类归档标记文件)的位置信息。
其中,可选实施例中代理进程确定待执行任务对应的类数据相关文件发生变化,所对应删除的指定路径下共享类归档标记文件的软连接、共享类列表文件以及共享类采集标记文件,指的是指定路径下已有的共享类归档标记文件的软连接、已有的共享类列表文件以及已有的共享类采集标记文件。可以理解的是,“已有的”指的是系统环境中当前所存在的,但是都是过去时刻所生成的,此和下述所提及的已有的相同。
这样,代理进程在确定待执行任务对应的类数据相关文件发生变化时,删除指定路径下共享类归档标记文件的软连接,不会影响共享类归档标记文件,即不会影响到使用该共享类归档标记文件中含有的类数据的任务,保证了任务的正常执行,而如果直接删除共享类归档标记文件,则会影响到使用该共享类归档标记文件中含有的类数据的任务,可能会使得任务的执行出错。同时,在确定待执行任务对应的类数据相关文件发生变化时,还需要删除共享类采集标记文件以及共享类列表文件,使得在待执行任务对应的类数据相关文件发生变化后,重新加载配置文件以生成最新的共享类采集标记文件以及最新的共享类列表文件。
可选实施例中,如果代理进程检查到存在新生成的共享类列表文件,则根据已有的共享类列表文件以及新生成的共享类列表文件,生成最新的共享类归档标记文件,并删除指定路径下共享类归档标记文件的软连接。
其中,可选实施例中当代理进程检查到系统环境中当前同时存在已有的共享类列表文件以及新生成的共享类列表文件时,那么此时代理进程需要根据已有的共享类列表文件和新生成的共享类列表文件,生成最新的共享类归档标记文件,即为根据新生成的共享类列表文件对已有的共享类列表文件进行更新,生成最新的共享类归档标记文件。
其中,可选实施例中代理进程检查到存在新生成的共享类列表文件,所对应删除的指定路径下共享类归档标记文件的软连接,指的是指定路径下已有的共享类归档标记文件的软连接。
这样,代理进程在检查到存在新生成的共享类列表文件时,只需要根据该新生成的共享类列表文件对已有的共享类列表文件进行更新,生成最新的共享类归档标记文件即可,而无需再通过加载配置文件以生成最新的共享类列表文件,提升了生成最新的共享类归档标记文件的速率。同时,代理进程在检查到存在新生成的共享类列表文件时,还需要删除指定路径下共享类归档标记文件的软连接,不会影响共享类归档标记文件,即不会影响到使用该共享类归档标记文件中含有的类数据的任务,保证了任务的正常执行。
可选实施例中,如果代理进程检查到存在共享类归档标记文件,则生成含有增量采集参数的增量共享类采集标记文件;其中,增量共享类采集标记文件用于使任务进程读取增量采集参数,并根据增量采集参数从配置文件中采集新增加的类数据。
其中,可选实施例中当代理进程检查到系统环境中当前存在共享类归档标记文件时,那么此时代理进程可以生成含有增量采集参数的增量共享类采集标记文件;其中增量共享类采集标记文件含有增量采集参数,并且该增量共享类采集标记文件是用于使任务进程读取增量采集参数,以及根据该读取到的增量采集参数从配置文件中采集新增加的类数据,以得到新增加的类数据。
其中,可选实施例中生成含有增量采集参数的增量共享类采集标记文件,可以是代理进程接收到携带有增量采集参数的指令进而生成的含有增量采集参数的增量共享类采集标记文件,其中携带有增量采集参数的指令是运维相关工作人员根据具体应用场景需求进行下发。
这样,代理进程在检查到存在新生成的共享类列表文件时,可以生成含有增量采集参数的增量共享类采集标记文件,这样待执行任务的任务进程就可以读取增量共享类采集标记文件中含有的增量采集参数,并根据增量采集参数从配置文件(为更新后的配置文件)中采集新增加的类数据,以得到新增加的类数据,进而代理进程可以读取待执行任务采集到的新增加的类数据,并根据读取到的新增加的类数据生成新的共享类列表文件(即得到新生成的共享类列表文件),再根据该新生成的共享类列表文件对已有的共享类列表文件进行更新,生成最新的共享类归档标记文件,并可以更新最新的共享类归档标记文件的标识如标识号等,而无需再通过加载配置文件以生成最新的共享类列表文件,提升了生成最新的共享类归档标记文件的速率。
在本申请的一个实施例中,请参阅图6,类数据相关文件包括配置文件;步骤S501中读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化的过程,可以包括步骤S601至步骤S603,详细介绍如下:
步骤S601,读取配置文件中含有的类路径;
步骤S602,若配置文件中含有的类路径发生变化,则确定待执行任务对应的类数据相关文件发生变化;
步骤S603,若配置文件中含有的类路径未发生变化,则确定待执行任务对应的类数据相关文件未发生变化。
可选实施例中,由于配置文件中含有类路径,所以配置文件属于一种类数据相关文件,因此,代理进程可以通过读取配置文件中含有的类路径来确定待执行任务对应的类数据相关文件是否发生变化,具体可以是读取配置文件中含有的类路径;其中,如果代理进程读取到配置文件中含有的类路径发生变化,则此时可以确定待执行任务对应的类数据相关文件发生了变化,如果代理进程读取到配置文件中含有的类路径未发生变化,则此时可以确定待执行任务对应的类数据相关文件未发生变化。
举例说明,设配置文件中含有的原始类路径为A,如果代理进程读取到配置文件中含有的类路径由A变化为B,则此时可以确定待执行任务对应的类数据相关文件发生了变化,如果代理进程读取到配置文件中含有的类路径为A,则此时可以确定待执行任务对应的类数据相关文件未发生变化。
这样,由于配置文件是一种易于获取到的类数据相关文件,因此,使得代理进程可以通过读取配置文件中含有的类路径简单便捷地确定出待执行任务对应的类数据相关文件是否发生变化,提升了代理进程确定待执行任务对应的类数据相关文件是否发生变化的效率。
在本申请的一个实施例中,请参阅图7,类数据相关文件包括错误日志文件,其中,错误日志文件用于记录类路径所发生的变化;步骤S501中读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化的过程,可以包括步骤S701至步骤S703,详细介绍如下:
步骤S701,读取错误日志文件中含有的类路径;
步骤S702,若记录类路径发生变化的错误日志文件的数量大于预设数量阈值,则确定待执行任务对应的类数据相关文件发生变化;
步骤S703,若记录类路径发生变化的错误日志文件的数量小于或等于预设数量阈值,则确定待执行任务对应的类数据相关文件未发生变化。
可选实施例中,由于错误日志文件中会记录类路径所发生的变化,所以错误日志文件属于一种类数据相关文件,因此,代理进程可以通过读取到的记录类路径发生变化的错误日志文件的数量来确定待执行任务对应的类数据相关文件是否发生变化,具体可以是读取错误日志文件中含有的类路径;其中,如果代理进程读取到的记录类路径发生变化的错误日志文件的数量大于预设数量阈值,则此时可以确定待执行任务对应的类数据相关文件发生了变化,如果代理进程读取到记录类路径发生变化的错误日志文件的数量小于或等于预设数量阈值,则此时可以确定待执行任务对应的类数据相关文件未发生变化。
举例说明,设预设数量阈值为10,如果代理进程读取到的记录类路径发生变化的错误日志文件的数量大于10,则此时可以确定待执行任务对应的类数据相关文件发生了变化,如果代理进程读取到的记录类路径发生变化的错误日志文件的数量小于或等于10,则此时可以确定待执行任务对应的类数据相关文件未发生变化。其中,在实际应用中,预设数量阈值可以根据具体应用场景进行灵活调整。
这样,由于错误日志文件是一种易于获取到的类数据相关文件,因此,使得代理进程可以通过读取到的记录类路径发生变化的错误日志文件的数量简单便捷地确定出待执行任务对应的类数据相关文件是否发生变化,提升了代理进程确定待执行任务对应的类数据相关文件是否发生变化的效率。
需要说明的是,前述介绍了两种确定待执行任务对应的类数据相关文件是否发生变化的方式,该两种方式可以相互结合执行,也可以单独执行。
可选实施例中,在结合执行时,可以是其中一种条件满足时,确定待执行任务对应的类数据相关文件发生变化;例如在配置文件中含有的类路径发生变化,而记录类路径发生变化的错误日志文件的数量小于或等于预设数量阈值时,确定待执行任务对应的类数据相关文件发生变化,或者在记录类路径发生变化的错误日志文件的数量大于预设数量阈值,而配置文件中含有的类路径未发生变化时,确定待执行任务对应的类数据相关文件发生变化。
可选实施例中,在结合执行时,也可以是两种条件均满足时,确定待执行任务对应的类数据相关文件发生变化;例如只有在配置文件中含有的类路径发生变化,并且记录类路径发生变化的错误日志文件的数量大于预设数量阈值时,确定待执行任务对应的类数据相关文件发生变化。
可选实施例中,在代理进程首次启动时,生成代理进程存活标记文件;其中,代理进程存活标记文件中含有代理进程首次启动时的时间戳信息,代理进程存活标记文件用于使任务进程读取时间戳信息,并在根据时间戳信息确定代理进程的存活时长小于预设时长阈值时,执行读取采集参数的步骤。
其中,代理进程存活标记文件中含有代理进程首次启动时的时间戳信息,并且该代理进程存活标记文件是用于使任务进程读取时间戳信息,以及根据时间戳信息确定代理进程的存活时长,并将代理进程的存活时长与预设时长阈值进行比较;其中,如果代理进程的存活时长小于预设时长阈值,则待执行任务的任务进程可以读取采集参数,如果代理进程的存活时长大于或等于预设时长阈值,则待执行任务的任务进程无需读取采集参数。可以理解的是,代理进程存活标记文件中所含有的代理进程首次启动时的时间戳信息指的是代理进程真正意义上的首次启动,而非前述所提及的再次首次启动。
举例说明,设代理进程存活标记文件中含有代理进程首次启动时的时间戳信息为2021-9-01,当前时刻为2021-9-28,那么可以确定代理进程的存活时长为28天,同时设预设时长阈值为30天,则代理进程的存活时长28天小于预设时长阈值30天,此时待执行任务的任务进程可以读取采集参数;相应地,设代理进程存活标记文件中含有代理进程首次启动时的时间戳信息为2021-9-01,当前时刻为2021-10-01,那么可以确定代理进程的存活时长为31天,同时设预设时长阈值为30天,则代理进程的存活时长31天大于预设时长阈值31天,此时待执行任务的任务进程无需读取采集参数。其中,在实际应用中,预设时长阈值可以根据具体应用场景进行灵活调整。
这样,通过生成含有代理进程首次启动时的时间戳信息的代理进程存活标记文件可以简单便捷地确定出代理进程的存活时长;并且只有代理进程在指定存活时长内时,待执行任务的任务进程才读取采集参数,即提供了一种容错机制,对于代理进程未在指定存活时长内,确定其为较老的代理进程,不再读取其生成的相关标记文件。
步骤S402,生成含有采集参数的共享类采集标记文件;其中,共享类采集标记文件用于使待执行任务的任务进程读取采集参数,并根据采集参数从配置文件中采集类数据。
本申请实施例中,部署于网络设备上的代理进程启动加载配置文件之后,可以生成含有采集参数的共享类采集标记文件,这样待执行任务的任务进程就可以读取共享类采集标记文件中含有的采集参数,并根据该读取到的采集参数从配置文件中采集类数据,以得到类数据。
可选实施例中,生成含有采集参数的共享类采集标记文件,可以是代理进程接收到携带有采集参数的指令进而生成的含有采集参数的共享类采集标记文件,其中携带有采集参数的指令是运维相关工作人员根据具体应用场景需求进行下发。
步骤S403,读取待执行任务采集到的类数据。
本申请实施例中,代理进程生成含有采集参数的共享类采集标记文件之后,可以读取待执行任务采集到的类数据。
步骤S404,根据读取到的类数据生成共享类列表文件,并根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件;其中,共享类归档标记文件用于使任务进程读取使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据。
本申请实施例中,代理进程读取待执行任务采集到的类数据之后,可以根据读取到的类数据生成共享类列表文件,并根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件,这样待执行任务的任务进程就可以读取共享类归档标记文件中含有的使用参数,并根据该读取到的使用参数加载共享类归档标记文件中含有的类数据。
可选实施例中,根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件,可以是代理进程接收到生成共享类归档标记文件的指令进而生成的含有使用参数和类数据的共享类归档标记文件,其中生成共享类归档标记文件的指令是运维相关工作人员根据具体应用场景需求进行下发。
可选实施例中,如果任务进程根据使用参数将共享类归档标记文件中含有的类数据成功加载至内存中,则运行待执行任务的任务进程,即运行任务进程所包括的Java进程;这样,由于待执行任务在执行时所需的类数据已经成功加载至内存中,因此,待执行任务的任务进程如Java进程在运行时,可以直接使用加载至内存中的类数据,提升了运行速率。
可选实施例中,如果任务进程根据使用参数未将共享类归档标记文件中含有的类数据成功加载至内存中,则输出失败信息;这样,在未成功将待执行任务在执行时所需的类数据加载至内存中时,输出对应的失败信息,可以让运维相关工作人员根据该所输出的失败信息确定未成功将待执行任务在执行时所需的类数据加载至内存中,并且失败信息中可以含有失败原因,从而方便运维相关工作人员根据失败原因进行调整、修改等。
本申请实施例中通过部署于网络设备上的代理进程来生成含有采集参数的共享类采集标记文件,以及生成含有使用参数和类数据的共享类归档标记文件,这样任务进程在真正运行之前,可以通过读取对应标记文件自动化完成类数据的采集或类数据的加载,实现了类数据共享以及应用程序类数据共享的自动化部署,避免了由运维相关工作人员加上对应的参数进行部署效率低,以及部署容易出错等问题,在极大程度上提升了部署效率以及部署准确率;并且,由于部署效率较高,因此,可以将类数据共享以及应用程序类数据共享技术应用于大规模生产环境中,易于类数据共享以及应用程序类数据共享技术的推广使用,同时为大规模生产环境带来更多的发展空间。
以下对本申请实施例的一个具体应用场景进行详细说明:
在本申请实施例中,以图2所示的在单机模式下的网络设备上部署代理进程Agent,以及以单机模式下的网络设备上存在MR类型任务(包括多个MR任务)为示例进行说明。
请参阅图8,为一种示例性的数据处理方法的流程图,并同时请参阅图9,为一种示例性的数据处理方法的示意图;数据处理方法可以包括以下步骤,详细介绍如下:
步骤S801,在部署于网络设备上的代理进程首次启动时,生成代理进程存活标记文件;其中,代理进程存活标记文件中含有代理进程首次启动时的时间戳信息,代理进程存活标记文件用于使任务进程读取时间戳信息,并在根据时间戳信息确定代理进程的存活时长小于预设时长阈值时读取采集参数。
可选地,MR任务的Java进程对应的Java虚拟机读取代理进程存活标记文件中含有的时间戳信息,并在根据时间戳信息确定代理进程的存活时长小于预设时长阈值时读取共享类采集标记文件中含有的采集参数。
这样,通过生成含有代理进程首次启动时的时间戳信息的代理进程存活标记文件可以简单便捷地确定出代理进程的存活时长,并且只有代理进程在指定存活时长内时,待执行任务的任务进程如Java进程对应的Java虚拟机才读取共享类采集标记文件中含有的采集参数,为一种容错机制,对于代理进程未在指定存活时长内,确定其为较老的代理进程,不再读取共享类采集标记文件中含有的采集参数。
可选地,步骤S801的具体实施过程可以参照前述实施例的技术方案。
步骤S802,代理进程启动后,读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化。
其中,代理进程读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化,具体可以是读取配置文件中含有的类路径,若配置文件中含有的类路径发生变化,则确定待执行任务对应的类数据相关文件发生变化,若配置文件中含有的类路径未发生变化,则确定待执行任务对应的类数据相关文件未发生变化。可选地,代理进程启动后,读取MR任务对应的配置文件,以确定MR任务对应的配置文件是否发生变化;其中,代理进程所读取的配置文件可以是如图9所示的任务配置文件。
其中,代理进程读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化,具体可以是读取错误日志文件中含有的类路径,若记录类路径发生变化的错误日志文件的数量大于预设数量阈值,则确定待执行任务对应的类数据相关文件发生变化,若记录类路径发生变化的错误日志文件的数量小于或等于预设数量阈值,则确定待执行任务对应的类数据相关文件未发生变化。可选地,代理进程启动后,读取MR任务对应的错误日志文件,以确定MR任务对应的错误日志文件是否发生变化;其中,代理进程所读取的错误日志文件可以是如图9所示的单任务错误日志文件。
可选地,步骤S802的具体实施过程可以参照前述实施例的技术方案。
步骤S803,若待执行任务对应的类数据相关文件未发生变化,则代理进程检查是否存在共享类归档标记文件以及新生成的共享类列表文件。
可选地,如果代理进程读取MR任务对应的类数据相关文件后确定待执行任务对应的类数据相关文件未发生变化,即表征此时没有加载配置文件的必要。
可选地,步骤S803的具体实施过程可以参照前述实施例的技术方案。
步骤S804,若代理进程检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件,则加载配置文件,配置文件中存储有待执行任务在执行时所需的类数据。
其中,代理进程确定待执行任务对应的类数据相关文件未发生变化之后,需要再检查系统环境中当前是否存在共享类归档标记文件以及新生成的共享类列表文件,如果检查到系统环境中当前同时不存在共享类归档标记文件以及新生成的共享类列表文件时,即表征此时存在加载配置文件的必要。
可选地,代理进程加载MR任务对应的配置文件,MR任务对应的配置文件中存储有MR任务在执行时所需的类数据;其中,代理进程所加载的配置文件可以是如图9所示的任务配置文件。
可选地,步骤S804的具体实施过程可以参照前述实施例的技术方案。
步骤S805,代理进程生成含有采集参数的共享类采集标记文件;其中,共享类采集标记文件用于使待执行任务的任务进程读取采集参数,并根据采集参数从配置文件中采集类数据。
可选地,代理进程生成含有采集参数的共享类采集标记文件,这样各个MR任务的Java进程对应的Java虚拟机就可以分别读取共享类采集标记文件中含有的采集参数,并根据该读取到的采集参数从配置文件中采集类数据,以得到类数据。
可选地,步骤S805的具体实施过程可以参照前述实施例的技术方案。
步骤S806,代理进程读取待执行任务采集到的类数据,并根据读取到的类数据生成共享类列表文件。
可选地,代理进程可以读取各个MR任务采集到的类数据,并根据读取到的类数据生成共享类列表文件;其中,代理进程根据读取到的类数据生成共享类列表文件可以是如图9所示的单任务共享类列表文件。
可选地,步骤S806的具体实施过程可以参照前述实施例的技术方案。
步骤S807,代理进程根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件;其中,共享类归档标记文件用于使任务进程读取使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据。
可选地,代理进程读取共享类列表文件,并根据读取到的共享类列表文件生成含有使用参数和类数据的共享类归档标记文件,这样各个MR任务的Java进程对应的Java虚拟机就可以读取共享类归档标记文件中含有的使用参数,并根据该读取到的使用参数加载共享类归档标记文件中含有的类数据。
可选地,步骤S807的具体实施过程可以参照前述实施例的技术方案。
步骤S808,若任务进程根据使用参数将共享类归档标记文件中含有的类数据成功加载至内存中,则运行待执行任务的任务进程。
可选地,如果MR任务的Java进程对应的Java虚拟机,根据使用参数将共享类归档标记文件中含有的类数据成功加载至内存中,则运行MR任务的Java进程,从而提升了MR任务的Java进程的运行速率。
可选地,步骤S808的具体实施过程可以参照前述实施例的技术方案。
步骤S809,若任务进程根据使用参数未将共享类归档标记文件中含有的类数据成功加载至内存中,则输出失败信息。
可选地,如果MR任务的Java进程对应的Java虚拟机,根据使用参数未将共享类归档标记文件中含有的类数据成功加载至内存中,则输出失败信息,从而便于运维相关工作人员根据失败信息进行调整、修改等。
可选地,步骤S809的具体实施过程可以参照前述实施例的技术方案。
本申请实施例中实现了类数据共享以及应用程序类数据共享的自动部署,无需再由运维相关人员进行人工部署;一方面,提升了类数据共享以及应用程序类数据共享的部署效率,使得可以应用于大规模生产环境中,为大规模生产环境带来更多的发展空间;另一方面,降低了运维相关工作人员的压力,节省了人力物力,同时也避免了人工部署容易出错的现象,提升了类数据共享以及应用程序类数据共享的部署准确率。
以下对本申请实施例的另一个具体应用场景进行详细说明:
在本申请实施例中,以在单机模式下的网络设备上部署代理进程Agent,以及单机模式下的网络设备上存在待执行任务为示例进行说明:
首先介绍代理进程一侧,请参阅图10,为一种示例性的数据处理方法的流程图;数据处理方法可以包括以下步骤,详细介绍如下:
步骤S1001,部署在网络设备上的代理进程定时启动。
可选地,如果是在集群模式下的中心节点网络设备以及中心节点网络设备下的各个子节点网络设备上部署代理进程Agent,以及各个子节点网络设备上存在待执行任务为示例进行说明时,代理进程Agent可以是在接收到启动指令时启动。
可选地,步骤S1001的具体实施过程可以参照前述实施例的技术方案。
步骤S1002,判断代理进程是否是首次启动;若是,则执行步骤S1003,若否,则执行步骤S1004。
其中,如果代理进程是首次启动,则当前系统环境中不存在共享类采集标记文件、不存在共享类列表文件以及不存在共享类归档标记文件,如果代理进程不是首次启动,则当前系统环境中存在共享类采集标记文件、存在共享类列表文件以及存在共享类归档标记文件(删除的情况除外)。
可选地,步骤S1002的具体实施过程可以参照前述实施例的技术方案。
步骤S1003,代理进程加载配置文件,生成含有采集参数的共享类采集标记文件,以及根据读取到的类数据生成共享类列表文件,并根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件。
其中,共享类采集标记文件是用于使待执行任务的任务进程读取采集参数,并根据采集参数从配置文件中采集类数据;共享类归档标记文件是用于使任务进程读取使用参数,并根据使用参数加载共享类归档标记文件中含有的类数据。
可选地,步骤S1003的具体实施过程可以参照前述实施例的技术方案。
步骤S1004,代理进程读取待执行任务对应的类数据相关文件,并判断待执行任务对应的类数据相关文件是否发生变化;若是,则执行步骤S1005,若否,则执行步骤S1006。
其中,类数据相关文件包括用于存储有待执行任务在执行时所需的类数据的配置文件以及用于记录类路径所发生的变化的错误日志文件。
可选地,代理进程读取配置文件中含有的类路径Class path,对其进行一致性检查,可以是检查类路径Class path下jar包的大小,时间戳信息等,如果检查到配置文件中含有的类路径Class path发生变化,则确定待执行任务对应的类数据相关文件发生变化。
可选地,代理进程读取错误日志文件中含有的类路径,此属于运行进程Classpath变化检查,可以是检查错误日志文件的数量是否大于预设数量阈值,例如错误日志文件是否大于代理进程运行周期内总任务所对应的日志文件0.5%,如果检查到错误日志文件的数量大于预设数量阈值,则确定待执行任务对应的类数据相关文件发生变化。
可选地,步骤S1004的具体实施过程可以参照前述实施例的技术方案。
步骤S1005,代理进程删除指定路径下共享类归档标记文件的软连接、共享类列表文件以及共享类采集标记文件,并更新配置文件。
其中,代理进程在确定待执行任务对应的类数据相关文件发生变化时,删除指定路径下共享类归档标记文件的软连接,不会影响到使用该共享类归档标记文件中含有的类数据的任务,保证了任务的正常执行;同时删除共享类采集标记文件以及共享类列表文件,使得在待执行任务对应的类数据相关文件发生变化后,重新加载更新后的配置文件以生成最新的共享类采集标记文件以及最新的共享类列表文件。
可选地,步骤S1005的具体实施过程可以参照前述实施例的技术方案。
步骤S1006,代理进程检查是否存在新生成的共享类列表文件;若是,则执行步骤S1007,若否,则执行步骤S1008。
其中,代理进程确定待执行任务对应的类数据相关文件未发生变化时,再进一步检查系统环境中是否存在新生成的共享类列表文件。
可选地,步骤S1006的具体实施过程可以参照前述实施例的技术方案。
步骤S1007,代理进程根据已有的共享类列表文件以及新生成的共享类列表文件,生成最新的共享类归档标记文件,并删除指定路径下共享类归档标记文件的软连接。
其中,如果代理进程检查到系统环境中当前同时存在已有的共享类列表文件以及新生成的共享类列表文件时,那么此时代理进程可以根据新生成的共享类列表文件对已有的共享类列表文件进行更新,生成最新的共享类归档标记文件;同时删除指定路径下共享类归档标记文件的软连接,不会影响到使用该共享类归档标记文件中含有的类数据的任务,保证了任务的正常执行,并且生成在指定路径下的当前最新的共享类归档标记文件的软连接,或者也可以是用当前最新的共享类归档标记文件的软连接替换已有的共享类归档标记文件的软连接。
可选地,步骤S1007的具体实施过程可以参照前述实施例的技术方案。
步骤S1008,代理进程检查是否存在共享类归档标记文件;若是,则执行步骤S1009,若否,则执行步骤S1010。
其中,如果代理进程检查到系统环境中存在新生成的共享类列表文件时,再进一步检查系统环境中是否存在共享类归档标记文件。
可选地,步骤S1008的具体实施过程可以参照前述实施例的技术方案。
步骤S1009,代理进程更新共享类归档标记文件的标识号。
其中,如果代理进程检查到系统环境中存在共享类归档标记文件时,那么该共享类归档标记文件可能是没有发生变化的,或者可能是发生变化后新生成的,则此时需要更新共享类归档标记文件的标识号。可以理解的是,共享类归档标记文件的标识号是唯一的。
可选地,步骤S1009的具体实施过程可以参照前述实施例的技术方案。
步骤S1010,代理进程判断是否需要增量共享类采集标记文件;若是,则执行步骤S1011,若否,则执行步骤S1012。
其中,增量共享类采集标记文件是用于使任务进程读取增量采集参数,并根据增量采集参数从更新后的配置文件中采集新增加的类数据。
可选地,步骤S1010的具体实施过程可以参照前述实施例的技术方案。
步骤S1011,代理进程生成含有增量采集参数的增量共享类采集标记文件。
其中,如果代理进程判断需要增量共享类采集标记文件时,则此时生成含有增量采集参数的增量共享类采集标记文件。
可选地,步骤S1011的具体实施过程可以参照前述实施例的技术方案。
步骤S1012,代理进程更新增量共享类采集标记文件的状态。
其中,如果代理进程判断系统环境中不需要增量共享类采集标记文件时,则此时更新增量共享类采集标记文件的状态,具体地,在需要增量共享类采集标记文件更新增量共享类采集标记文件的状态为开启,在不需要增量共享类采集标记文件保持增量共享类采集标记文件的状态即可。
可选地,步骤S1012的具体实施过程可以参照前述实施例的技术方案。
然后介绍待执行任务一侧,请参阅图11,为一种示例性的数据处理方法的流程图;数据处理方法可以包括以下步骤,详细介绍如下:
步骤S1101,待执行任务的Java进程启动。
可选地,待执行任务的Java进程启动可以是接收到启动指令,例如通过新增参数开启-XX:WorkDirForAppCDS=<path>进程所属的工作目录。
可选地,待执行任务的Java进程可以是任意待执行任务的Java进程,例如可以是MR类型任务或者Spark类型任务或者SQL类型任务的Java进程等。
步骤S1102,Java进程对应的Java虚拟机检查是否存在工作目录;若否,则执行步骤S1103,若是,则执行步骤S1104。
其中,工作目录(也为指定路径)下用于存储代理进程所生成的各种标记文件,如共享类采集标记文件、共享类归档标记文件以及代理进程存活标记文件等。
步骤S1103,Java进程对应的Java虚拟机输出不存在工作目录的消息,并跳转至步骤S1112。
其中,如果Java进程对应的Java虚拟机检查到不存在工作目录,即不存在代理进程所生成的各种标记文件,此时直接输出不存在工作目录的消息即可。
步骤S1104,Java进程对应的Java虚拟机检查是否存在共享类归档标记文件;若是,则执行步骤S1105,若否,则执行步骤S1106。
其中,如果Java进程对应的Java虚拟机检查到存在工作目录,再进一步检查是否该工作目录下是否存在共享类归档标记文件。
步骤S1105,Java进程对应的Java虚拟机读取共享类归档标记文件中含有的使用参数。
其中,如果Java进程对应的Java虚拟机检查到工作目录下存在共享类归档标记文件,则读取共享类归档标记文件中含有的使用参数。
步骤S1106,Java进程对应的Java虚拟机检查是否存在增量共享类采集标记文件;若是,则执行步骤S1107,若否,则执行步骤S1108。
其中,在Java进程对应的Java虚拟机检查到该工作目录下不存在共享类归档标记文件,再进一步检查是否存在增量共享类采集标记文件。
步骤S1107,Java进程对应的Java虚拟机读取增量共享类采集标记文件中含有的增量采集参数,并根据增量采集参数从配置文件中采集新增加的类数据。
其中,如果Java进程对应的Java虚拟机检查到存在增量共享类采集标记文件,则读取增量共享类采集标记文件中含有的增量采集参数,并根据增量采集参数从配置文件中采集新增加的类数据。
步骤S1108,Java进程对应的Java虚拟机对使用参数进行预处理。
其中,Java进程对应的Java虚拟机可以先对使用参数进行预处理,以便于后续根据预处理后的使用参数加载共享类归档标记文件中含有的类数据。
步骤S1109,Java进程对应的Java虚拟机根据预处理后的使用参数加载共享类归档标记文件中含有的类数据。
其中,Java进程对应的Java虚拟机对使用参数进行预处理之后,就可以根据预处理后的使用参数加载共享类归档标记文件中含有的类数据。
步骤S1110,Java进程对应的Java虚拟机判断是否成功加载共享类归档标记文件中含有的类数据;若否,则执行步骤S1111,若是,则执行步骤S1112。
其中,Java进程对应的Java虚拟机根据预处理后的使用参数加载共享类归档标记文件中含有的类数据之后,需要进一步判断是否成功加载共享类归档标记文件中含有的类数据。
步骤S1111,Java进程对应的Java虚拟机输出失败信息。
其中,如果Java进程对应的Java虚拟机未成功加载共享类归档标记文件中含有的类数据至内存中,则此时需要输出失败信息,以便于运维相关工作人员根据失败信息进行调整、修改等;可选地,Java进程对应的Java虚拟机还可以输出运行相关数据、参数等。
步骤S1112,运行Java进程。
其中,如果Java进程对应的Java虚拟机成功加载共享类归档标记文件中含有的类数据至内存中,此时直接运行Java进程即可。
本申请实施例中,部署于网络设备上的代理进程与待执行任务进行交互,通过代理进程生成含有采集参数的共享类采集标记文件,以及生成含有使用参数和类数据的共享类归档标记文件,这样任务进程在真正运行之前,就读取对应标记文件自动化完成类数据的采集或类数据的加载,实现了类数据共享以及应用程序类数据共享的自动化部署,部署效率以及部署准确率均较高,并且可以将类数据共享以及应用程序类数据共享技术应用于大规模生产环境中,易于类数据共享以及应用程序类数据共享技术的推广使用,同时为大规模生产环境带来更多的发展空间。
图12是本申请的一个实施例示出的数据处理装置的框图。如图12所示,该数据处理装置包括:
加载模块1201,配置为部署于网络设备上的代理进程启动后,加载配置文件,配置文件中存储有待执行任务在执行时所需的类数据;
第一生成模块1202,配置为生成含有采集参数的共享类采集标记文件;其中,共享类采集标记文件用于使待执行任务的任务进程读取共享类采集标记文件中含有的采集参数,并根据采集参数从配置文件中采集类数据,配置文件中存储有待执行任务执行所需的类数据;
读取模块1203,配置为代理进程读取待执行任务采集到的类数据;
第二生成模块1204,配置为根据读取到的类数据生成共享类列表文件,并根据共享类列表文件生成含有使用参数和类数据的共享类归档标记文件;其中,共享类归档标记文件用于使待执行任务的任务进程读取共享类归档标记文件中含有的使用参数和类数据,并根据使用参数加载共享类归档标记文件中含有的类数据。
本申请实施例中通过部署于网络设备上的代理进程来生成含有采集参数的共享类采集标记文件,以及生成含有使用参数和类数据的共享类归档标记文件,这样任务进程在真正运行之前,可以通过读取对应标记文件自动化完成类数据的采集或类数据的加载,实现了类数据共享以及应用程序类数据共享的自动化部署,避免了由运维相关工作人员加上对应的参数进行部署效率低,以及部署容易出错等问题,在极大程度上提升了部署效率以及部署准确率;并且,由于部署效率较高,因此,可以将类数据共享以及应用程序类数据共享技术应用于大规模生产环境中,易于类数据共享以及应用程序类数据共享技术的推广使用,同时为大规模生产环境带来更多的发展空间。
在本申请的一个实施例中,数据处理装置还包括:
确定模块,配置为代理进程启动后,读取待执行任务对应的类数据相关文件,以确定待执行任务对应的类数据相关文件是否发生变化;
检查模块,配置为若待执行任务对应的类数据相关文件未发生变化,则检查是否存在共享类归档标记文件以及新生成的共享类列表文件;
执行模块,配置为若检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件,则执行加载配置文件的步骤。
在本申请的一个实施例中,数据处理装置还包括:
删除模块,配置为若待执行任务对应的类数据相关文件发生变化,则删除指定路径下共享类归档标记文件的软连接、共享类列表文件以及共享类采集标记文件,以及执行模块,配置为执行加载配置文件的步骤。
在本申请的一个实施例中,确定模块包括:
第一读取单元,配置为读取配置文件中含有的类路径;
第一确定单元,配置为若配置文件中含有的类路径发生变化,则确定待执行任务对应的类数据相关文件发生变化;
第一确定单元,还配置为若配置文件中含有的类路径未发生变化,则确定待执行任务对应的类数据相关文件未发生变化。
在本申请的一个实施例中,确定模块还包括:
第二读取单元,配置为读取错误日志文件中含有的类路径;
第二确定单元,配置为若记录类路径发生变化的错误日志文件的数量大于预设数量阈值,则确定待执行任务对应的类数据相关文件发生变化;
第二确定单元,还配置为若记录类路径发生变化的错误日志文件的数量小于或等于预设数量阈值,则确定待执行任务对应的类数据相关文件未发生变化。
在本申请的一个实施例中,数据处理装置还包括:
第三生成模块,配置为若检查到存在新生成的共享类列表文件,则根据已有的共享类列表文件以及新生成的共享类列表文件,生成最新的共享类归档标记文件,以及删除模块,还配置为删除指定路径下共享类归档标记文件的软连接。
在本申请的一个实施例中,数据处理装置还包括:
第四生成模块,配置为若检查到存在共享类归档标记文件,则生成含有增量采集参数的增量共享类采集标记文件;其中,增量共享类采集标记文件用于使任务进程读取增量采集参数,并根据增量采集参数从配置文件中采集新增加的类数据。
在本申请的一个实施例中,数据处理装置还包括:
第五生成模块,配置为在代理进程首次启动时,生成代理进程存活标记文件;其中,代理进程存活标记文件中含有代理进程首次启动时的时间戳信息,代理进程存活标记文件用于使任务进程读取时间戳信息,以及执行模块,还配置为在根据时间戳信息确定代理进程的存活时长小于预设时长阈值时,执行读取采集参数的步骤。
在本申请的一个实施例中,数据处理装置还包括:
运行模块,还配置为若任务进程根据使用参数将共享类归档标记文件中含有的类数据成功加载至内存中,则运行待执行任务的任务进程;
输出模块,配置为若任务进程根据使用参数未将共享类归档标记文件中含有的类数据成功加载至内存中,则输出失败信息。
在本申请的一个实施例中,网络设备包括单机模式下的网络设备;其中,代理进程和任务进程部署在单机模式下的网络设备上,任务进程包括短任务的任务进程。
在本申请的一个实施例中,网络设备包括集群模式下的中心节点网络设备以及中心节点网络设备下的各个子节点网络设备;其中,代理进程分别部署在中心节点网络设备以及各个子节点网络设备上,任务进程部署在各个子节点网络设备上,任务进程包括长任务的任务进程;
其中,中心节点网络设备上部署的代理进程用于下发类数据采集指令至各个子节点网络设备上部署的代理进程,各个子节点网络设备上部署的代理进程用于根据类数据采集指令生成共享类采集标记文件以获取共享类列表文件,并上报所获取到的共享类列表文件至中心节点网络设备上部署的代理进程;
其中,中心节点网络设备上部署的代理进程还用于根据所接收到的共享类列表文件,生成共享类归档标记文件,并下发所生成的共享类归档标记文件至各个子节点网络设备上部署的代理进程。
需要说明的是,上述实施例所提供的数据处理装置与上述实施例所提供的数据处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括一个或多个处理器和存储装置,其中,存储装置用于存储一个或多个程序,当一个或多个程序被电子设备执行时实现如前的数据处理方法。
图13示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(Central Processing Unit,CPU)1301,其可以根据存储在只读存储器(Read-Only Memory,ROM)1302中的程序或者从储存部分1308加载到随机访问存储器(Random Access Memory,RAM)1303中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1303中,还存储有系统操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(Input/Output,I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1307;包括硬盘等的储存部分1308;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入储存部分1308。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不相同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的数据处理方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的数据处理方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法包括:
部署于网络设备上的代理进程启动后,加载配置文件,所述配置文件中存储有待执行任务在执行时所需的类数据;
生成含有采集参数的共享类采集标记文件;其中,所述共享类采集标记文件用于使所述待执行任务的任务进程读取所述采集参数,并根据所述采集参数从所述配置文件中采集类数据;
读取所述待执行任务采集到的类数据;
根据读取到的类数据生成共享类列表文件,并根据所述共享类列表文件生成含有使用参数和所述类数据的共享类归档标记文件;其中,所述共享类归档标记文件用于使所述任务进程读取所述使用参数,并根据所述使用参数加载所述共享类归档标记文件中含有的类数据。
2.如权利要求1所述的数据处理方法,其特征在于,在所述加载配置文件之前,所述方法还包括:
所述代理进程启动后,读取所述待执行任务对应的类数据相关文件,以确定所述待执行任务对应的类数据相关文件是否发生变化;
若所述待执行任务对应的类数据相关文件未发生变化,则检查是否存在共享类归档标记文件以及新生成的共享类列表文件;
若检查到不存在共享类归档标记文件以及不存在新生成的共享类列表文件,则执行所述加载配置文件的步骤。
3.如权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
若所述待执行任务对应的类数据相关文件发生变化,则删除指定路径下共享类归档标记文件的软连接、共享类列表文件以及共享类采集标记文件,并执行所述加载配置文件的步骤。
4.如权利要求2所述的数据处理方法,其特征在于,所述类数据相关文件包括所述配置文件;所述读取所述待执行任务对应的类数据相关文件,以确定所述待执行任务对应的类数据相关文件是否发生变化,包括:
读取所述配置文件中含有的类路径;
若所述配置文件中含有的类路径发生变化,则确定所述待执行任务对应的类数据相关文件发生变化;
若所述配置文件中含有的类路径未发生变化,则确定所述待执行任务对应的类数据相关文件未发生变化。
5.如权利要求2所述的数据处理方法,其特征在于,所述类数据相关文件包括错误日志文件,其中,所述错误日志文件用于记录类路径所发生的变化;所述读取所述待执行任务对应的类数据相关文件,以确定所述待执行任务对应的类数据相关文件是否发生变化,包括:
读取所述错误日志文件中含有的类路径;
若记录类路径发生变化的错误日志文件的数量大于预设数量阈值,则确定所述待执行任务对应的类数据相关文件发生变化;
若记录类路径发生变化的错误日志文件的数量小于或等于所述预设数量阈值,则确定所述待执行任务对应的类数据相关文件未发生变化。
6.如权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
若检查到存在新生成的共享类列表文件,则根据已有的共享类列表文件以及新生成的共享类列表文件,生成最新的共享类归档标记文件,并删除指定路径下共享类归档标记文件的软连接。
7.如权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
若检查到存在所述共享类归档标记文件,则生成含有增量采集参数的增量共享类采集标记文件;其中,所述增量共享类采集标记文件用于使所述任务进程读取所述增量采集参数,并根据所述增量采集参数从所述配置文件中采集新增加的类数据。
8.如权利要求1至7中任一项所述的数据处理方法,其特征在于,所述方法还包括:
在所述代理进程首次启动时,生成代理进程存活标记文件;其中,所述代理进程存活标记文件中含有所述代理进程首次启动时的时间戳信息,所述代理进程存活标记文件用于使所述任务进程读取所述时间戳信息,并在根据所述时间戳信息确定所述代理进程的存活时长小于预设时长阈值时,执行读取所述采集参数的步骤。
9.如权利要求1至7中任一项所述的数据处理方法,其特征在于,所述方法还包括:
若所述任务进程根据所述使用参数将所述共享类归档标记文件中含有的类数据成功加载至内存中,则运行所述待执行任务的任务进程;
若所述任务进程根据所述使用参数未将所述共享类归档标记文件中含有的类数据成功加载至内存中,则输出失败信息。
10.如权利要求1至7中任一项所述的数据处理方法,其特征在于,
所述网络设备包括单机模式下的网络设备;其中,所述代理进程和所述任务进程部署在所述单机模式下的网络设备上,所述任务进程包括短任务的任务进程;
或者,
所述网络设备包括集群模式下的中心节点网络设备以及所述中心节点网络设备下的各个子节点网络设备;其中,所述代理进程分别部署在所述中心节点网络设备以及所述各个子节点网络设备上,所述任务进程部署在所述各个子节点网络设备上,所述任务进程包括长任务的任务进程。
11.如权利要求10所述的数据处理方法,其特征在于,
所述中心节点网络设备上部署的代理进程用于下发类数据采集指令至各个子节点网络设备上部署的代理进程,各个子节点网络设备上部署的代理进程用于根据所述类数据采集指令生成共享类采集标记文件以获取共享类列表文件,并上报所获取到的共享类列表文件至所述中心节点网络设备上部署的代理进程;
所述中心节点网络设备上部署的代理进程还用于根据所接收到的共享类列表文件,生成共享类归档标记文件,并下发所生成的共享类归档标记文件至各个子节点网络设备上部署的代理进程。
12.一种数据处理装置,其特征在于,所述装置包括:
加载模块,配置为部署于网络设备上的代理进程启动后,加载配置文件,所述配置文件中存储有待执行任务在执行时所需的类数据;
第一生成模块,配置为生成含有采集参数的共享类采集标记文件;其中,所述共享类采集标记文件用于使所述待执行任务的任务进程读取所述共享类采集标记文件中含有的采集参数,并根据所述采集参数从所述配置文件中采集类数据,所述配置文件中存储有所述待执行任务执行所需的类数据;
读取模块,配置为所述代理进程读取所述待执行任务采集到的类数据;
第二生成模块,配置为根据读取到的类数据生成共享类列表文件,并根据所述共享类列表文件生成含有使用参数和所述类数据的共享类归档标记文件;其中,所述共享类归档标记文件用于使所述待执行任务的任务进程读取所述共享类归档标记文件中含有的使用参数和类数据,并根据所述使用参数加载所述共享类归档标记文件中含有的类数据。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述电子设备执行时,使得所述电子设备实现如权利要求1至11中任一项所述的数据处理方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的数据处理方法。
15.一种计算机程序产品,包括计算机指令,其特征在于,该计算机指令被处理器执行时实现如权利要求1至11中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111292541.2A CN116069744A (zh) | 2021-11-01 | 2021-11-01 | 数据处理方法、装置、设备、存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111292541.2A CN116069744A (zh) | 2021-11-01 | 2021-11-01 | 数据处理方法、装置、设备、存储介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069744A true CN116069744A (zh) | 2023-05-05 |
Family
ID=86170402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111292541.2A Pending CN116069744A (zh) | 2021-11-01 | 2021-11-01 | 数据处理方法、装置、设备、存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069744A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302209A (zh) * | 2023-05-15 | 2023-06-23 | 阿里云计算有限公司 | 应用进程加速启动的方法、分布式系统、节点和存储介质 |
-
2021
- 2021-11-01 CN CN202111292541.2A patent/CN116069744A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302209A (zh) * | 2023-05-15 | 2023-06-23 | 阿里云计算有限公司 | 应用进程加速启动的方法、分布式系统、节点和存储介质 |
CN116302209B (zh) * | 2023-05-15 | 2023-08-04 | 阿里云计算有限公司 | 应用进程加速启动的方法、分布式系统、节点和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10338958B1 (en) | Stream adapter for batch-oriented processing frameworks | |
US20030055809A1 (en) | Methods, systems, and articles of manufacture for efficient log record access | |
US9442822B2 (en) | Providing a visual representation of a sub-set of a visual program | |
CN110750592A (zh) | 数据同步的方法、装置和终端设备 | |
CN112698921A (zh) | 一种逻辑代码运行方法、装置、计算机设备和存储介质 | |
US10872007B2 (en) | Methods and systems to compound alerts in a distributed computing system | |
US12061901B2 (en) | Documentation enforcement during compilation | |
US20240295412A1 (en) | Method for operating and maintaining an electronic map, method for using electronic map data and service system | |
CN113704790A (zh) | 一种异常日志信息汇总方法及计算机设备 | |
CN116069744A (zh) | 数据处理方法、装置、设备、存储介质及产品 | |
CN109814911A (zh) | 用于管理脚本程序的方法、装置、计算机设备及存储介质 | |
Koyama et al. | Log message with JSON item count for root cause analysis in microservices | |
CN113448775A (zh) | 多源异构数据备份方法及装置 | |
CN114936026B (zh) | 一种半结构化数据的解析方法、系统、存储介质和设备 | |
WO2017124726A1 (zh) | 一种北向文件生成的方法、装置及系统 | |
Shih | MASS HDFS: multi-agent spatial simulation hadoop distributed file system | |
US20240205099A1 (en) | Dynamic creation of schema framework for inventory management | |
US20230409568A1 (en) | Monitoring metadata synchronization and aggregation | |
Zhou et al. | SDAC: A model for analysis of the execution semantics of data processing framework in cloud | |
CN118820287A (zh) | 数据采集方法、相关设备及存储介质 | |
CN118672845A (zh) | 日志信息处理方法、装置、软件程序、设备及存储介质 | |
Ma et al. | Design and Implementation of Operating Management Platform of Dispatching and Control Cloud Application based on Container Technology | |
CN118192897A (zh) | 数据存储系统、方法和装置 | |
Zhu et al. | A Domain-Specific Language for Reconfigurable, Distributed Software | |
WO2023249627A1 (en) | Dynamic application of schema framework for inventory management |
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 |