CN117149711A - 一种分布式***大文件异步生成和下载方法、***及设备 - Google Patents

一种分布式***大文件异步生成和下载方法、***及设备 Download PDF

Info

Publication number
CN117149711A
CN117149711A CN202311035879.9A CN202311035879A CN117149711A CN 117149711 A CN117149711 A CN 117149711A CN 202311035879 A CN202311035879 A CN 202311035879A CN 117149711 A CN117149711 A CN 117149711A
Authority
CN
China
Prior art keywords
file
generation
record
generated
configuration record
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
Application number
CN202311035879.9A
Other languages
English (en)
Inventor
吴元平
黄寒昕
王唯平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Ouye Jincheng Information Service Co ltd
Original Assignee
Shanghai Ouye Jincheng Information Service Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Ouye Jincheng Information Service Co ltd filed Critical Shanghai Ouye Jincheng Information Service Co ltd
Priority to CN202311035879.9A priority Critical patent/CN117149711A/zh
Publication of CN117149711A publication Critical patent/CN117149711A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种分布式***大文件异步生成和下载方法、***及设备,涉及文件生成与下载领域,该方法包括利用业务***获取用户的生成文件请求和配置记录;根据生成文件请求生成唯一编号;将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成;获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态;根据唯一编号下载对应的文件。本发明能够避免与业务***争夺服务器资源,提高业务***可用性。

Description

