CN116226045A - 文件数据聚合方法、文件数据聚合装置和查询系统 - Google Patents
文件数据聚合方法、文件数据聚合装置和查询系统 Download PDFInfo
- Publication number
- CN116226045A CN116226045A CN202211718800.8A CN202211718800A CN116226045A CN 116226045 A CN116226045 A CN 116226045A CN 202211718800 A CN202211718800 A CN 202211718800A CN 116226045 A CN116226045 A CN 116226045A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- tasks
- response
- inquiry request
- 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
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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种文件数据聚合方法、文件数据聚合装置和查询系统,该文件数据聚合方法包括:接收文件查询请求;根据文件查询请求生成多个文件解析任务,文件解析任务为解析数据源的响应文件数据的任务,文件解析任务与数据源一一对应,响应文件数据为数据源响应于文件查询请求的查询数据;调用线程一一对应地执行文件解析任务,得到多个结果数据文件,结果数据文件与数据源一一对应;对多个结果数据文件进行聚合,得到生成文件,并将生成文件存入生成文件路径对应的文件夹,解决了现有技术中查询过程中文件聚合效率低的问题。
Description
技术领域
本申请涉及文件查询技术领域,具体而言,涉及一种文件数据聚合方法、文件数据聚合装置、计算机可读存储介质、处理器和查询系统。
背景技术
在WEB应用开发中,如图1所示,涉及多渠道外呼查询文件服务常见处理方式为:客户端发起文件查询请求,后端服务进行多渠道服务外呼,同步阻塞获取响应结果,拿到数据文件后解析到内存,在内存中进行统一的数据处理后生成响应文件并上传至文件共享服务器,返回响应文件名至客户端系统,客户端系统调用对应文件下载接口进行文件获取。
现有主流文件查询聚合处理方案通常与性能相关,而性能问题多数集中在数据量较大的情况下,大数据通常不能在内存中完全存储,需要考虑外存数据的运算方案。常见的就是文本文件的形式,这是一种很常见的文件格式。因它简单通用,常常被用作各种数据系统之间交换数据的媒介。用于存储结构化数据的文本文件通常会有一行标题标识字段名,每行是一条记录,行内的字段之间用制表符或逗号分隔,行之间用回车符分隔。在数据源文件数据请求及大数据文件处理的场景下,存在以下问题:
1.接口链路耗时较大,长时间占用系统资源;
2.关联系统同步请求调用阻塞获取文件结果,处理效率低,响应慢。在高并发的应用场景下,需要大量的线程来维护大量的网络连接,内存、线程切换开销会非常巨大;
3.文件下载后解析一次性读取到内存,在大量数据文件解析时,单线程处理耗时长,速度慢,内存中大量数据的存储带来了内存溢出的隐患;
4.应对各类接口请求文件聚合的需求,不同系统不同服务提供了不同的数据文件格式,通用的解决方案无法规避多元化文件数据格式的归并统一。
发明内容
本申请的主要目的在于提供一种文件数据聚合方法、文件数据聚合装置、计算机可读存储介质、处理器和查询系统,以至少解决现有技术中查询过程中文件聚合效率低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种文件数据聚合方法,包括:接收文件查询请求;根据所述文件查询请求生成多个文件解析任务,所述文件解析任务为解析数据源的响应文件数据的任务,所述文件解析任务与所述数据源一一对应,所述响应文件数据为所述数据源响应于所述文件查询请求的查询数据;调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件,所述结果数据文件与所述数据源一一对应;对多个所述结果数据文件进行聚合,得到生成文件,并将所述生成文件存入生成文件路径对应的文件夹。
可选地,在根据所述文件查询请求生成多个文件解析任务之前,所述方法还包括:在接收到客户端发送的文件查询请求的情况下,将所述生成文件路径同步反馈至所述客户端。
可选地,调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件,包括:获取步骤,分段获取目标响应文件数据,得到多段读取数据,所述目标响应文件数据为任意一个所述响应文件数据;解析步骤,调用所述响应文件数据对应的所述线程依次对多段所述读取数据进行解析,得到所述结果数据文件;依次重复所述获取步骤和所述解析步骤至少一次,直至得到所有的所述结果数据文件。
可选地,分段获取目标响应文件数据,得到多段数据,包括:采用字节位置定位法确定开始字节位置,所述开始字节位置为开始读取所述目标响应文件数据的字节位置;从所述开始字节位置起始,依次读取所述目标响应文件数据中预定数量的行数据,得到多段所述读取数据,一段所述读取数据包括所述预定数量的行数据。
可选地,对多个所述结果数据文件进行聚合,得到生成文件,包括:根据所述文件查询请求确定需求格式,所述需求格式为所述文件查询请求要求的查询文件的格式;对多个所述结果数据文件进行聚合并生成所述需求格式的所述生成文件。
可选地,在根据所述文件查询请求生成多个文件解析任务之后,在调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件之前,所述方法还包括:在任务队列的任务数量达到预定数量的情况下,拒绝所述文件解析任务的提交,并将未提交至所述任务队列的所述文件解析任务存入数据库;间隔预定时间提交所述数据库中所述文件解析任务。
根据本申请的另一方面,提供了一种文件数据聚合装置,包括:接收单元,用于接收文件查询请求;生成单元,用于根据所述文件查询请求生成多个文件解析任务,所述文件解析任务为解析数据源的响应文件数据的任务,所述文件解析任务与所述数据源一一对应,所述响应文件数据为所述数据源响应于所述文件查询请求的查询数据;解析单元,用于调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件,所述结果数据文件与所述数据源一一对应;第一处理单元,用于对多个所述结果数据文件进行聚合,得到生成文件,并将所述生成文件存入生成文件路径对应的文件夹。
根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述方法。
根据本申请的又一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本申请的再一方面,提供了一种查询系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
应用本申请的技术方案,上述文件数据聚合方法中,首先,接收文件查询请求;然后,根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;之后,调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;最后,对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该文件数据聚合方法通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了现有技术的文件数据聚合方法的流程示意图;
图2示出了根据本申请的实施例中提供的一种执行文件数据聚合方法的移动终端的硬件结构框图;
图3示出了根据本申请的实施例提供的一种文件数据聚合方法的流程示意图;
图4示出了根据本申请的实施例提供的另一种文件数据聚合方法的流程示意图;
图5示出了根据本申请的实施例提供的线程池异步处理的流程示意图;
图6示出了根据本申请的实施例提供的文件分段解析并行处理的流程示意图;
图7示出了根据本申请的实施例提供的文件分页查询并行生成文件处理的流程示意图;
图8示出了根据本申请的实施例提供的一种文件数据聚合装置的结构框图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
正如背景技术中所介绍的,现有技术中查询过程中文件聚合效率低,为解决该技术问题,本申请的实施例提供了一种文件数据聚合方法、文件数据聚合装置、计算机可读存储介质、处理器和查询系统。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图2是本发明实施例的一种文件数据聚合方法的移动终端的硬件结构框图。如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的设备信息的显示方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的…方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本申请实施例的文件数据聚合方法的流程图。如图3所示,该方法包括以下步骤:
步骤S201,接收文件查询请求;
具体地,同时接收多个客户端的文件查询请求,以满足高并发的查询需求。
步骤S202,根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;
为了减少响应延迟,一种可选的实施方式中,在上述步骤S202之前,上述方法还包括:
步骤S301,在接收到客户端发送的文件查询请求的情况下,将上述生成文件路径同步反馈至上述客户端。
上述实施方式中,如图4所示,接收客户端的文件聚合请求后,预生成文件共享服务器数据的文件路径,同步返回生成文件路径至客户端,发进行外呼请求,例如,调用外系统获取查询数据,并下载数据文件至文件共享服务器、HDFS或者分布式数据库,并行消费结果数据,异步非阻塞地从文件共享服务器上进行响应数据文件的获取,使得最终聚合后生成文件上传至文件共享服务器的生成文件路径即可,无需长时间占用接口链路,响应快,在高并发的应用场景下,无需大量的线程来维护大量的网络连接,减少内存、线程的切换开销。
为了降低负载,一种可选的实施方式中,在上述步骤S202之后,在上述步骤S203之前,上述方法还包括:
步骤S401,在任务队列的任务数量达到预定数量的情况下,拒绝上述文件解析任务的提交,并将未提交至上述任务队列的上述文件解析任务存入数据库;
步骤S402,间隔预定时间提交上述数据库中上述文件解析任务。
上述实施方式中,如图5所示,根据请求入参,组装外部应用系统请求对象,构建调用任务集合并添加进线程池进行异步处理,并发进行外呼请求,并行消费结果数据,异步非阻塞地从文件共享服务器上进行响应数据文件的获取,自定义的异步线程池采用固定核心线程数+有序有界队列,即任务数量超过线程池缓冲队列大小后,采用任务入库的方式进行二次缓冲,同时开启异步定时器线程进行任务的再提交,防止大数据量请求导致的CPU高负载和内存高负载。
步骤S203,调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;
为了提高聚合效率,一种可选的实施方式中,上述步骤S203包括:
步骤S2031,获取步骤,分段获取目标响应文件数据,得到多段读取数据,上述目标响应文件数据为任意一个上述响应文件数据;
步骤S2032,解析步骤,调用上述响应文件数据对应的上述线程依次对多段上述读取数据进行解析,得到上述结果数据文件;
步骤S2033,依次重复上述获取步骤和上述解析步骤至少一次,直至得到所有的上述结果数据文件。
上述实施方式中,如图6所示,数据文件获取及文件生成采用分段式处理方式,采用NIO非阻塞并行方式解析响应文件数据,例如,先从本地文件夹获取n行数据,再从本地文件夹获取n+m行数据,再从本地文件夹获取n+2m行数据,一段获取m行数据,直至获取所有的拉取的打印数据,有效保证了文件聚合服务的吞吐率和文件处理效率。
为了进一步降低负载,一种可选的实施方式中,上述步骤S2031包括:
步骤S20311,采用字节位置定位法确定开始字节位置,上述开始字节位置为开始读取上述目标响应文件数据的字节位置;
步骤S20312,从上述开始字节位置起始,依次读取上述目标响应文件数据中预定数量的行数据,得到多段上述读取数据,一段上述读取数据包括上述预定数量的行数据。
上述实施方式中,从指定的字节位置开始,进行一行一行的读取方式,支持对大数据文件的解析和构建,减小内存负载。
步骤S204,对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。
为了提高通用性,一种可选的实施方式中,上述步骤S204包括:
步骤S2041,根据上述文件查询请求确定需求格式,上述需求格式为上述文件查询请求要求的查询文件的格式;
步骤S2042,对多个上述结果数据文件进行聚合并生成上述需求格式的上述生成文件。
上述实施方式中,如图7所示,分页查询文件数据,分段写入结果文件,生成最终的结果数据文件,上传至文件共享服务器,完成文件查询聚合功能,并且根据文件查询请求的需求格式,构建统一的解析的文件数据格式,使得最终聚合文件的格式为需求格式,满足任意一种格式需求,提高了文件聚合方法的通用性。
上述文件数据聚合方法中,首先,接收文件查询请求;然后,根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;之后,调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;最后,对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该文件数据聚合方法通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
本申请实施例还提供了一种文件数据聚合装置,需要说明的是,本申请实施例的文件数据聚合装置可以用于执行本申请实施例所提供的用于文件数据聚合方法。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
以下对本申请实施例提供的文件数据聚合装置进行介绍。
图8是根据本申请实施例的文件数据聚合装置的示意图。如图8所示,该装置包括:
接收单元10,用于接收文件查询请求;
具体地,同时接收多个客户端的文件查询请求,以满足高并发的查询需求。
生成单元20,用于根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;
为了减少响应延迟,一种可选的实施方式中,上述装置还包括:
反馈单元,用于在根据上述文件查询请求生成多个文件解析任务之前,在接收到客户端发送的文件查询请求的情况下,将上述生成文件路径同步反馈至上述客户端。
上述实施方式中,如图4所示,接收客户端的文件聚合请求后,预生成文件共享服务器数据的文件路径,同步返回生成文件路径至客户端,发进行外呼请求,例如,调用外系统获取查询数据,并下载数据文件至文件共享服务器、HDFS或者分布式数据库,并行消费结果数据,异步非阻塞地从文件共享服务器上进行响应数据文件的获取,使得最终聚合后生成文件上传至文件共享服务器的生成文件路径即可,无需长时间占用接口链路,响应快,在高并发的应用场景下,无需大量的线程来维护大量的网络连接,减少内存、线程的切换开销。
为了降低负载,一种可选的实施方式中,上述装置还包括:
第二处理单元,用于在根据上述文件查询请求生成多个文件解析任务之后,在调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件之前,在任务队列的任务数量达到预定数量的情况下,拒绝上述文件解析任务的提交,并将未提交至上述任务队列的上述文件解析任务存入数据库;
第三处理单元,用于间隔预定时间提交上述数据库中上述文件解析任务。
上述实施方式中,如图5所示,根据请求入参,组装外部应用系统请求对象,构建调用任务集合并添加进线程池进行异步处理,并发进行外呼请求,并行消费结果数据,异步非阻塞地从文件共享服务器上进行响应数据文件的获取,自定义的异步线程池采用固定核心线程数+有序有界队列,即任务数量超过线程池缓冲队列大小后,采用任务入库的方式进行二次缓冲,同时开启异步定时器线程进行任务的再提交,防止大数据量请求导致的CPU高负载和内存高负载。
解析单元30,用于调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;
为了提高聚合效率,一种可选的实施方式中,上述解析单元包括:
获取模块,用于执行获取步骤,分段获取目标响应文件数据,得到多段读取数据,上述目标响应文件数据为任意一个上述响应文件数据;
解析模块,用于执行解析步骤,调用上述响应文件数据对应的上述线程依次对多段上述读取数据进行解析,得到上述结果数据文件;
重复模块,用于执行依次重复上述获取步骤和上述解析步骤至少一次,直至得到所有的上述结果数据文件。
上述实施方式中,如图6所示,数据文件获取及文件生成采用分段式处理方式,采用NIO非阻塞并行方式解析响应文件数据,例如,先从本地文件夹获取n行数据,再从本地文件夹获取n+m行数据,再从本地文件夹获取n+2m行数据,一段获取m行数据,直至获取所有的拉取的打印数据,有效保证了文件聚合服务的吞吐率和文件处理效率。
为了进一步降低负载,一种可选的实施方式中,上述获取模块包括:
确定子模块,用于采用字节位置定位法确定开始字节位置,上述开始字节位置为开始读取上述目标响应文件数据的字节位置;
读取子模块,用于从上述开始字节位置起始,依次读取上述目标响应文件数据中预定数量的行数据,得到多段上述读取数据,一段上述读取数据包括上述预定数量的行数据。
上述实施方式中,从指定的字节位置开始,进行一行一行的读取方式,支持对大数据文件的解析和构建,减小内存负载。
第一处理单元40,用于对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。
为了提高通用性,一种可选的实施方式中,上述处理单元包括:
确定模块,用于根据上述文件查询请求确定需求格式,上述需求格式为上述文件查询请求要求的查询文件的格式;
生成模块,用于对多个上述结果数据文件进行聚合并生成上述需求格式的上述生成文件。
上述实施方式中,如图7所示,分页查询文件数据,分段写入结果文件,生成最终的结果数据文件,上传至文件共享服务器,完成文件查询聚合功能,并且根据文件查询请求的需求格式,构建统一的解析的文件数据格式,使得最终聚合文件的格式为需求格式,满足任意一种格式需求,提高了文件聚合方法的通用性。
上述文件数据聚合装置中,接收单元接收文件查询请求;生成单元根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;解析单元调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;处理单元对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该文件数据聚合装置通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
本申请实施例还提供了一种查询系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。
上述查询系统中,由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该查询系统通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
为了使得本领域技术人员能够更加清楚地了解本申请的技术方案,以下将结合具体的实施例对本申请的文件数据聚合方法的实现过程进行详细说明。
上述文件数据聚合装置包括处理器和存储器,上述获取单元、生成单元、解析单元、第一处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中查询过程中文件聚合效率低的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在上述程序运行时控制上述计算机可读存储介质所在设备执行上述文件数据聚合方法。
具体地,文件数据聚合方法包括:
步骤S201,接收文件查询请求;
步骤S202,根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;
步骤S203,调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;
步骤S204,对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。
可选地,在上述步骤S202之前,上述方法还包括:步骤S301,在接收到客户端发送的文件查询请求的情况下,将上述生成文件路径同步反馈至上述客户端。
可选地,在上述步骤S202之后,在上述步骤S203之前,上述方法还包括:步骤S401,在任务队列的任务数量达到预定数量的情况下,拒绝上述文件解析任务的提交,并将未提交至上述任务队列的上述文件解析任务存入数据库;步骤S402,间隔预定时间提交上述数据库中上述文件解析任务。
可选地,上述步骤S203包括:步骤S2031,获取步骤,分段获取目标响应文件数据,得到多段读取数据,上述目标响应文件数据为任意一个上述响应文件数据;步骤S2032,解析步骤,调用上述响应文件数据对应的上述线程依次对多段上述读取数据进行解析,得到上述结果数据文件;步骤S2033,依次重复上述获取步骤和上述解析步骤至少一次,直至得到所有的上述结果数据文件。
可选地,上述步骤S2031包括:步骤S20311,采用字节位置定位法确定开始字节位置,上述开始字节位置为开始读取上述目标响应文件数据的字节位置;步骤S20312,从上述开始字节位置起始,依次读取上述目标响应文件数据中预定数量的行数据,得到多段上述读取数据,一段上述读取数据包括上述预定数量的行数据。
可选地,上述步骤S204包括:步骤S2041,根据上述文件查询请求确定需求格式,上述需求格式为上述文件查询请求要求的查询文件的格式;步骤S2042,对多个上述结果数据文件进行聚合并生成上述需求格式的上述生成文件。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述文件数据聚合方法。
具体地,文件数据聚合方法包括:
步骤S201,接收文件查询请求;
步骤S202,根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;
步骤S203,调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;
步骤S204,对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。
可选地,在上述步骤S202之前,上述方法还包括:步骤S301,在接收到客户端发送的文件查询请求的情况下,将上述生成文件路径同步反馈至上述客户端。
可选地,在上述步骤S202之后,在上述步骤S203之前,上述方法还包括:步骤S401,在任务队列的任务数量达到预定数量的情况下,拒绝上述文件解析任务的提交,并将未提交至上述任务队列的上述文件解析任务存入数据库;步骤S402,间隔预定时间提交上述数据库中上述文件解析任务。
可选地,上述步骤S203包括:步骤S2031,获取步骤,分段获取目标响应文件数据,得到多段读取数据,上述目标响应文件数据为任意一个上述响应文件数据;步骤S2032,解析步骤,调用上述响应文件数据对应的上述线程依次对多段上述读取数据进行解析,得到上述结果数据文件;步骤S2033,依次重复上述获取步骤和上述解析步骤至少一次,直至得到所有的上述结果数据文件。
可选地,上述步骤S2031包括:步骤S20311,采用字节位置定位法确定开始字节位置,上述开始字节位置为开始读取上述目标响应文件数据的字节位置;步骤S20312,从上述开始字节位置起始,依次读取上述目标响应文件数据中预定数量的行数据,得到多段上述读取数据,一段上述读取数据包括上述预定数量的行数据。
可选地,上述步骤S204包括:步骤S2041,根据上述文件查询请求确定需求格式,上述需求格式为上述文件查询请求要求的查询文件的格式;步骤S2042,对多个上述结果数据文件进行聚合并生成上述需求格式的上述生成文件。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的文件数据聚合方法中,首先,接收文件查询请求;然后,根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;之后,调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;最后,对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该文件数据聚合方法通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
2)、本申请的文件数据聚合装置中,接收单元接收文件查询请求;生成单元根据上述文件查询请求生成多个文件解析任务,上述文件解析任务为解析数据源的响应文件数据的任务,上述文件解析任务与上述数据源一一对应,上述响应文件数据为上述数据源响应于上述文件查询请求的查询数据;解析单元调用线程一一对应地执行上述文件解析任务,得到多个结果数据文件,上述结果数据文件与上述数据源一一对应;处理单元对多个上述结果数据文件进行聚合,得到生成文件,并将上述生成文件存入生成文件路径对应的文件夹。由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该文件数据聚合装置通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
3)、本申请的查询系统中,由于现有技术中一个文件查询请求调用一个线程对所有的数据源的响应文件数据进行解析,导致线程获取B数据源的响应文件数据时无法对已经获取的A数据源的响应文件数据进行解析,所有的响应文件数据获取完成一起解析和聚合,导致文件数据聚合效率低,该查询系统通过一个数据源匹配一个线程进行一一对应地执行文件解析任务,实现响应文件数据的并行解析,大大提高了文件数据聚合效率,解决了现有技术中查询过程中文件聚合效率低的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种文件数据聚合方法,其特征在于,包括:
接收文件查询请求;
根据所述文件查询请求生成多个文件解析任务,所述文件解析任务为解析数据源的响应文件数据的任务,所述文件解析任务与所述数据源一一对应,所述响应文件数据为所述数据源响应于所述文件查询请求的查询数据;
调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件,所述结果数据文件与所述数据源一一对应;
对多个所述结果数据文件进行聚合,得到生成文件,并将所述生成文件存入生成文件路径对应的文件夹。
2.根据权利要求1所述的方法,其特征在于,在根据所述文件查询请求生成多个文件解析任务之前,所述方法还包括:
在接收到客户端发送的文件查询请求的情况下,将所述生成文件路径同步反馈至所述客户端。
3.根据权利要求1所述的方法,其特征在于,调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件,包括:
获取步骤,分段获取目标响应文件数据,得到多段读取数据,所述目标响应文件数据为任意一个所述响应文件数据;
解析步骤,调用所述响应文件数据对应的所述线程依次对多段所述读取数据进行解析,得到所述结果数据文件;
依次重复所述获取步骤和所述解析步骤至少一次,直至得到所有的所述结果数据文件。
4.根据权利要求3所述的方法,其特征在于,分段获取目标响应文件数据,得到多段数据,包括:
采用字节位置定位法确定开始字节位置,所述开始字节位置为开始读取所述目标响应文件数据的字节位置;
从所述开始字节位置起始,依次读取所述目标响应文件数据中预定数量的行数据,得到多段所述读取数据,一段所述读取数据包括所述预定数量的行数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,对多个所述结果数据文件进行聚合,得到生成文件,包括:
根据所述文件查询请求确定需求格式,所述需求格式为所述文件查询请求要求的查询文件的格式;
对多个所述结果数据文件进行聚合并生成所述需求格式的所述生成文件。
6.根据权利要求1至4任一项所述的方法,其特征在于,在根据所述文件查询请求生成多个文件解析任务之后,在调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件之前,所述方法还包括:
在任务队列的任务数量达到预定数量的情况下,拒绝所述文件解析任务的提交,并将未提交至所述任务队列的所述文件解析任务存入数据库;
间隔预定时间提交所述数据库中所述文件解析任务。
7.一种文件数据聚合装置,其特征在于,包括:
接收单元,用于接收文件查询请求;
生成单元,用于根据所述文件查询请求生成多个文件解析任务,所述文件解析任务为解析数据源的响应文件数据的任务,所述文件解析任务与所述数据源一一对应,所述响应文件数据为所述数据源响应于所述文件查询请求的查询数据;
解析单元,用于调用线程一一对应地执行所述文件解析任务,得到多个结果数据文件,所述结果数据文件与所述数据源一一对应;
第一处理单元,用于对多个所述结果数据文件进行聚合,得到生成文件,并将所述生成文件存入生成文件路径对应的文件夹。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的方法。
10.一种查询系统,其特征在于,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718800.8A CN116226045A (zh) | 2022-12-29 | 2022-12-29 | 文件数据聚合方法、文件数据聚合装置和查询系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211718800.8A CN116226045A (zh) | 2022-12-29 | 2022-12-29 | 文件数据聚合方法、文件数据聚合装置和查询系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116226045A true CN116226045A (zh) | 2023-06-06 |
Family
ID=86586455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211718800.8A Pending CN116226045A (zh) | 2022-12-29 | 2022-12-29 | 文件数据聚合方法、文件数据聚合装置和查询系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116226045A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737172A (zh) * | 2023-08-11 | 2023-09-12 | 杭州初灵信息技术股份有限公司 | 一种小颗粒数据包的解析系统和方法 |
-
2022
- 2022-12-29 CN CN202211718800.8A patent/CN116226045A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737172A (zh) * | 2023-08-11 | 2023-09-12 | 杭州初灵信息技术股份有限公司 | 一种小颗粒数据包的解析系统和方法 |
CN116737172B (zh) * | 2023-08-11 | 2023-12-12 | 杭州初灵信息技术股份有限公司 | 一种小颗粒数据包的解析系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN109002362B (zh) | 一种服务方法、装置、系统以及电子设备 | |
CN111339041B (zh) | 文件解析入库、文件生成方法及装置 | |
US20180329644A1 (en) | Data Pipeline Architecture for Analytics Processing Stack | |
CN112507029B (zh) | 数据处理系统及数据实时处理方法 | |
CN106909361B (zh) | 基于模版引擎的web开发方法和装置 | |
CN110297944B (zh) | 分布式xml数据处理方法及系统 | |
CN103646073A (zh) | 一种基于HBase表的条件查询优化方法 | |
CN109977822B (zh) | 数据供给方法、模型训练方法、装置、系统、设备和介质 | |
US20220091892A1 (en) | Method and system of processing data based on quic protocol stack, device and storage medium | |
CN112416964A (zh) | 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质 | |
US10489179B1 (en) | Virtual machine instance data aggregation based on work definition metadata | |
CN116226045A (zh) | 文件数据聚合方法、文件数据聚合装置和查询系统 | |
CN112395337B (zh) | 一种数据导出方法和装置 | |
CN111913792A (zh) | 一种业务处理方法和装置 | |
WO2023082681A1 (zh) | 基于批流一体的数据处理方法、装置、计算机设备和介质 | |
CN113392131A (zh) | 数据处理方法、装置及计算机设备 | |
CN113326056A (zh) | 数据处理方法、装置、存储介质及处理器 | |
US20210224272A1 (en) | Method, device, computer apparatus, and storage medium for storing data | |
US10733002B1 (en) | Virtual machine instance data aggregation | |
US11968280B1 (en) | Controlling ingestion of streaming data to serverless function executions | |
CN112988806A (zh) | 一种数据处理的方法及装置 | |
CN115982285B (zh) | 数据处理方法、设备及计算机可读存储介质 | |
CN114610765B (zh) | 流计算方法、装置、设备及存储介质 | |
CN115600567B (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 |