CN113626194A - 一种报表文件生成方法、装置、设备及可读存储介质 - Google Patents
一种报表文件生成方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113626194A CN113626194A CN202110914799.5A CN202110914799A CN113626194A CN 113626194 A CN113626194 A CN 113626194A CN 202110914799 A CN202110914799 A CN 202110914799A CN 113626194 A CN113626194 A CN 113626194A
- Authority
- CN
- China
- Prior art keywords
- target
- report
- subtask
- data
- report file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013480 data collection Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000012544 monitoring process Methods 0.000 claims description 13
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种报表文件生成方法,包括:对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;根据目标报表模板确定目标数据源;按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;根据各分页对报表生成事件进行拆分操作,得到各子任务;利用线程池对各子任务进行并行处理,得到处理后数据;将处理后数据写入至目标报表模板中,得到目标报表文件。应用本发明所提供的报表文件生成方法,较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性。本发明还公开了一种报表文件生成装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种报表文件生成方法、装置、设备及计算机可读存储介质。
背景技术
随着大数据的发展,为了对收集到的大量数据进行清晰明确地展示,需要对大数据进行收集、聚合、汇总,生成报表文件。
目前,常用的报表文件生成方式为用户选定某项服务器资源进行报表文件生成,如通过在包含多核中央处理器(Central Processing Unit,CPU)的服务器资源中选定一个特定的CPU资源进行报表文件生成。如报表处理机制比较落后,没有合理利用服务器资源,在大数据的情况下容易造成服务器单独某项资源过载,而其他资源空闲的情况,没有对计算机硬件资源进行有效利用,导致服务器资源利用低,处理速度慢,吞吐量低下,影响服务器稳定。
综上所述,如何有效地解决现有的报表文件生成方式服务器资源利用低,处理速度慢,吞吐量低下,影响服务器稳定等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种报表文件生成方法,该方法较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性;本发明的另一目的是提供一种报表文件生成装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种报表文件生成方法,包括:
对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
根据所述目标报表模板确定目标数据源;
按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;
利用线程池对各所述子任务进行并行处理,得到处理后数据;
将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。
在本发明的一种具体实施方式中,在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,还包括:
将所述处理后数据缓存到预设等待队列中;
将所述处理后数据写入至所述目标报表模板中,包括:
当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中。
在本发明的一种具体实施方式中,在利用线程池对各所述子任务进行并行处理之后,还包括:
监听是否存在处理异常的子任务;
若是,则对所述报表生成事件对应的各所述子任务进行打断操作。
在本发明的一种具体实施方式中,在得到目标报表文件之后,还包括:
将所述目标报表文件上传至分布式文件系统,并生成所述目标报表文件对应的目标文件下载链接。
在本发明的一种具体实施方式中,还包括:
接收对所述线程池对应的分布式系统进行资源添加的添加请求;
对所述添加请求进行解析,得到待添加的目标机器;
将所述目标机器注册至所述分布式系统。
一种报表文件生成装置,包括:
事件解析模块,用于对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
数据源确定模块,用于根据所述目标报表模板确定目标数据源;
逻辑分页模块,用于按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
子任务获得模块,用于根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;
任务处理模块,用于利用线程池对各所述子任务进行并行处理,得到处理后数据;
报表文件生成模块,用于将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。
在本发明的一种具体实施方式中,还包括:
数据缓存模块,用于在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,将所述处理后数据缓存到预设等待队列中;
所述报表文件生成模块具体为当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中的模块。
在本发明的一种具体实施方式中,还包括:
任务监听模块,用于在利用线程池对各所述子任务进行并行处理之后,监听是否存在处理异常的子任务;
任务打断模块,用于当确定存在处理异常的子任务时,对所述报表生成事件对应的各所述子任务进行打断操作。
一种报表文件生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述报表文件生成方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述报表文件生成方法的步骤。
本发明所提供的报表文件生成方法,对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;根据目标报表模板确定目标数据源;按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;根据各分页对报表生成事件进行拆分操作,得到各子任务;利用线程池对各子任务进行并行处理,得到处理后数据;将处理后数据写入至目标报表模板中,得到目标报表文件。
由上述技术方案可知,通过设置目标报表模板,根据目标报表模板确定目标数据源,并预先设置数据收集条件表达式,根据数据收集条件表达式进行数据收集,较大地提升了数据收集速度。通过根据数据收集条件表达式对收集到的初始数据进行逻辑分页,从而将任务量较大地报表生成事件拆分为多个任务量较小的子任务,并设置有用于对子任务进行处理的线程池,利用线程池对拆分得到的多个子任务进行并行处理,较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性。
相应的,本发明还提供了与上述报表文件生成方法相对应的报表文件生成装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中报表文件生成方法的一种实施流程图;
图2为本发明实施例中报表文件生成方法的另一种实施流程图;
图3为本发明实施例中一种分布式系统资源添加的示意图;
图4为本发明实施例中一种报表文件生成装置的结构框图;
图5为本发明实施例中一种报表文件生成设备的结构框图;
图6为本实施例提供的一种报表文件生成设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例中报表文件生成方法的一种实施流程图,该方法可以包括以下步骤:
S101:对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式。
系统预先设置有事件监听器,用于监听用户发起的事件(Event)。报表生成事件中包含目标报表模板(ReportModel)和目标数据收集条件表达式(SearchExpression),当通过事件监听器监听到报表生成事件之后,对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式。
S102:根据目标报表模板确定目标数据源。
目标报表模板中包含进行报表文件生成所需的数据的数据源,如可以是某个特定的数据库。在解析得到目标报表模板之后,根据目标报表模板确定目标数据源。
S103:按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页。
目标数据收集条件表达式用于对数据源中的数据进行筛选,在根据目标报表模板确定出目标数据源之后,按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页。在按照目标数据收集条件表达式对收集到的初始数据进行逻辑分页时,可以根据收集到初始数据的数据总条数dataCount和第一条数据的标识startId进行逻辑分页,从而将收集到的初始数据划分为多个分页。
S104:根据各分页对报表生成事件进行拆分操作,得到各子任务。
在对收集到的初始数据进行逻辑分页,得到各分页之后,根据各分页对报表生成事件进行拆分操作,得到各子任务。可以预先设置每个子任务对应相的分页个数固定,也可以设置每个子任务对应的分页个数可调整。
S105:利用线程池对各子任务进行并行处理,得到处理后数据。
预先设置对各子任务进行处理的线程池,在对报表生成事件拆分得到各子任务之后,利用线程池对各子任务进行并行处理,得到处理后数据。线程池可以对多个报表生成事件分别包含的多个子任务进行并行处理。如当目标报表模板为对账报表模板时,可以是对收集到的初始财务数据按照类别进行相应的累加计算,得到各财务数据和。
S106:将处理后数据写入至目标报表模板中,得到目标报表文件。
在利用线程池对各子任务进行并行处理,得到处理后数据之后,将处理后数据写入至目标报表模板中,得到目标报表文件,从而完成报表文件的生成操作。通过将报表生成事件拆分为多个子任务,利用线程池中的多个线程对多个子任务进行并行处理,较大地提高了单机CPU利用率,利用目标数据收集条件表达式对数据源中的数据进行滚动式索引并分页,加快了数据收集速度,增加了吞吐量。
由上述技术方案可知,通过设置目标报表模板,根据目标报表模板确定目标数据源,并预先设置数据收集条件表达式,根据数据收集条件表达式进行数据收集,较大地提升了数据收集速度。通过根据数据收集条件表达式对收集到的初始数据进行逻辑分页,从而将任务量较大地报表生成事件拆分为多个任务量较小的子任务,并设置有用于对子任务进行处理的线程池,利用线程池对拆分得到的多个子任务进行并行处理,较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图2,图2为本发明实施例中报表文件生成方法的另一种实施流程图,该方法可以包括以下步骤:
S201:对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式。
S202:根据目标报表模板确定目标数据源。
S203:按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页。
S204:根据各分页对报表生成事件进行拆分操作,得到各子任务。
S205:利用线程池对各子任务进行并行处理,得到处理后数据。
在本发明的一种具体实施方式中,在利用线程池对各子任务进行并行处理之后,该否还可以包括以下步骤:
步骤一:监听是否存在处理异常的子任务,若是,则执行步骤二,若否,则不做处理。
步骤二:对报表生成事件对应的各子任务进行打断操作。
为方便描述,可以将上述两个步骤结合起来进行说明。
在利用线程池对各子任务进行并行处理的过程中,监听各子任务的处理进度,通过对各子任务的处理进度进行监听,判断是否存在处理异常的子任务,若是,则对报表生成事件对应的各子任务进行打断操作,若否,则不做处理。通过在检测到存在处理异常的子任务时,对该报表生成事件对应的各子任务进行打断,可以预先记录每个子任务对应的处理线程,设置同一报表生成事件的子任务为一组它们之间互相可见各自状态,当某个字任务处异常则会主动打断组内其他任务,从而使得该报表生成事件划分得到的各子任务停止IO等待,避免了线程阻塞占用过多的内存,提升了吞吐量。
S206:将处理后数据缓存到预设等待队列中。
预先设置对各子任务处理得到的处理后数据进行缓存的等待队列,在利用线程池对各子任务进行并行处理,得到处理后数据之后,将处理后数据缓存到预设等待队列中,从而实现对各子任务对应的处理后数据的缓存。
S207:当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至目标报表模板中,得到目标报表文件。
监听是否存在处理完成的子任务,当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至目标报表模板中,得到目标报表文件。通过预先对各子任务处理过程产生的数据进行缓存,等待将子任务处理完成后再对处理后数据进行写入操作,提升了数据稳定性,提升了系统性能。
S208:将目标报表文件上传至分布式文件系统,并生成目标报表文件对应的目标文件下载链接。
在生成目标报表文件之后,可以将该报表生成事件标记为已完成,将目标报表文件上传至分布式文件系统(Distributed File System,DFS),具体可以为基于JAVA语言开发的分布式文件系统,并生成目标报表文件对应的目标文件下载链接,从而方便对目标报表文件的共享,方便用户对目标报表文件的访问。
在本发明的一种具体实施方式中,该方法还可以包括以下步骤:
步骤一:接收对线程池对应的分布式系统进行资源添加的添加请求;
步骤二:对添加请求进行解析,得到待添加的目标机器;
步骤三:将目标机器注册至分布式系统。
为方便描述,可以将上述三个步骤结合起来进行说明。
当需要对线程池对应的分布式系统进行资源添加时,生成对线程池对应的分布式系统进行资源添加的添加请求,接收对线程池对应的分布式系统进行资源添加的添加请求,对添加请求进行解析,得到待添加的目标机器,将目标机器注册至分布式系统。从而可以动态增加机器来扩展资源,增加同时处理数据上限,实现了资源的可扩展性。
参见图3,图3为本发明实施例中一种分布式系统资源添加的示意图。当需要将机器3添加至分布式系统时,将机器3注册至分布式应用程序协调服务(zookeeper),分布式应用程序协调服务通知原有的机器1和机器2当前有新机器注册至分布式系统,机器1和机器2分别与机器3家里通信通道,实现正常通信。
相应于上面的方法实施例,本发明还提供了一种报表文件生成装置,下文描述的报表文件生成装置与上文描述的报表文件生成方法可相互对应参照。
参见图4,图4为本发明实施例中一种报表文件生成装置的结构框图,该装置可以包括:
事件解析模块41,用于对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
数据源确定模块42,用于根据目标报表模板确定目标数据源;
逻辑分页模块43,用于按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
子任务获得模块44,用于根据各分页对报表生成事件进行拆分操作,得到各子任务;
任务处理模块45,用于利用线程池对各子任务进行并行处理,得到处理后数据;
报表文件生成模块46,用于将处理后数据写入至目标报表模板中,得到目标报表文件。
由上述技术方案可知,通过设置目标报表模板,根据目标报表模板确定目标数据源,并预先设置数据收集条件表达式,根据数据收集条件表达式进行数据收集,较大地提升了数据收集速度。通过根据数据收集条件表达式对收集到的初始数据进行逻辑分页,从而将任务量较大地报表生成事件拆分为多个任务量较小的子任务,并设置有用于对子任务进行处理的线程池,利用线程池对拆分得到的多个子任务进行并行处理,较大地提升了对服务器资源的利用率和报表生成速度,提升了吞吐量,进而提升了服务器稳定性。
在本发明的一种具体实施方式中,该装置还可以包括:
数据缓存模块,用于在得到处理后数据之后,将处理后数据写入至目标报表模板中之前,将处理后数据缓存到预设等待队列中;
报表文件生成模块46具体为当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至目标报表模板中的模块。
在本发明的一种具体实施方式中,该装置还可以包括:
任务监听模块,用于在利用线程池对各子任务进行并行处理之后,监听是否存在处理异常的子任务;
任务打断模块,用于当确定存在处理异常的子任务时,对报表生成事件对应的各子任务进行打断操作。
在本发明的一种具体实施方式中,该装置还可以包括:
文件上传模块,用于在得到目标报表文件之后,将目标报表文件上传至分布式文件系统,并生成目标报表文件对应的目标文件下载链接。
在本发明的一种具体实施方式中,该装置还可以包括:
请求接收模块,用于接收对线程池对应的分布式系统进行资源添加的添加请求;
待添加机器获得模块,用于对添加请求进行解析,得到待添加的目标机器;
机器注册模块,用于将目标机器注册至分布式系统。
相应于上面的方法实施例,参见图5,图5为本发明所提供的报表文件生成设备的示意图,该设备可以包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的报表文件生成方法的步骤。
具体的,请参考图6,图6为本实施例提供的一种报表文件生成设备的具体结构示意图,该报表文件生成设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在报表文件生成设备301上执行存储器332中的一系列指令操作。
报表文件生成设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的报表文件生成方法中的步骤可以由报表文件生成设备的结构实现。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;根据目标报表模板确定目标数据源;按照目标数据收集条件表达式对目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;根据各分页对报表生成事件进行拆分操作,得到各子任务;利用线程池对各子任务进行并行处理,得到处理后数据;将处理后数据写入至目标报表模板中,得到目标报表文件。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种报表文件生成方法,其特征在于,包括:
对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
根据所述目标报表模板确定目标数据源;
按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;
利用线程池对各所述子任务进行并行处理,得到处理后数据;
将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。
2.根据权利要求1所述的报表文件生成方法,其特征在于,在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,还包括:
将所述处理后数据缓存到预设等待队列中;
将所述处理后数据写入至所述目标报表模板中,包括:
当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中。
3.根据权利要求1所述的报表文件生成方法,其特征在于,在利用线程池对各所述子任务进行并行处理之后,还包括:
监听是否存在处理异常的子任务;
若是,则对所述报表生成事件对应的各所述子任务进行打断操作。
4.根据权利要求1所述的报表文件生成方法,其特征在于,在得到目标报表文件之后,还包括:
将所述目标报表文件上传至分布式文件系统,并生成所述目标报表文件对应的目标文件下载链接。
5.根据权利要求1至4任一项所述的报表文件生成方法,其特征在于,还包括:
接收对所述线程池对应的分布式系统进行资源添加的添加请求;
对所述添加请求进行解析,得到待添加的目标机器;
将所述目标机器注册至所述分布式系统。
6.一种报表文件生成装置,其特征在于,包括:
事件解析模块,用于对监听到的报表生成事件进行解析,得到目标报表模板和目标数据收集条件表达式;
数据源确定模块,用于根据所述目标报表模板确定目标数据源;
逻辑分页模块,用于按照所述目标数据收集条件表达式对所述目标数据源进行数据收集,并对收集到的初始数据进行逻辑分页,得到各分页;
子任务获得模块,用于根据各所述分页对所述报表生成事件进行拆分操作,得到各子任务;
任务处理模块,用于利用线程池对各所述子任务进行并行处理,得到处理后数据;
报表文件生成模块,用于将所述处理后数据写入至所述目标报表模板中,得到目标报表文件。
7.根据权利要求6所述的报表文件生成装置,其特征在于,还包括:
数据缓存模块,用于在得到处理后数据之后,将所述处理后数据写入至所述目标报表模板中之前,将所述处理后数据缓存到预设等待队列中;
所述报表文件生成模块具体为当监听到处理完成的子任务时,将处理完成的子任务对应的处理后数据写入至所述目标报表模板中的模块。
8.根据权利要求6所述的报表文件生成装置,其特征在于,还包括:
任务监听模块,用于在利用线程池对各所述子任务进行并行处理之后,监听是否存在处理异常的子任务;
任务打断模块,用于当确定存在处理异常的子任务时,对所述报表生成事件对应的各所述子任务进行打断操作。
9.一种报表文件生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述报表文件生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述报表文件生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110914799.5A CN113626194A (zh) | 2021-08-10 | 2021-08-10 | 一种报表文件生成方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110914799.5A CN113626194A (zh) | 2021-08-10 | 2021-08-10 | 一种报表文件生成方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626194A true CN113626194A (zh) | 2021-11-09 |
Family
ID=78384096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110914799.5A Pending CN113626194A (zh) | 2021-08-10 | 2021-08-10 | 一种报表文件生成方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626194A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115423595A (zh) * | 2022-11-02 | 2022-12-02 | 深圳高灯计算机科技有限公司 | 文件信息处理方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667721A (zh) * | 2018-05-16 | 2018-10-16 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN110096683A (zh) * | 2019-03-15 | 2019-08-06 | 中国平安人寿保险股份有限公司 | 报表生成方法、系统、计算机装置及计算机可读存储介质 |
CN111797604A (zh) * | 2020-06-30 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 报表生成方法、装置、设备及计算机可读存储介质 |
CN111881216A (zh) * | 2020-08-03 | 2020-11-03 | 北京罗克维尔斯科技有限公司 | 一种基于共享模板的数据获取方法和装置 |
CN111985914A (zh) * | 2020-08-19 | 2020-11-24 | 北京百度网讯科技有限公司 | 结算方法、装置、节点及可读存储介质 |
CN112001617A (zh) * | 2020-08-14 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种报表生成进度方法、装置、设备及可读存储介质 |
CN112256417A (zh) * | 2020-10-23 | 2021-01-22 | 上海豹云网络信息服务有限公司 | 一种数据请求处理方法、装置及计算机可读存储介质 |
CN112861501A (zh) * | 2021-01-21 | 2021-05-28 | 中国建设银行股份有限公司 | 报表的生成方法、装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-08-10 CN CN202110914799.5A patent/CN113626194A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667721A (zh) * | 2018-05-16 | 2018-10-16 | 平安科技(深圳)有限公司 | 订阅报表生成方法、装置、计算机设备和存储介质 |
CN110096683A (zh) * | 2019-03-15 | 2019-08-06 | 中国平安人寿保险股份有限公司 | 报表生成方法、系统、计算机装置及计算机可读存储介质 |
CN111797604A (zh) * | 2020-06-30 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 报表生成方法、装置、设备及计算机可读存储介质 |
CN111881216A (zh) * | 2020-08-03 | 2020-11-03 | 北京罗克维尔斯科技有限公司 | 一种基于共享模板的数据获取方法和装置 |
CN112001617A (zh) * | 2020-08-14 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种报表生成进度方法、装置、设备及可读存储介质 |
CN111985914A (zh) * | 2020-08-19 | 2020-11-24 | 北京百度网讯科技有限公司 | 结算方法、装置、节点及可读存储介质 |
CN112256417A (zh) * | 2020-10-23 | 2021-01-22 | 上海豹云网络信息服务有限公司 | 一种数据请求处理方法、装置及计算机可读存储介质 |
CN112861501A (zh) * | 2021-01-21 | 2021-05-28 | 中国建设银行股份有限公司 | 报表的生成方法、装置、电子设备及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115423595A (zh) * | 2022-11-02 | 2022-12-02 | 深圳高灯计算机科技有限公司 | 文件信息处理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755452B2 (en) | Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN111143286B (zh) | 一种云平台日志管理方法及系统 | |
CN109614227B (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
Chen et al. | GPU-accelerated high-throughput online stream data processing | |
US20130227244A1 (en) | Workload-aware distributed data processing apparatus and method for processing large data based on hardware acceleration | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
US8312466B2 (en) | Restricting resources consumed by ghost agents | |
CN110557291A (zh) | 一种网络服务监控系统 | |
CN110908870A (zh) | 一种大型机的资源监控方法、装置、存储介质及设备 | |
CN113626194A (zh) | 一种报表文件生成方法、装置、设备及可读存储介质 | |
US20230376397A1 (en) | Method and System for Determining Interval Time for Testing of Server, and Device and Medium | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
CN114168557A (zh) | 一种访问日志的处理方法、装置、计算机设备和存储介质 | |
CN110247802B (zh) | 针对云服务单机环境的资源配置方法及装置 | |
CN113672173A (zh) | 一种存储卷扩容方法、系统、设备及可读存储介质 | |
CN113342806A (zh) | 大数据处理方法、装置、存储介质及处理器 | |
CN109766238B (zh) | 基于session数的运维平台性能监控方法、装置及相关设备 | |
CN111367875B (zh) | 一种话单文件处理方法、系统、设备及介质 | |
CN117435367B (zh) | 用户行为处理方法、装置、设备、存储介质和程序产品 | |
CN113127202A (zh) | 一种任务熔断方法、系统、电子设备及可读存储介质 | |
US10210592B2 (en) | System, method, and computer program product for efficient aggregation of data records of big data | |
CN113918247A (zh) | 一种任务执行方法、装置、设备及计算机可读存储介质 | |
CN117725032A (zh) | 日志的存储方法、装置、计算机存储介质以及电子设备 | |
CN116107653A (zh) | 一种基于环境感知的云存储系统自动配置方法及装置 |
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 |