一种分布式***大文件异步生成和下载方法、***及设备
技术领域
本发明涉及文件生成与下载领域,特别是涉及一种分布式***大文件异步生成和下载方法、***及设备。
背景技术
分布式***中通常存在用户需要生成和下载大文件的功能需求,比如在财务公司总账***中,用户在月末要按整个账套生成账套PDF文件并下载下来打印。由于账套文件大,生成文件持续时间长,在生成文件过程中不仅占用服务器内存、CPU、I/O等资源导致***其他功能响应非常慢,而且严重时会导致内存溢出***不可用。
因此,亟需一种方法将大文件的生成和下载从业务***中剥离出来独立运行,通过物理上的隔离避免对业务***正常运行产生影响。
发明内容
本发明的目的是提供一种分布式***大文件异步生成和下载方法、***及设备,能够避免与业务***争夺服务器资源,提高业务***可用性。
为实现上述目的,本发明提供了如下方案:
一种分布式***大文件异步生成和下载方法,包括:
利用业务***获取用户的生成文件请求和配置记录;所述配置记录包括:生成的文件名称、文件处理类名和方法名、文件存放路径以及当前用户ID以及存放记录;
根据生成文件请求生成唯一编号;
将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成;
获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态;
根据唯一编号下载对应的文件。
可选地,所述利用业务***获取用户的生成文件请求和配置记录,具体包括:
获取用户的生成文件请求;
将生成文件请求以键值对方式封装成json字符串。
可选地,所述获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储,具体包括:
每隔设定时间从文件生成配置表中查询文件生成状态的所有记录;
将文件生成状态为未生成的记录按照先进先出原则保存在内存队列中;
监听内存队列,监听到有新的生成记录后,根据生成记录对应的唯一编号查询文件生成配置表;
当存在文件生成状态为未生成的记录后,根据文件处理类名和方法名执行生成逻辑生成文件,保存在配置记录对应的目录下。
可选地,所述根据唯一编号下载对应的文件,具体包括:
根据唯一编号,获取文件生成配置表查询中相应的存放目录和文件名称;
根据文件名称从存放目录中获取文件流形式的文件。
一种分布式***大文件异步生成和下载***,包括:
生成文件请求获取模块,用于利用业务***获取用户的生成文件请求和配置记录;所述配置记录包括:生成的文件名称、文件处理类名和方法名、文件存放路径以及当前用户ID以及存放记录;
文件处理请求接收模块,用于根据生成文件请求生成唯一编号;
文件生成模块,用于将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成;获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态;
文件下载模块,用于根据唯一编号下载对应的文件。
一种分布式***大文件异步生成和下载设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如所述的方法。
可选地,所述存储器为计算机可读存储介质。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明所提供的一种分布式***大文件异步生成和下载方法、***及设备,利用业务***获取用户的生成文件请求和配置记录,并根据生成文件请求生成的唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;进而利用文件生成配置表实现文件生成的线程;本发明涉及的文件生成是使用线程池减少线程创建和销毁的资源消耗,两个线程间通过内存队列通信将数据扫描与文件生成逻辑解耦,降低***复杂度。本发明将大文件生成和下载处理过程与业务***物理隔离,避免与业务***争夺服务器资源,提高业务***可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种分布式***大文件异步生成和下载方法流程示意图;
图2为文件生成的流程示意图;
图3为本发明所提供的一种分布式***大文件异步生成和下载***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种分布式***大文件异步生成和下载方法、***及设备,能够避免与业务***争夺服务器资源,提高业务***可用性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明所提供的一种分布式***大文件异步生成和下载方法,包括:
S101,利用业务***获取用户的生成文件请求和配置记录;所述配置记录包括:生成的文件名称、文件处理类名和方法名、文件存放路径以及当前用户ID以及存放记录。
S101具体包括:
获取用户的生成文件请求。生成文件请求包括但不限于:账套机构、月份。
将生成文件请求以键值对方式封装成json字符串。例如,{“orgCode”:1000,“month”:“202101”}。
S102,根据生成文件请求生成唯一编号。
S103,将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成,可以用status=0表示。
S104,获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态。
S105具体包括:
每隔设定时间从文件生成配置表中查询文件生成状态的所有记录。
将文件生成状态为未生成的记录按照先进先出原则保存在内存队列中。
监听内存队列,监听到有新的生成记录后,根据生成记录对应的唯一编号查询文件生成配置表。
当存在文件生成状态为未生成的记录后,根据文件处理类名和方法名执行生成逻辑生成文件,保存在配置记录对应的目录下。
S104和S105为文件生成的两个线程的线程池,如图2所示,线程1每隔2分钟从文件生成配置表查询文件生成状态status=0的所有记录,将记录按先进先出原则保存在内存队列中;线程2监听内存队列,监听到有新的处理记录后根据记录的唯一编号查询文件生成配置表,如果查询到文件生成状态status=1则表示文件已生成不处理,如果查询到文件生成状态status=0再根据文件处理类名和方法名执行生成逻辑生成文件,保存在记录指定的目录下,根据当前处理记录唯一编号更新文件生成配置表状态status=1。
S105,根据唯一编号下载对应的文件。
S105具体包括:
根据唯一编号,获取文件生成配置表查询中相应的存放目录和文件名称。
根据文件名称从存放目录中获取文件流形式的文件。
S105还包括:提供文件下载界面嵌入业务***,该界面接收访问用户ID,从文件生成配置表查询用户ID等于当前用户ID的所有文件生成记录并按请求时间倒序排列展示。
文件下载界面接收用户下载文件请求,向文件下载模块传递下载文件的唯一编号,文件下载模块从文件生成配置表查询存放目录和文件名称,从存放目录获取文件以文件流形式返回给浏览器。
文件下载模块提供统一的文件下载界面,用户可以通过该界面跟踪所有历史文件生成状态,提高了工作效率。
如图3所示,本发明所提供的一种分布式***大文件异步生成和下载***,包括:
生成文件请求获取模块,用于利用业务***获取用户的生成文件请求和配置记录;所述配置记录包括:生成的文件名称、文件处理类名和方法名、文件存放路径以及当前用户ID以及存放记录。
文件处理请求接收模块,用于根据生成文件请求生成唯一编号。
文件生成模块,用于将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成;获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态。
文件下载模块,用于根据唯一编号下载对应的文件。
为了执行上述实施例对应的方法,以实现相应的功能和技术效果,本发明还提供的一种分布式***大文件异步生成和下载设备,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现所述的方法。
所述存储器为计算机可读存储介质。
基于上述描述,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的计算机存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种分布式***大文件异步生成和下载方法,其特征在于,包括:
利用业务***获取用户的生成文件请求和配置记录;所述配置记录包括:生成的文件名称、文件处理类名和方法名、文件存放路径以及当前用户ID以及存放记录;
根据生成文件请求生成唯一编号;
将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成;
获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态;
根据唯一编号下载对应的文件。
2.根据权利要求1所述的一种分布式***大文件异步生成和下载方法,其特征在于,所述利用业务***获取用户的生成文件请求和配置记录,具体包括:
获取用户的生成文件请求;
将生成文件请求以键值对方式封装成json字符串。
3.根据权利要求1所述的一种分布式***大文件异步生成和下载方法,其特征在于,所述获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储,具体包括:
每隔设定时间从文件生成配置表中查询文件生成状态的所有记录;
将文件生成状态为未生成的记录按照先进先出原则保存在内存队列中;
监听内存队列,监听到有新的生成记录后,根据生成记录对应的唯一编号查询文件生成配置表;
当存在文件生成状态为未生成的记录后,根据文件处理类名和方法名执行生成逻辑生成文件,保存在配置记录对应的目录下。
4.根据权利要求1所述的一种分布式***大文件异步生成和下载方法,其特征在于,所述根据唯一编号下载对应的文件,具体包括:
根据唯一编号,获取文件生成配置表查询中相应的存放目录和文件名称;
根据文件名称从存放目录中获取文件流形式的文件。
5.一种分布式***大文件异步生成和下载***,其特征在于,包括:
生成文件请求获取模块,用于利用业务***获取用户的生成文件请求和配置记录;所述配置记录包括:生成的文件名称、文件处理类名和方法名、文件存放路径以及当前用户ID以及存放记录;
文件处理请求接收模块,用于根据生成文件请求生成唯一编号;
文件生成模块,用于将唯一编号、请求时间和配置记录保存到关系型数据库的文件生成配置表;并记录当前文件生成状态为未生成;获取当前文件生成状态为未生成的配置记录;并根据配置记录以及文件处理类名和方法名执行生成逻辑生成文件,并存储;之后根据当前配置记录对应的唯一编号更新文件生成配置表状态;
文件下载模块,用于根据唯一编号下载对应的文件。
6.一种分布式***大文件异步生成和下载设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-4中任一项所述的方法。
7.根据权利要求6所述的一种分布式***大文件异步生成和下载设备,其特征在于,所述存储器为计算机可读存储介质。
CN202311035879.9A 2023-08-17 2023-08-17 一种分布式***大文件异步生成和下载方法、***及设备 Pending CN117149711A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311035879.9A CN117149711A (zh) 2023-08-17 2023-08-17 一种分布式***大文件异步生成和下载方法、***及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311035879.9A CN117149711A (zh) 2023-08-17 2023-08-17 一种分布式***大文件异步生成和下载方法、***及设备

