CN117112600A - 基于数据库的文件处理方法、装置、存储介质及电子设备 - Google Patents
基于数据库的文件处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117112600A CN117112600A CN202311085526.XA CN202311085526A CN117112600A CN 117112600 A CN117112600 A CN 117112600A CN 202311085526 A CN202311085526 A CN 202311085526A CN 117112600 A CN117112600 A CN 117112600A
- Authority
- CN
- China
- Prior art keywords
- file
- target
- downloading
- configuration information
- data
- 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 25
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 68
- 238000012795 verification Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 14
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于数据库的文件处理方法、装置、存储介质及电子设备。涉及大数据技术领域、金融科技领域或其他相关领域。该方法包括:获取文件下载指令;基于文件下载指令,获取目标文件的文件配置信息,并基于文件下载指令和文件配置信息,从数据库中获取目标文件的原始业务数据,其中,文件下载指令通过N个线程池中的目标线程池独立执行;基于文件配置信息和原始业务数据,生成目标SQL语句,其中,目标SQL语句用于对原始业务数据的数据格式进行调整;执行目标SQL语句,生成目标文件,并将目标文件存储至服务器。本发明解决了相关技术中基于固定模板从单一数据库获取数据、异步生成文件、文件生成和下载的效果不佳的技术问题。
Description
技术领域
本发明涉及大数据技术领域、金融科技领域或其他相关领域,具体而言,涉及一种基于数据库的文件处理方法、装置、存储介质及电子设备。
背景技术
目前,在大多数应用中,文件生成和文件下载是一个非常重要的基础架构系统,相关技术中,大部分文件生成方法都是基于framemaker(一种网页模板和数据模型的结合体)、POI(一种开放源码函式库)等开源工具基于固定模板生成,针对新类型的文件需要单独配置模板和开发代码。对于大文件的生成,需要采用异步生成的方式,将生成后的文件存放在当前服务器上等待下载。
由于相关技术中的文件都是基于固定模板生成,对于新增类型的文件需要单独配置模板,工作量大,开发完成之后,可扩展性较差,不便于模板内字段的位置调整和格式修改,新增文件类型需要重新开发对应的文件模板和文件内容,文件所需数据只能从单一数据库获取。在文件下载方面,相关技术中采用的异步生成和存储方式容易造成生成队列堵塞,对于大文件的生成和队列管理缺少有效控制,缺少公共的文件存放服务器,处理不当往往会造成磁盘耗尽、处理时效长和下载缓慢等问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于数据库的文件处理方法、装置、存储介质及电子设备,以至少解决相关技术中基于固定模板从单一数据库获取数据、异步生成文件、文件生成和下载的效果不佳的技术问题。
根据本发明实施例的一个方面,提供了一种基于数据库的文件处理方法,包括:获取文件下载指令,其中,所述文件下载指令用于请求下载目标文件;基于所述文件下载指令,获取所述目标文件的文件配置信息,并基于所述文件下载指令和所述文件配置信息,从数据库中获取所述目标文件的原始业务数据,其中,所述文件下载指令通过N个线程池中的目标线程池独立执行,所述文件配置信息至少包括:所述目标文件的文件格式、所述目标文件的字段信息和文件类型标识,所述目标线程池用于处理与所述目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数;基于所述文件配置信息和所述原始业务数据,生成目标SQL语句,其中,所述目标SQL语句用于对所述原始业务数据的数据格式进行调整;执行所述目标SQL语句,生成所述目标文件,并将所述目标文件存储至服务器,其中,所述服务器用于提供客户端需要下载的文件。
进一步地,基于所述文件配置信息和所述原始业务数据,生成目标SQL语句,包括:将所述原始业务数据添加至数据表,其中,所述数据表用于临时存储所述原始业务数据,所述数据表的字段顺序与所述配置信息中的字段顺序序号一致;基于所述数据表的字段信息和所述文件配置信息,生成所述目标SQL语句。
进一步地,基于所述数据表的字段信息和所述文件配置信息,生成所述目标SQL语句,包括:基于所述字段顺序序号和所述数据表的字段信息,生成列名,其中,所述列名用于定位所述数据表中的数据;基于所述目标文件的字段信息、字段调整函数和所述列名,生成所述目标SQL语句。
进一步地,在获取文件下载指令之前,还包括:获取所述目标文件的基本配置信息,其中,所述基本配置信息至少包括:所述目标文件的文件格式、文件类型标识、所述数据库的信息和查询所述数据库中数据的数据查询语句;获取所述目标文件的字段信息,其中,所述目标文件的字段信息包括下述至少之一:字段格式、所述字段格式的处理规则和字段顺序序号;基于所述基本配置信息和所述目标文件的字段信息,确定所述文件配置信息。
进一步地,所述文件下载指令中的信息至少包括:查询条件、所述文件类型标识,基于所述文件下载指令和所述文件配置信息,从数据库中获取所述目标文件的原始业务数据,包括:基于所述文件下载指令中的所述文件类型标识,连接所述数据库;基于所述查询条件和所述文件配置信息中的数据查询语句,生成目标查询语句;通过所述目标查询语句从所述数据库中获取所述原始业务数据。
进一步地,将所述目标文件存储至服务器,包括:生成所述目标文件的主键标识,并建立所述主键标识与所述文件下载指令的关联关系;将所述主键标识添加至下载指令表中的下载主键字段,并将所述目标文件存储至所述服务器,生成以所述主键标识命名的子目录,其中,所述下载指令表至少包括:文件类型标识字段、查询条件字段、下载主键字段。
进一步地,在将所述目标文件存储至服务器之后,还包括:响应目标对象发起的文件下载命令,对所述目标对象的下载权限进行验证,并在所述下载权限的验证结果指示验证通过的情况下,基于所述下载指令表获取所述主键标识;基于所述主键标识,查询以所述主键标识命名的子目录;在以所述主键标识命名的子目录下载所述目标文件。
进一步地,所述下载权限至少包括:是否允许下载所述目标文件、允许下载所述目标文件的下载次数阈值和允许下载所述目标文件的时间段。
进一步地,在获取文件下载指令之后,还包括:根据所述目标文件的文件类型标识,从N个所述线程池选择所述目标线程池;将所述文件下载指令添加至所述目标线程池中的队列,其中,所述队列用于控制相同文件类型的文件关联的下载指令异步执行。
根据本发明实施例的另一方面,还提供了一种基于数据库的文件处理装置,包括:第一获取单元,用于获取文件下载指令,其中,所述文件下载指令用于请求下载目标文件;第一处理单元,用于基于所述文件下载指令,获取所述目标文件的文件配置信息,并基于所述文件下载指令和所述文件配置信息,从数据库中获取所述目标文件的原始业务数据,其中,所述文件下载指令通过N个线程池中的目标线程池独立执行,所述文件配置信息至少包括:所述目标文件的文件格式、所述目标文件的字段信息和文件类型标识,所述目标线程池用于处理与所述目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数;生成单元,用于基于所述文件配置信息和所述原始业务数据,生成目标SQL语句,其中,所述目标SQL语句用于对所述原始业务数据的数据格式进行调整;第二处理单元,用于执行所述目标SQL语句,生成所述目标文件,并将所述目标文件存储至服务器,其中,所述服务器用于提供客户端需要下载的文件。
进一步地,生成单元包括:添加子单元,用于将所述原始业务数据添加至数据表,其中,所述数据表用于临时存储所述原始业务数据,所述数据表的字段顺序与所述配置信息中的字段顺序序号一致;第一生成子单元,用于基于所述数据表的字段信息和所述文件配置信息,生成所述目标SQL语句。
进一步地,第一生成子单元包括:第一生成模块,用于基于所述字段顺序序号和所述数据表的字段信息,生成列名,其中,所述列名用于定位所述数据表中的数据;第二生成模块,用于基于所述目标文件的字段信息、字段调整函数和所述列名,生成所述目标SQL语句。
进一步地,基于数据库的文件处理装置还包括:第二获取单元,用于在获取文件下载指令之前,获取所述目标文件的基本配置信息,其中,所述基本配置信息至少包括:所述目标文件的文件格式、文件类型标识、所述数据库的信息和查询所述数据库中数据的数据查询语句;第三获取单元,用于获取所述目标文件的字段信息,其中,所述目标文件的字段信息包括下述至少之一:字段格式、所述字段格式的处理规则和字段顺序序号;确定单元,用于基于所述基本配置信息和所述目标文件的字段信息,确定所述文件配置信息。
进一步地,所述文件下载指令中的信息至少包括:查询条件、所述文件类型标识,第一处理单元包括:连接子单元,用于基于所述文件下载指令中的所述文件类型标识,连接所述数据库;第二生成子单元,用于基于所述查询条件和所述文件配置信息中的数据查询语句,生成目标查询语句;获取子单元,用于通过所述目标查询语句从所述数据库中获取所述原始业务数据。
进一步地,第二处理单元包括:第三生成子单元,用于生成所述目标文件的主键标识,并建立所述主键标识与所述文件下载指令的关联关系;存储子单元,用于将所述主键标识添加至下载指令表中的下载主键字段,并将所述目标文件存储至所述服务器,生成以所述主键标识命名的子目录,其中,所述下载指令表至少包括:文件类型标识字段、查询条件字段、下载主键字段。
进一步地,基于数据库的文件处理装置还包括:第三处理单元,用于在将所述目标文件存储至服务器之后,响应目标对象发起的文件下载命令,对所述目标对象的下载权限进行验证,并在所述下载权限的验证结果指示验证通过的情况下,基于所述下载指令表获取所述主键标识;查询单元,用于基于所述主键标识,查询以所述主键标识命名的子目录;下载单元,用于在以所述主键标识命名的子目录下载所述目标文件。
进一步地,所述下载权限至少包括:是否允许下载所述目标文件、允许下载所述目标文件的下载次数阈值和允许下载所述目标文件的时间段。
进一步地,基于数据库的文件处理装置还包括:选择单元,用于在获取文件下载指令之后,根据所述目标文件的文件类型标识,从N个所述线程池选择所述目标线程池;添加单元,用于将所述文件下载指令添加至所述目标线程池中的队列,其中,所述队列用于控制相同文件类型的文件关联的下载指令异步执行。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的基于数据库的文件处理方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于数据库的文件处理方法。
在本发明中,获取文件下载指令,其中,文件下载指令用于请求下载目标文件;基于文件下载指令,获取目标文件的文件配置信息,并基于文件下载指令和文件配置信息,从数据库中获取目标文件的原始业务数据,其中,文件下载指令通过N个线程池中的目标线程池独立执行,文件配置信息至少包括:目标文件的文件格式、目标文件的字段信息和文件类型标识,目标线程池用于处理与目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数;基于文件配置信息和原始业务数据,生成目标SQL语句,其中,目标SQL语句用于对原始业务数据的数据格式进行调整;执行目标SQL语句,生成目标文件,并将目标文件存储至服务器,其中,服务器用于提供客户端需要下载的文件。进而解决了相关技术中基于固定模板从单一数据库获取数据、异步生成文件、文件生成和下载的效果不佳的技术问题。在本发明中,根据文件下载指令和文件配置信息动态生成目标SQL语句,通过目标SQL语句调整文件的数据格式,避免了相关技术中通过固定的模板生成文件,难以灵活调整的情况,从而实现了提高文件生成的灵活性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于数据库的文件处理方法的流程图;
图2是根据本发明实施例的一种可选的文件配置信息的配置页面的示意图;
图3是根据本发明实施例的一种可选的基于数据库的文件处理装置的示意图;
图4是根据本发明实施例的一种可选的文件配置模块的内部结构图;
图5是根据本发明实施例的一种可选的异步调度模块的内部结构图;
图6是根据本发明实施例的一种可选的数据获取模块的内部结构图;
图7是根据本发明实施例的一种可选的文件生成模块内部结构图;
图8是根据本发明实施例的一种可选的文件存储模块的内部结构图;
图9是根据本发明实施例的另一种可选的基于数据库的文件处理装置的示意图;
图10是根据本发明实施例的一种电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
实施例一
根据本发明实施例,提供了一种可选的基于数据库的文件处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的基于数据库的文件处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取文件下载指令,其中,文件下载指令用于请求下载目标文件。
上述的文件下载指令可以包括但不限于:申请编号、文件类型标识,查询条件(可以通过“|”分割,用户后续数据选取),指令的提交时间等信息等,文件类型可以用于表示该下载指令下载的文件关联的业务数据的数据格式,例如:字段格式、字段内的数据格式、字段顺序等。
步骤S102,基于文件下载指令,获取目标文件的文件配置信息,并基于文件下载指令和文件配置信息,从数据库中获取目标文件的原始业务数据,其中,文件下载指令通过N个线程池中的目标线程池独立执行,文件配置信息至少包括:目标文件的文件格式、目标文件的字段信息和文件类型标识,目标线程池用于处理与目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数。
上述的文件配置信息可以包括但不限于:文件格式(例如:csv、xls、txt、zip等),目标文件的字段信息(例如:字段顺序、字段的数据格式)、目标文件的类型标识,目标文件所关联的数据所在的数据库信息和从数据库中获取该数据的数据获取语句,为了灵活调整生成文件的文件模板,在本实施例中,可以从存储文件配置信息的数据库中获取文件配置信息,该文件配置信息可以在文件配置信息的配置页面中动态调整该文件配置信息,其中,还可以通过quarts、schedule等线程调度工具替代线程池。
为避免出现单个文件生成时间过长造成队列堵塞或者某一线程池异常导致整个文件下载系统不可用的情况,可以通过文件类型字段区分加入独立的线程池处理,即一个线程池处理一个文件类型的目标文件。
基于文件下载指令中的文件配置标识,可以获取到目标文件的文件配置信息,并基于文件下载指令的下载条件和文件配置信息中的数据获取语句,从对应的数据库中获取目标文件的原始业务数据。
步骤S103,基于文件配置信息和原始业务数据,生成目标SQL语句,其中,目标SQL语句用于对原始业务数据的数据格式进行调整。
为了避免相关技术中基于固定模板生成文件,对于新增类型的文件需要单独配置模板,工作量大,开发完成之后,可扩展性较差,在实施例中,上述的目标SQL语句可以用于对原始业务数据的数据格式进行调整,也即是,本实施例中,根据文件配置信息和原始业务数据,动态的生成目标SQL语句,例如:基于该文件配置信息中,生成用于将原始业务数据的数据格式调整为文件配置信息中所描述的格式的目标SQL(结构化查询语言)语句,。
步骤S104,执行目标SQL语句,生成目标文件,并将目标文件存储至服务器,其中,服务器用于提供客户端需要下载的文件。
在本实施例中,可以通过执行目标SQL语句将原始业务数据转换为文件配置信息中所描述的格式,得到目标文件,将目标文件存储至服务器中,通过服务器为客户端提供该目标文件的下载服务。
通过上述步骤,在本实施例中,根据文件下载指令和文件配置信息动态生成目标SQL语句,通过目标SQL语句调整文件的数据格式,避免了相关技术中通过固定的模板生成文件,难以灵活调整的情况,从而实现了提高文件生成的灵活性的技术效果。进而解决了相关技术中基于固定模板从单一数据库获取数据、异步生成文件、文件生成和下载的效果不佳的技术问题。
可选地,基于文件配置信息和原始业务数据,生成目标SQL语句,包括:将原始业务数据添加至数据表,其中,数据表用于临时存储原始业务数据,数据表的字段顺序与配置信息中的字段顺序序号一致;基于数据表的字段信息和文件配置信息,生成目标SQL语句。
在本实施例中,可以将原始业务数据添加至用于临时存储原始业务数据的数据表中,然后基于临时表中的字段信息和文件配置信息,生成目标SQL语句。
例如:若公共临时表(TEMP_COMMON)(对应于数据表)的字段结构如表1所示:
表1
文件配置信息中默认的字段顺序和公共临时表中的原始业务数据一一对应,可以将文件顺序序号拼接到“COLNUM”字段后,组成所需列名,利用字段调整函数对数据格式进行调整,生成的动态SQL(对应于目标SQL语句)为:Select FUNC_RPAD(COLNUM1,4,CHR(32)),FUNC_RPAD(COLNUM2,2,CHR(32)),FUNC_RPAD(COLNUM3,20,CHR(32)),FUNC_RPAD(COLNUM4,30,CHR(32))FROM TEMP_COMMON where APPNO=1。
需要说明的是生成目标SQL语句后还可以对目标文件的数据格式进行调整,例如:
文件格式调整后(例如:缴费通知单编号、交易类别交换位置,缴费通知单编号字段长度变长),调整如表2所示:
表2
文件类型 | 列名 | 数据生成规则 | 文件顺序序号 |
文件A | 交易序列号 | X:24 | 1 |
文件A | 缴费通知单编号 | X:25 | 3 |
文件A | 交易类别 | X:2 | 2 |
文件A | 年金计划编码 | X:30 | 4 |
动态SQL语句读取规则配置后也会自动调整,对应调整为:Select FUNC_RPAD(COLNUM1,4,CHR(32)),FUNC_RPAD(COLNUM3,25,CHR(32)),FUNC_RPAD(COLNUM2,2,CHR(32)),FUNC_RPAD(COLNUM4,30,CHR(32))FROM TEMP_COMMON where APPNO=1。
可选地,基于数据表的字段信息和文件配置信息,生成目标SQL语句,包括:基于字段顺序序号和数据表的字段信息,生成列名,其中,列名用于定位数据表中的数据;基于目标文件的字段信息、字段调整函数和列名,生成目标SQL语句。
可以将文件顺序序号拼接到“COLNUM”字段后,组成所需列名,利用字段调整函数(FUNC_RPAD)对数据格式进行调整(格式调整例如:字段补位,数字小数位调整,日期格式转换等),生成的动态SQL(对应于目标SQL语句)。
可选地,在获取文件下载指令之前,还包括:获取目标文件的基本配置信息,其中,基本配置信息至少包括:目标文件的文件格式、文件类型标识、数据库的信息和查询数据库中数据的数据查询语句;获取目标文件的字段信息,其中,目标文件的字段信息包括下述至少之一:字段格式、字段格式的处理规则和字段顺序序号;基于基本配置信息和目标文件的字段信息,确定文件配置信息。
在本实施例中,可以设置目标文件的基本配置信息,例如:
1.设置文件名称/文件类型标识;
2.设置文件格式,例如csv、xls、txt、zip这四种格式文件的生成,还可以将设置结果存入数据库,用于生成目标文件;
3.设置数据所在数据库和数据获取语句。
基本配置信息记录如表3所示:
表3
在本实施例中,还可以设置目标文件的字段信息,例如:
设置文件字段(对应于字段格式)和格式处理规则,并指定字段顺序,用于文件内容的生成,字段顺序和字段格式可以由前台操作人员设置,便于后续文件改动,降低目标文件的后期维护所需的开发工作量。
字段格式的处理规则举例:
字符型:X:10,则会将字符型数据自动补齐到10位。
数字型:N:17,2,保留两位小数,自动将1转换为1.00。
日期型:D:yyyymmdd,将日期转换为20200101格式。
图2是根据本发明实施例的一种可选的文件配置信息的配置页面的示意图,如图2所示,该页面可以包括字段定义、选择、字段名、中文描述、类型、长度、备注及字段顺序。在该页面中包括字段编辑部分,具体地:字段编辑部分包括:字段名、中文描述、类型、长度、备注等输入框,还包括:新增、修改、删除、插入、上移、下移、确定和取消等按钮。
由目标文件的基本配置信息和目标文件的字段信息可以组成文件配置信息,在确定文件配置信息之后,以图2中的交易序列号、交易列表、缴费通知编号、委托人年金计划编码所在行为例,数据库记录格式如表4所示:
表4
文件类型 | 列名 | 数据生成规则 | 文件顺序序号 |
文件A | 交易序列号 | X:24 | 1 |
文件A | 交易类别 | X:2 | 2 |
文件A | 缴费通知单编号 | X:20 | 3 |
文件A | 年金计划编码 | X:30 | 4 |
表4中的文件字段的生成顺序和生成规则可由用户动态配置调整,如图2中操作页面,可以上移、下移、增加、修改字段格式,最终修改后的结果也可以记入数据库,用于生成目标文件,实现了灵活调整目标文件的数据格式或文件生成模板的技术效果。
可选地,文件下载指令中的信息至少包括:查询条件、文件类型标识,基于文件下载指令和文件配置信息,从数据库中获取目标文件的原始业务数据,包括:基于文件下载指令中的文件类型标识,连接数据库;基于查询条件和文件配置信息中的数据查询语句,生成目标查询语句;通过目标查询语句从数据库中获取原始业务数据。
表5给出了一种可选的文件下载指令所包括的信息,如表5所示包括:申请编号、文件类型、查询条件、提交时间、下载主键。
表5
申请编号 | 文件类型 | 查询条件 | 提交时间 | 下载主键 |
001 | 文件A | 企业名称|2020年 | 2023-01-01 12:00:00 | |
002 | 文件B | 企业名称|人员姓名 | 2023-01-01 13:00:00 |
在本实施例中,可以根据文件下载指令中文件类型表示文件配置信息中的数据获取语句(对应于数据查询语句),结合文件下载指令中的查询条件,连接对应数据库(MYSQL/ORACLE/GAUSSDB),可以通过获取数据查询语句、查询条件,组成目标查询语句,从数据库中查询出原始业务数据,插入公共临时表,实现了精准获取原始业务数据的技术效果。
可选地,将目标文件存储至服务器,包括:生成目标文件的主键标识,并建立主键标识与文件下载指令的关联关系;将主键标识添加至下载指令表中的下载主键字段,并将目标文件存储至服务器,生成以主键标识命名的子目录,其中,下载指令表至少包括:文件类型标识字段、查询条件字段、下载主键字段。
在本实施例中,可以生成目标文件的唯一主键ID(对应于主键标识),关联文件下载指令,记入下载指令表(如表6所示),将文件上送到公共存储服务器(对应于服务器),生成主键ID命名的子目录,放入目标文件,通过保存该目标文件,实现了提高后续目标文件的下载速度的技术效果。
表6
申请编号 | 文件类型 | 查询条件 | 提交时间 | 下载主键 |
001 | 文件A | 企业名称|2020年 | 2023-01-01 12:00:00 | 主键ID1 |
002 | 文件B | 企业名称|人员姓名 | 2023-01-01 13:00:00 | 主键ID2 |
可选地,在将目标文件存储至服务器之后,还包括:响应目标对象发起的文件下载命令,对目标对象的下载权限进行验证,并在下载权限的验证结果指示验证通过的情况下,基于下载指令表获取主键标识;基于主键标识,查询以主键标识命名的子目录;在以主键标识命名的子目录下载目标文件。
在本实施例中,对于最终成功生成的目标文件,可以通过日志记录生成的文件类型、生成时间和生成次数,用于对于含有客户敏感信息的文件类型进行下载权限的控制。在目标对象发起文件下载命令后,可以基于日志中记录的数据,对目标对象的下载权限进行验证,并在下载权限的验证结果指示验证通过的情况下,基于下载指令表获取主键标识,基于主键标识,查询以主键标识命名的子目录,在以主键标识命名的子目录下载目标文件。
例如:用户查询文件下载指令,权限校验通过之后,上送对应的下载主键(即主键标识),在文件下载的服务器上对应的子目录获取对应的文件,供用户下载。实现了目标文件的下载效率的技术效果。
可选地,下载权限至少包括:是否允许下载目标文件、允许下载目标文件的下载次数阈值和允许下载目标文件的时间段。
下载权限可以包括:单个用户的每个时间段(例如:每天)下载次数,不允许下载的时间段(例如:周末及节假日不允许下载),用户只能下载自己提交的文件下载指令等,实现了提高数据安全性和降低系统负载情况的技术效果。
可选地,基于数据库的文件处理装置还包括:选择单元,用于在获取文件下载指令之后,根据目标文件的文件类型标识,从N个线程池选择目标线程池;添加单元,用于将文件下载指令添加至目标线程池中的队列,其中,队列用于控制相同文件类型的文件关联的下载指令异步执行。
在本实施例中,用于生成相同文件类型的文件下载指令可以添加至同一线程池中的队列中,通过线程池中的队列控制相同文件类型的文件下载指令异步执行,例如:用于生成文件类型A的文件下载指令先添加至目标线程池中的队列中,用于生成文件类型A的另一文件下载指令后添加至目标线程池的队列中,先添加的文件下载指令可以先执行,后添加的可以后执行,即通过线程池的队列控制同一文件类型的文件下载指令异步执行,达到了不同文件类型的文件下载指令可以并发执行,相同文件类型的文件下载指令可以异步执行的目的,避免通过同一线程池处理多个文件过程中,容易产生队列阻塞的情况。
在本实施例中,可以基于数据库中的配置、异步线程池、动态SQL、文件存储服务器,灵活定义所需要的字段顺序,字段格式,通过多种不同类型的数据库获取原始数据,加工成最终所需文件。对于文件类型新增、字段修改等业务场景,通过客户端配置即可完成对应的改动,开发工作量小,扩展性强。对于文件生成通过线程池做了有效控制,避免出现因单个文件生成时间长而导致文件下载系统不可用的问题。公共文件存储服务器有效控制了文件磁盘资源的使用,提高了整个系统的健壮性和稳定性。
实施例二
本申请实施例二提供了一种可选的基于数据库的文件处理装置,图3是根据本发明实施例的一种可选的基于数据库的文件处理装置的示意图,如图3所示包括文件配置模块、异步调度模块、规则获取模块、数据生成模块、文件生成模块、文件存储模块、日志记录模块。其中,文件配置模块可以设置需要生成的文件名称、文件格式、字段顺序、字段格式、数据所在数据库、数据获取语句等文件生成的必要规则,配置在数据库对应表中。异步调度模块用户接收客户端发送的文件生成指令(对应于文件下载指令),按照文件类型加入独立的线程池处理,避免因单个文件生成时间过长堵塞队列,其中,异步调度模块不限于本实施例中的线程池,quarts、schedule等线程调度工具也可替代。规则获取模块用户获取用户预设的排序规则和数据格式转换规则。数据生成模块通过系统预设的查询语句和传入条件连接指定数据库筛选出所需数据,存入公共临时表(对应于实施一中的数据表)。文件生成模块通过预设字段规则和公共临时表,组成动态SQL(对应于目标SQL语句),选出最终文件所需数据并按指定格式生成文件。文件存储模块根据系统生成的唯一主键建立子目录并存放文件,用于后续下载。日志记录用于统计文件下载的次数、下载时间,主要用于下载权限的控制和交易量监控。
图4是根据本发明实施例的一种可选的文件配置模块的内部结构图,如图4所示,文件配置模块包括:文件基本信息401,用于设置文件基本信息,文件字段信息402,用于设置文件字段信息,
具体地,步骤401:文件基本信息的设置:
1)设置文件名称/文件类型标识;
2)设置文件格式,本系统支持csv、xls、txt、zip这四种格式文件的生成,将设置结果存入数据库用户后续文件生成:
3)设置数据所在数据库和数据获取语句如表3所示。
步骤402:文件字段信息的设置:设置文件字段和格式处理规则,并指定字段顺序,用于文件内容的生成,字段顺序和字段格式由前台操作人员设置,便于后续文件改动,较少后期维护所需的开发工作量。
字段格式处理规则举例:
1)字符型:X:10,则会将字符型数据自动补齐到10位。
2)数字型:N:17,2,保留两位小数,自动将1转换为1.00。
3)日期型:D:yyyymmdd,将日期转换为20200101格式。
配置结果记入数据库,以图2中的交易序列号、交易列表、缴费通知编号、委托人年金计划编码所在行为例,数据库记录格式如表4所示。
表4中的文件字段的生成顺序和生成规则可由用户动态配置调整,可以通过图2中上移、下移、增加和修改等按钮调整字段格式,最终结果都会记入数据库,用于后续文件生成。
图5是根据本发明实施例的一种可选的异步调度模块的内部结构图,下面结合图5进行说明:
步骤501:用户选择需要生成的文件,录入生成条件后,将文件下载指令提交到异步调度模块。下载指令包含申请编号、文件类型,查询条件(通过“|”分割,用户后续数据选取),提交时间等信息,具体如表5所示。
步骤502:异步调度模块选取步骤501提交的文件下载指令,通过文件类型字段区分加入独立的线程池处理,避免出现单个文件生成时间过长造成队列堵塞或者某一线程池异常导致整个文件下载系统不可用的情况。
图6是根据本发明实施例的一种可选的数据获取模块的内部结构图,下面结合图6进行说明:
步骤601:根据文件下载指令中文件类型获取步骤401中设置的数据获取语句,结合指令中的查询条件,连接对应数据库(MYSQL/ORACLE/GAUSSDB)。
步骤602:根据步骤401中获取查询语句、查询条件,组成查询语句,查询出原始的业务数据(即在对应数据库中选出文件中的数据),插入公共临时表。
公共临时表(TEMP_COMMON)的字段结构如表1所示。
图7是根据本发明实施例的一种可选的文件生成模块内部结构图,下面结合图7进行说明:
步骤701:通过步骤402中设置的文件规则和步骤601的获取到的原始数据,拼接动态SQL(对应于实施例一的目标SQL语句),生成最终业务文件中的数据。
以步骤402中的配置为例:默认的字段顺序和临时表中的原始业务数据必须一一对应,将文件顺序序号拼接到“COLNUM”字段后,组成所需列名,利用字段调整函数(FUNC_RPAD)对数据格式进行调整(格式调整:字段补位,数字小数位调整,日期格式转换等),生成的动态SQL为:
Select FUNC_RPAD(COLNUM1,4,CHR(32)),FUNC_RPAD(COLNUM2,2,CHR(32)),FUNC_RPAD(COLNUM3,20,CHR(32)),FUNC_RPAD(COLNUM4,30,CHR(32))FROM TEMP_COMMONwhere APPNO=1;
文件格式调整后(例如:缴费通知单编号、交易类别交换位置,缴费通知单编号字段长度变长),上述动态SQL语句读取规则配置后也会自动调整:表2对应的动态SQL语句:Select FUNC_RPAD(COLNUM1,4,CHR(32)),FUNC_RPAD(COLNUM3,25,CHR(32)),FUNC_RPAD(COLNUM2,2,CHR(32)),FUNC_RPAD(COLNUM4,30,CHR(32))FROM TEMP_COMMON where APPNO=1。
步骤702:利用步骤501获取的数据和步骤201的文件格式配置,生成指定格式的文件。
步骤703:记录日志,用于权限控制,对于最终成功生成的文件,通过日志记录模块记录生成的文件类型、生成时间和生成次数,日志主要用于对于含有客户敏感信息的文件类型进行下载权限的控制。敏感报表的控制方式主要包括:
1)控制单个用户的每日下载次数;
2)控制周末及节假日不允许下载;
3)只能下载自己提交的文件下载指令。
图8为文件存储模块的内部结构图,下面结合图8进行举例说明:
步骤801:生成唯一主键ID,关联文件下载指令,记入下载指令表(如表6所示),将文件上送到公共存储服务器,生成主键ID命名的子目录(如图8中文件A对应的子目录:主键ID1、文件B对应的子目录:主键ID2以及文件N对应的子目录:主键ID(N)),放入文件。
步骤802:用户在客户端可以查询文件下载指令,权限校验通过之后,上送对应的下载主键,在文件下载服务器上对应的子目录获取对应的文件,供用户下载。
在本实施例中,可以基于数据库中的配置、异步线程池、动态SQL、文件存储服务器,灵活定义所需要的字段顺序,字段格式,通过多种不同类型的数据库获取原始数据,加工成最终所需文件。对于文件类型新增、字段修改等业务场景,通过客户端配置即可完成对应的改动,开发工作量小,扩展性强。对于文件生成通过线程池做了有效控制,避免出现因单个文件生成时间长而导致文件下载系统不可用的问题。公共文件存储服务器有效控制了文件磁盘资源的使用,提高了整个系统的健壮性和稳定性。
实施例三
本申请实施例三提供了另一种可选的基于数据库的文件处理装置,该文件处理装置中的各个实施单元对应于实施例一中的各个实施步骤。
图9是根据本发明实施例的一种可选的基于数据库的文件处理装置的示意图,如图9所示,该文件处理装置包括:第一获取单元91、第一处理单元92、生成单元93以及第二处理单元94。
第一获取单元91,用于获取文件下载指令,其中,文件下载指令用于请求下载目标文件;
第一处理单元92,用于基于文件下载指令,获取目标文件的文件配置信息,并基于文件下载指令和文件配置信息,从数据库中获取目标文件的原始业务数据,其中,文件下载指令通过N个线程池中的目标线程池独立执行,文件配置信息至少包括:目标文件的文件格式、目标文件的字段信息和文件类型标识,目标线程池用于处理与目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数;
生成单元93,用于基于文件配置信息和原始业务数据,动态生成目标SQL语句,其中,目标SQL语句用于对原始业务数据的数据格式进行调整;
第二处理单元94,用于执行目标SQL语句,生成目标文件,并将目标文件存储至服务器,其中,服务器用于提供客户端需要下载的文件。
在本申请实施例三提供的基于数据库的文件处理装置中,可以通过第一获取单元91获取文件下载指令,其中,文件下载指令用于请求下载目标文件,通过第一处理单元92基于文件下载指令,获取目标文件的文件配置信息,并基于文件下载指令和文件配置信息,从数据库中获取目标文件的原始业务数据,其中,文件下载指令通过N个线程池中的目标线程池独立执行,文件配置信息至少包括:目标文件的文件格式、目标文件的字段信息和文件类型标识,目标线程池用于处理与目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数,通过生成单元93基于文件配置信息和原始业务数据,生成目标SQL语句,其中,目标SQL语句用于对原始业务数据的数据格式进行调整,通过第二处理单元94执行目标SQL语句,生成目标文件,并将目标文件存储至服务器,其中,服务器用于提供客户端需要下载的文件。进而解决了相关技术中基于固定模板从单一数据库获取数据、异步生成文件、文件生成和下载的效果不佳的技术问题。在本实施例中,根据文件下载指令和文件配置信息动态生成目标SQL语句,通过目标SQL语句调整文件的数据格式,避免了相关技术中通过固定的模板生成文件,难以灵活调整的情况,从而实现了提高文件生成的灵活性的技术效果。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,生成单元包括:添加子单元,用于将原始业务数据添加至数据表,其中,数据表用于临时存储原始业务数据,数据表的字段顺序与配置信息中的字段顺序序号一致;第一生成子单元,用于基于数据表的字段信息和文件配置信息,生成目标SQL语句。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,第一生成子单元包括:第一生成模块,用于基于字段顺序序号和数据表的字段信息,生成列名,其中,列名用于定位数据表中的数据;第二生成模块,用于基于目标文件的字段信息、字段调整函数和列名,生成目标SQL语句。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,基于数据库的文件处理装置还包括:第二获取单元,用于在获取文件下载指令之前,获取目标文件的基本配置信息,其中,基本配置信息至少包括:目标文件的文件格式、文件类型标识、数据库的信息和查询数据库中数据的数据查询语句;第三获取单元,用于获取目标文件的字段信息,其中,目标文件的字段信息包括下述至少之一:字段格式、字段格式的处理规则和字段顺序序号;确定单元,用于基于基本配置信息和目标文件的字段信息,确定文件配置信息。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,文件下载指令中的信息至少包括:查询条件、文件类型标识,第一处理单元包括:连接子单元,用于基于文件下载指令中的文件类型标识,连接数据库;第二生成子单元,用于基于查询条件和文件配置信息中的数据查询语句,生成目标查询语句;获取子单元,用于通过目标查询语句从数据库中获取原始业务数据。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,第二处理单元包括:第三生成子单元,用于生成目标文件的主键标识,并建立主键标识与文件下载指令的关联关系;存储子单元,用于将主键标识添加至下载指令表中的下载主键字段,并将目标文件存储至服务器,生成以主键标识命名的子目录,其中,下载指令表至少包括:文件类型标识字段、查询条件字段、下载主键字段。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,基于数据库的文件处理装置还包括:第三处理单元,用于在将目标文件存储至服务器之后,响应目标对象发起的文件下载命令,对目标对象的下载权限进行验证,并在下载权限的验证结果指示验证通过的情况下,基于下载指令表获取主键标识;查询单元,用于基于主键标识,查询以主键标识命名的子目录;下载单元,用于在以主键标识命名的子目录下载目标文件。
可选地,在本申请实施例三提供的基于数据库的文件处理装置中,下载权限至少包括:是否允许下载目标文件、允许下载目标文件的下载次数阈值和允许下载目标文件的时间段。
可选地,基于数据库的文件处理装置还包括:选择单元,用于在获取文件下载指令之后,根据目标文件的文件类型标识,从N个线程池选择目标线程池;添加单元,用于将文件下载指令添加至目标线程池中的队列,其中,队列用于控制相同文件类型的文件关联的下载指令异步执行。
上述的基于数据库的文件处理装置还可以包括处理器和存储器,上述的第一获取单元91、第一处理单元92、生成单元93以及第二处理单元94等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来根据文件下载指令和文件配置信息动态生成目标SQL语句,通过目标SQL语句调整文件的数据格式,避免了相关技术中通过固定的模板生成文件,难以灵活调整的情况,从而实现了提高文件生成的灵活性的技术效果。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的基于数据库的文件处理方法。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的基于数据库的文件处理方法。
图10是根据本发明实施例的一种电子设备的示意图,如图10所示,本发明实施例提供了一种电子设备,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述任意一项的基于数据库的文件处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种基于数据库的文件处理方法,其特征在于,包括:
获取文件下载指令,其中,所述文件下载指令用于请求下载目标文件;
基于所述文件下载指令,获取所述目标文件的文件配置信息,并基于所述文件下载指令和所述文件配置信息,从数据库中获取所述目标文件的原始业务数据,其中,所述文件下载指令通过N个线程池中的目标线程池独立执行,所述文件配置信息至少包括:所述目标文件的文件格式、所述目标文件的字段信息和文件类型标识,所述目标线程池用于处理与所述目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数;
基于所述文件配置信息和所述原始业务数据,生成目标SQL语句,其中,所述目标SQL语句用于对所述原始业务数据的数据格式进行调整;
执行所述目标SQL语句,生成所述目标文件,并将所述目标文件存储至服务器,其中,所述服务器用于提供客户端需要下载的文件。
2.根据权利要求1所述的文件处理方法,其特征在于,基于所述文件配置信息和所述原始业务数据,生成目标SQL语句,包括:
将所述原始业务数据添加至数据表,其中,所述数据表用于临时存储所述原始业务数据,所述数据表的字段顺序与所述配置信息中的字段顺序序号一致;
基于所述数据表的字段信息和所述文件配置信息,生成所述目标SQL语句。
3.根据权利要求2所述的文件处理方法,其特征在于,基于所述数据表的字段信息和所述文件配置信息,生成所述目标SQL语句,包括:
基于所述字段顺序序号和所述数据表的字段信息,生成列名,其中,所述列名用于定位所述数据表中的数据;
基于所述目标文件的字段信息、字段调整函数和所述列名,生成所述目标SQL语句。
4.根据权利要求1所述的文件处理方法,其特征在于,在获取文件下载指令之前,还包括:
获取所述目标文件的基本配置信息,其中,所述基本配置信息至少包括:所述目标文件的文件格式、文件类型标识、所述数据库的信息和查询所述数据库中数据的数据查询语句;
获取所述目标文件的字段信息,其中,所述目标文件的字段信息包括下述至少之一:字段格式、所述字段格式的处理规则和字段顺序序号;
基于所述基本配置信息和所述目标文件的字段信息,确定所述文件配置信息。
5.根据权利要求1所述的文件处理方法,其特征在于,所述文件下载指令中的信息至少包括:查询条件、所述文件类型标识,基于所述文件下载指令和所述文件配置信息,从数据库中获取所述目标文件的原始业务数据,包括:
基于所述文件下载指令中的所述文件类型标识,连接所述数据库;
基于所述查询条件和所述文件配置信息中的数据查询语句,生成目标查询语句;
通过所述目标查询语句从所述数据库中获取所述原始业务数据。
6.根据权利要求1所述的文件处理方法,其特征在于,将所述目标文件存储至服务器,包括:
生成所述目标文件的主键标识,并建立所述主键标识与所述文件下载指令的关联关系;
将所述主键标识添加至下载指令表中的下载主键字段,并将所述目标文件存储至所述服务器,生成以所述主键标识命名的子目录,其中,所述下载指令表至少包括:文件类型标识字段、查询条件字段、下载主键字段。
7.根据权利要求6所述的文件处理方法,其特征在于,在将所述目标文件存储至服务器之后,还包括:
响应目标对象发起的文件下载命令,对所述目标对象的下载权限进行验证,并在所述下载权限的验证结果指示验证通过的情况下,基于所述下载指令表获取所述主键标识;
基于所述主键标识,查询以所述主键标识命名的子目录;
在以所述主键标识命名的子目录下载所述目标文件。
8.根据权利要求7所述的文件处理方法,其特征在于,所述下载权限至少包括:是否允许下载所述目标文件、允许下载所述目标文件的下载次数阈值和允许下载所述目标文件的时间段。
9.根据权利要求1所述的文件处理方法,其特征在于,在获取文件下载指令之后,还包括:
根据所述目标文件的文件类型标识,从N个所述线程池选择所述目标线程池;
将所述文件下载指令添加至所述目标线程池中的队列,其中,所述队列用于控制相同文件类型的文件关联的下载指令异步执行。
10.一种基于数据库的文件处理装置,其特征在于,包括:
第一获取单元,用于获取文件下载指令,其中,所述文件下载指令用于请求下载目标文件;
第一处理单元,用于基于所述文件下载指令,获取所述目标文件的文件配置信息,并基于所述文件下载指令和所述文件配置信息,从数据库中获取所述目标文件的原始业务数据,其中,所述文件下载指令通过N个线程池中的目标线程池独立执行,所述文件配置信息至少包括:所述目标文件的文件格式、所述目标文件的字段信息和文件类型标识,所述目标线程池用于处理与所述目标文件的文件类型相同的文件所关联的下载指令,N为大于1的正整数;
生成单元,用于基于所述文件配置信息和所述原始业务数据,生成目标SQL语句,其中,所述目标SQL语句用于对所述原始业务数据的数据格式进行调整;
第二处理单元,用于执行所述目标SQL语句,生成所述目标文件,并将所述目标文件存储至服务器,其中,所述服务器用于提供客户端需要下载的文件。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至9中任意一项所述的基于数据库的文件处理方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至9中任意一项所述的基于数据库的文件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085526.XA CN117112600A (zh) | 2023-08-25 | 2023-08-25 | 基于数据库的文件处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085526.XA CN117112600A (zh) | 2023-08-25 | 2023-08-25 | 基于数据库的文件处理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112600A true CN117112600A (zh) | 2023-11-24 |
Family
ID=88799619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311085526.XA Pending CN117112600A (zh) | 2023-08-25 | 2023-08-25 | 基于数据库的文件处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112600A (zh) |
-
2023
- 2023-08-25 CN CN202311085526.XA patent/CN117112600A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7548542B2 (en) | Methods and apparatus for transferring data | |
CN107862049B (zh) | 一种数据补录方法及装置 | |
CN108170656B (zh) | 模板创建方法、文档创建方法、渲染方法和装置 | |
CN102224492B (zh) | 数据维护系统 | |
CN112732641A (zh) | 一种电子档案的归档方法及装置、介质 | |
US20140222766A1 (en) | System and method for database migration and validation | |
CN114896634B (zh) | 一种企业报表平台的数据权限控制方法和系统 | |
US20170279970A1 (en) | Dynamically generating an aggregation routine | |
CN101211361B (zh) | 信息处理装置、信息处理系统和信息处理方法 | |
CN112416267A (zh) | 一种可配置的打印数据处理方法及装置 | |
EP3494534A1 (en) | System and method for collecting, consolidating and processing data | |
CN113656377A (zh) | 数据迁移的自动匹配方法、装置、计算机设备及存储介质 | |
CN114416638A (zh) | 一种电子文件自动归档方法及系统 | |
CN108874944B (zh) | 一种基于xsl语言转换的异构数据映射系统及方法 | |
CN114443015A (zh) | 一种基于数据库元数据的增删改查服务接口生成方法 | |
CN117112600A (zh) | 基于数据库的文件处理方法、装置、存储介质及电子设备 | |
CN106649108A (zh) | 测试数据的生成方法及装置 | |
CN114298749A (zh) | 一种成本数据源的接入方法、设备及介质 | |
CN114756221A (zh) | 基于ibm as400的程序自动生成方法及装置 | |
CN114328577A (zh) | 数据查询方法和装置 | |
CN109241515B (zh) | 一种生成报告文件的方法及装置 | |
CN105653525B (zh) | 账套之间数据导入的方法和系统 | |
CN115017133B (zh) | 一种基于文件的异构数据库数据一致性校验方法 | |
CN117743423A (zh) | 一种数据导出的方法、打印方法,以及装置 | |
CN116306537A (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 |