Publications (1)

Publication Number Publication Date
CN117149711A true CN117149711A (zh) 2023-12-01

Family

ID=88885908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311035879.9A Pending CN117149711A (zh) 2023-08-17 2023-08-17 一种分布式***大文件异步生成和下载方法、***及设备

Country Status (1)

Country Link
CN (1) CN117149711A (zh)

Similar Documents

Publication Publication Date Title
US11586692B2 (en) Streaming data processing
US11860874B2 (en) Multi-partitioning data for combination operations
US20220327149A1 (en) Dynamic partition allocation for query execution
CN109997126B (zh) 事件驱动提取、变换、加载(etl)处理
US11151137B2 (en) Multi-partition operation in combination operations
US11232100B2 (en) Resource allocation for multiple datasets
US11461334B2 (en) Data conditioning for dataset destination
US11416528B2 (en) Query acceleration data store
US10726009B2 (en) Query processing using query-resource usage and node utilization data
US11163758B2 (en) External dataset capability compensation
US10795884B2 (en) Dynamic resource allocation for common storage query
Varia Cloud architectures
CN101243445B (zh) 数据变更通告
US6505200B1 (en) Application-independent data synchronization technique
US20170351989A1 (en) Providing supply chain information extracted from an order management system
EP2469410A2 (en) System and method for scaling for a large number of concurrent users by storing a user's session state on external storage
EP2590090B1 (en) Dynamic interface to read database through remote procedure call
US8751469B2 (en) System and method for scaling for a large number of concurrent users
CN111752959A (zh) 一种实时数据库跨库sql交互方法和***
US20220245093A1 (en) Enhanced search performance using data model summaries stored in a remote data store
CN111782452A (zh) 接口对比测试的方法、***、设备和介质
US20090328043A1 (en) Infrastructure of data summarization including light programs and helper steps
US9760576B1 (en) System and method for performing object-modifying commands in an unstructured storage service
CN117149711A (zh) 一种分布式***大文件异步生成和下载方法、***及设备
KR101888131B1 (ko) Dds-dbms 연동 도구의 실시간 변경 데이터 발간 서비스 수행 방법

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