CN116089510A - 数据导出方法、信息系统、装置、电子设备及存储介质 - Google Patents
数据导出方法、信息系统、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116089510A CN116089510A CN202211678003.1A CN202211678003A CN116089510A CN 116089510 A CN116089510 A CN 116089510A CN 202211678003 A CN202211678003 A CN 202211678003A CN 116089510 A CN116089510 A CN 116089510A
- Authority
- CN
- China
- Prior art keywords
- data
- server
- target
- export
- data export
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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
- G06F16/162—Delete operations
-
- 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/172—Caching, prefetching or hoarding of files
-
- 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/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请关于一种数据导出方法、信息系统、装置、电子设备及存储介质,属于计算机技术领域,该方法包括:终端将数据导出请求发送给消息中间件,服务器读取消息中间件在目标时间段内接收并存储的多条数据导出请求,基于数据标识将目标数据从数据库导出至目标文件,将目标文件存储至服务器,将目标文件在服务器中的存储地址存储至数据库;服务器将存储地址发送给终端,终端接收存储地址,基于存储地址获取目标文件中的目标数据。上述方法中,由消息中间件接收数据导出请求,服务器每隔一段时间进行一次读取,能够避免服务器内存资源的大量占用,进而能够提高服务器的数据导出的性能和效率,提升用户体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据导出方法、信息系统、装置、电子设备及存储介质。
背景技术
数据导出是各类信息系统提供的最为基本且频繁应用的功能。相关技术中,终端将针对数据导出请求发送给信息系统中的服务器,该服务器采用异步线程建立对应的数据导出任务,以将目标数据从信息系统的数据库中导入目标文件,并将该目标文件发送给终端。
然而,上述方法中,当终端同时发送大量的数据导出请求至服务器,也即是服务器需要导出高并发请求数据时,需要同时建立大量的数据导出任务,造成内存资源的大量占用,从而影响信息系统的性能,导致数据导出的效率降低。
发明内容
本申请提供一种数据导出方法、信息系统、装置、电子设备及存储介质,能够提高信息系统的性能,节约存储资源,提高数据导出的效率。本申请的技术方案如下。
根据本申请实施例的第一方面,提供一种数据导出方法,应用于信息系统,该信息系统包括消息中间件、服务器和数据库,该方法包括:
该消息中间件接收并存储终端发送的数据导出请求,该数据导出请求携带待导出的目标数据的数据标识;
该服务器读取该消息中间件在目标时间段内接收并存储的多条该数据导出请求,基于多条该数据导出请求携带的数据标识,将各个该数据标识对应的目标数据从该数据库导出至各个该数据标识对应的目标文件,将该目标文件存储至该服务器,将该目标文件在该服务器中的存储地址存储至该数据库;
该服务器将该存储地址发送给终端,由终端接收该存储地址,基于该存储地址获取该目标文件中的该目标数据。
上述方法中,终端发送的数据导出请求由消息中间件进行接收和存储,服务器每隔一段时间从消息中间件上读取一次数据导出请求,基于本次读取到的数据导出请求进行数据导出,而不用终端每发送一条数据导出请求,服务器就读取一次,能够缓解高并发请求下服务器的压力,从而避免服务器内存资源的大量占用,进而能够提高服务器的数据导出的性能和效率,提升用户体验。
在一种可能实施方式中,该数据导出请求还携带有该终端的登录对象的标识,该服务器读取该消息中间件在目标时间段内接收并存储的多条该数据导出请求,包括:
该服务器基于该多条数据导出请求携带的登录对象的标识,确定该多条数据导出请求的优先级;
该服务器按照该优先级从高至低的顺序,读取该多条数据导出请求。
上述方法中,服务器先读取优先级高的数据导出请求,进而能够处理优先级高的登录对象的数据导出需求,进而提高数据导出的效率和用户体验。
在一种可能实施方式中,该服务器读取该消息中间件在目标时间段内接收并存储的多条该数据导出请求之后,该方法还包括:
若该服务器中已存储有该目标文件,则执行该服务器将该存储地址发送给终端的步骤。
上述方法中,若服务器中已存储有目标文件,则服务器直接将该目标文件的存储地址发送给终端,而不用重复导出目标数据生成目标文件,从而能够提高数据导出的效率,节约用户的等待时间,提升用户体验。
在一种可能实施方式中,该服务器存储有导出日志,该导出日志用于记录该服务器的多条数据导出记录,该数据导出记录包括该服务器已导出的数据的数据标识,该若该服务器中已存储有该目标文件,则执行该服务器将该存储地址发送给终端的步骤,包括:
若任一条该数据导出记录包括该目标数据的数据标识,则确定该数据导出记录对应的该目标文件以及该目标文件的存储地址,执行该服务器将该存储地址发送给终端的步骤。
上述方法中,基于导出日志中的数据导出记录,能够快速确定服务器中是否存储有目标文件,能够节约计算资源,提高数据导出的效率。
在一种可能实施方式中,该方法还包括:
在该目标文件在该服务器中的存储时长达到目标存储时长的情况下,该服务器将该目标文件从该服务器中删除,将该目标文件的存储地址从该数据库中删除。
上述方法中,为目标文件在服务器中的存储时长设置有效期,从而定期对目标文件进行删除,能够节约服务器的存储资源,提高服务器的性能。
在一种可能实施方式中,该方法还包括:
在将该目标数据导出至该目标文件的过程中,该服务器周期性地确认该目标数据的导出状态,将该导出状态发送给终端,该导出状态指示该目标数据的状态为正在导出、已成功导出或导出失败。
上述方法中,终端能够对目标数据的导出状态进行显示,能够提示用户数据导出的进度和结果,有利于提升用户体验。
根据本申请实施例的第二方面,提供一种信息系统,该信息系统包括消息中间件、服务器和数据库;
该消息中间件,用于接收并存储该数据导出请求,该数据导出请求携带待导出的目标数据的数据标识;
该服务器,用于:
读取该消息中间件在目标时间段内接收并存储的多条该数据导出请求,基于多条该数据导出请求携带的数据标识,将各个该数据标识对应的目标数据从该数据库导出至各个该数据标识对应的目标文件,将该目标文件存储至该服务器,将该目标文件在该服务器中的存储地址存储至该数据库;
将该存储地址发送给终端。
在一种可能实施方式中,该数据导出请求还携带有终端的登录对象的标识,该服务器用于:
基于该多条数据导出请求携带的登录对象的标识,确定该多条数据导出请求的优先级;
按照该优先级从高至低的顺序,读取该多条数据导出请求。
在一种可能实施方式中,该服务器读取该消息中间件在目标时间段内接收并存储的多条该数据导出请求之后,该服务器还用于:
若该服务器中已存储有该目标文件,则将该存储地址发送给终端。
在一种可能实施方式中,该服务器存储有导出日志,该导出日志用于记录该服务器的多条数据导出记录,该数据导出记录包括该服务器已导出的数据的数据标识,该服务器用于:
若任一条该数据导出记录包括该目标数据的数据标识,则确定该数据导出记录对应的该目标文件以及该目标文件的存储地址,将该存储地址发送给终端。
在一种可能实施方式中,该服务器还用于:
在该目标文件在该服务器中的存储时长达到目标存储时长的情况下,将该目标文件从该服务器中删除,将该目标文件的存储地址从该数据库中删除。
在一种可能实施方式中,该服务器还用于:
在将该目标数据导出至该目标文件的过程中,周期性地确认该目标数据的导出状态,将该导出状态发送给终端,该导出状态指示该目标数据的状态为正在导出、已成功导出或导出失败。
根据本申请实施例的第三方面,提供一种数据导出装置,应用于信息系统中的服务器,该信息系统还包括消息中间件和数据库,该装置包括:
读取模块,用于读取该消息中间件在目标时间段内接收并存储的多条数据导出请求;
导出模块,用于基于多条该数据导出请求携带的数据标识,将各个该数据标识对应的目标数据从该数据库导出至各个该数据标识对应的目标文件,将该目标文件存储至该服务器,将该目标文件在该服务器中的存储地址存储至该数据库;
发送模块,用于将该存储地址发送给终端。
在一种可能实施方式中,该数据导出请求还携带有该终端的登录对象的标识,该读取模块用于:
基于该多条数据导出请求携带的登录对象的标识,确定该多条数据导出请求的优先级;
按照该优先级从高至低的顺序,读取该多条数据导出请求。
在一种可能实施方式中,发送模块包括:
发送单元,用于若该服务器中已存储有该目标文件,则将该存储地址发送给终端。
在一种可能实施方式中,该服务器存储有导出日志,该导出日志用于记录该服务器的多条数据导出记录,该数据导出记录包括该服务器已导出的数据的数据标识,该发送单元用于:
若任一条该数据导出记录包括该目标数据的数据标识,则确定该数据导出记录对应的该目标文件以及该目标文件的存储地址,将该存储地址发送给终端。
在一种可能实施方式中,该装置还用于:
在该目标文件在该服务器中的存储时长达到目标存储时长的情况下,将该目标文件从该服务器中删除,将该目标文件的存储地址从该数据库中删除。
在一种可能实施方式中,该装置还用于:
在将该目标数据导出至该目标文件的过程中,周期性地确认该目标数据的导出状态,将该导出状态发送给终端。
根据本申请实施例的第四方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述数据导出方法。
根据本申请实施例的第五方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得该电子设备能够执行上述数据导出方法。
根据本申请实施例的第六方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令由电子设备的一个或多个处理器执行,使得该电子设备能够执行上述数据导出方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是本申请实施例提供的一种数据导出方法的实施环境示意图;
图2是本申请实施例提供的一种数据导出方法的流程图;
图3是本申请实施例提供的一种数据导出方法的流程图;
图4是本申请实施例提供的一种数据导出方法的示意图;
图5是本申请实施例提供的一种数据导出装置的结构框图;
图6是本申请实施例提供的一种服务器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和系统的例子。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一优先级能够被称为第二优先级,并且类似地,第二优先级也能够被称为第一优先级。
其中,“至少一个”是指一个或多个,例如,至少一个消息中间件可以是一个消息中间件、两个消息中间件、三个消息中间件等任意大于等于一的整数个消息中间件。而“多个”的含义是指两个或两个以上,例如,多个消息中间件可以是两个消息中间件、三个消息中间件等任意大于等于二的整数个消息中间件。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请涉及到的数据和登录对象等都是在充分授权的情况下获取的。
下面对本申请实施例的实施环境进行介绍。
图1是本申请实施例提供的一种数据导出方法的实施环境示意图,如图1所示,该实施环境包括:终端101和信息系统102。该信息系统102包括消息中间件、服务器和数据库。终端101能够通过无线网络或有线网络与信息系统102相连。
终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种,终端101具有通信功能,可以接入互联网,终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。示意性地,终端101上运行有应用程序,终端101的登录对象能够通过该应用程序访问信息系统102,以进行业务预约、业务信息查看以及数据导出等等操作。例如,终端101可以向信息系统102发送数据导出请求,信息系统102中的服务器读取该数据导出请求后,对信息系统102中的数据库中的目标数据进行导出,并将生成的目标文件发送给终端。该应用程序可以为医疗类应用程序、教育类应用程序、金融类应用程序等等,对此不做限定。
信息系统102包括消息中间件、服务器和数据库。其中,该消息中间件能够接收并存储终端101发送的数据导出请求。该数据库能够存储信息系统中的数据。该服务器能够为终端101所运行的应用程序提供后台服务,例如,服务器能够为终端101中所运行的应用程序提供对象登录、数据存储和数据导出服务,等等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,有线网络或无线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超级文本标记语言(Hyper Text Markup Language,HTML)、可扩展标记语言(Extensible MarkupLanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(Secure Socket Layer,SSL)、传输层安全(Transport Layer Security,TLS)、虚拟专用网络(Virtual Private Network,VPN)、网际协议安全(Internet ProtocolSecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
上面介绍了本申请实施例的实施环境,下面介绍本申请实施例提供的一种数据导出方法。图2是本申请实施例提供的一种数据导出方法的流程图,如图2所示,应用于上述信息系统,该方法包括下述步骤201至步骤205。
在步骤201中,终端将数据导出请求发送给消息中间件,该数据导出请求携带待导出的目标数据的数据标识。
其中,终端上运行的应用程序提供数据导出功能,终端的登录对象能够选择需要导出的数据,由终端基于该登录对象所选中的数据的数据标识,生成对应的数据导出请求,并将该数据导出请求发送给消息中间件。该消息中间件用于接收并存储数据导出请求,该消息中间件可以为ActiveMQ、RabbitMQ、RocketMQ以及Kafka等等,可以根据实际需求进行确定,本申请实施例对此不做限定。该数据标识用于指示待导出的目标数据,例如,待导出的目标数据为人员信息时,该数据标识可以为人员的身份标识(Identification,ID)。
在步骤202中,消息中间件接收并存储该数据导出请求。
其中,该消息中间件接收该数据导出请求后,对该数据导出请求进行存储。
在步骤203中,服务器读取消息中间件在目标时间段内接收并存储的多条数据导出请求,基于多条数据导出请求携带的数据标识,将各个数据标识对应的目标数据从数据库导出至各个数据标识对应的目标文件,将目标文件存储至服务器,将目标文件在服务器中的存储地址存储至数据库。
其中,服务器读取消息中间件接收并存储的数据导出请求,也即是消费数据导出请求,服务器每读取一条数据导出请求,该数据导出请求即被从消息中间件中清除。服务器提供数据导出服务,该数据导出服务用于基于数据导出请求中的数据标识确定目标数据,新建目标文件,将该目标数据从数据库导出至该目标文件。该目标文件用于存储目标数据,该目标文件的格式可以是文档或者表格等等,可以根据实际需求进行定制,本申请实施例对此不做限定。
在步骤204中,服务器将该存储地址发送给终端。
在步骤205中,终端接收该存储地址,基于该存储地址获取目标文件中的目标数据。
其中,终端接收该存储地址后,访问该存储地址,从服务器中对应位置获取该目标文件,进而获取该目标文件中的目标数据,能够提高目标数据的安全性。
综上,终端发送的数据导出请求由消息中间件进行接收和存储,服务器每隔一段时间从消息中间件上读取一次数据导出请求,基于本次读取到的数据导出请求进行数据导出,而不用终端每发送一条数据导出请求,服务器就读取一次,能够缓解高并发请求下服务器的压力,从而避免服务器内存资源的大量占用,进而能够提高服务器的数据导出的性能和效率,提升用户体验。
上述图2所示仅为本申请的基本流程,下面对本申请提供的方案进行进一步阐述。图3是本申请实施例提供的一种数据导出方法的流程图,如图3所示,应用于上述信息系统,该方法包括以下步骤301至步骤307。
在步骤301中,终端将数据导出请求发送给消息中间件,该数据导出请求携带待导出的目标数据的数据标识。
其中,终端基于终端的登录对象所选中的待导出的目标数据,生成对应的数据导出请求。若该登录对象一次性选中多项待导出的目标数据,终端基于该多项待导出的目标数据的数据标识,可以生成多条数据导出请求,每条数据导出请求携带一个数据标识,进而由服务器分别导出对应的目标数据,从而便于登录对象使用导出的各项目标数据,避免导出结果混乱;终端也可以生成一条数据导出请求,该条数据导出请求包括多个数据标识,从而减少终端发送数据导出请求的次数,减轻终端的消息发送压力,进而提升终端的性能,本申请实施例对此不做限定。
在一些实施例中,该信息系统包括多个消息中间件,该数据导出请求还携带有业务类型标识,终端基于业务类型标识,将该数据导出请求发送给与业务类型标识对应的消息中间件。其中,该业务类型标识用于指示目标数据所属的业务类型,各个消息中间件有各自对应的业务类型。消息中间件的数量可以根据信息系统所提供的业务的种类进行确定,或者根据实际需求进行定制,本申请实施例对此不做限定。上述方法中,信息系统包括多个消息中间件,可以减轻单个消息中间件的接收和存储数据导出请求的负担,另外,终端基于业务类型标识,将数据导出请求发送给对应的消息中间件,由于不同业务类型的数据存储在数据库中的不同存储位置,服务器从各个消息中间件读取数据导出请求时,能够通过该消息中间件对应的业务类型,快速从数据库中获取目标数据,从而提高数据导出的效率。
在一些实施例中,该消息中间件包括多个子分区,该数据导出请求还携带有业务类型标识,终端基于业务类型标识,将该数据导出请求发送给与业务类型标识对应的子分区。其中,子分区数量可以根据信息系统所提供的业务的种类进行确定,或者根据实际需求进行定制;各个子分区的大小可以根据各个业务的数据导出需求进行确定,或者根据实际需求进行定制,本申请实施例对此不做限定。上述方法中,一个消息中间件包括多个子分区,终端基于业务类型标识,将数据导出请求发送给对应的子分区,服务器从各个子分区读取数据导出请求时,能够通过该子分区对应的业务类型,快速从数据库中获取目标数据,从而提高数据导出的效率。
需要说明的是,上述步骤301中介绍的一个信息系统包括多个消息中间件以及一个消息中间件包括多个子分区的情况仅是示例性的,在一些实施例中,信息系统在包括多个消息中间件的情况下,各个消息中间件还包括多个子分区,也即是上述两种情况可以进行组合,以满足不同的信息系统的实际需求,本申请实施例对此不做限定。
在步骤302中,消息中间件接收并存储该数据导出请求。
其中,在一些实施例中,该消息中间件按照接收数据导出请求的顺序,对数据导出请求进行存储,从而能够快速接收多条数据导出请求,提高接收数据导出请求的效率。在另一些实施例中,数据导出请求还携带有终端的登录对象的标识,登录对象的标识指示数据导出请求的优先级,消息中间件将在目标时间段内接收到的多条数据导出请求,按照优先级从高到低的顺序进行存储,以便于服务器按照优先级对数据导出请求进行读取。本申请实施例对此不做限定。
在步骤303中,服务器读取消息中间件在目标时间段内接收并存储的多条数据导出请求。
其中,在一些实施例中,目标时间段对应于固定时长,服务器按照时间段从消息中间件读取数据导出请求,也即是分批次读取数据导出请求,能够避免需要处理的数据导出请求较多时,数据导出任务对服务器内存的大量占用,进而提升服务器处理高并发请求的性能,提高数据导出的效率。在另一些实施例中,根据服务器处理数据导出请求的速度,也即是服务器的状态,确定目标时间段的长短,若服务器处理数据导出请求的速度高于目标值,则目标时间段的时长为第一时长;若服务器处理数据导出请求的速度低于目标值,则目标时长为第二时长;其中,第二时长大于第一时长。上述方法中,根据服务器的状态,动态灵活地调整目标时间段的长短,能够提高服务器的性能利用率,提高数据导出的效率。
需要说明的是,上述目标时间段的确定方式仅是示例性的,可以根据实际需求确定目标时间段,例如,根据业务类型确定目标时间段,对于数据导出需求较多的业务类型,目标时间段较短,对于数据导出需求较少的业务类型,目标时间段较长,以合理分配服务器的数据导出服务,本申请实施例对此不做限定。
在一些实施例中,数据导出请求还携带有终端的登录对象的标识,服务器基于多条数据导出请求携带的登录对象的标识,确定多条数据导出请求的优先级;服务器按照优先级从高至低的顺序,读取多条数据导出请求。其中,登录对象的标识指示登录对象的身份,例如,该登录对象为重要对象(Very Important Person,VIP)或非重要对象。上述方法中,服务器先读取优先级高的数据导出请求,进而能够处理优先级高的登录对象的数据导出需求,进而提高数据导出的效率和用户体验。
需要说明的是,上述步骤303是以服务器主动读取消息中间件存储的数据导出请求为例进行说明的,在一些实施例中,消息中间件将在目标时间段内接收并存储的数据导出请求发送给服务器,
在步骤304中,服务器基于多条数据导出请求携带的数据标识,将各个数据标识对应的目标数据从数据库导出至各个数据标识对应的目标文件,将该目标文件存储至服务器,将目标文件在服务器中的存储地址存储至数据库。
其中,在一些实施例中,若服务器中已存储有目标文件,则服务器直接将该目标文件的存储地址发送给终端,而不用重复导出目标数据生成目标文件,从而能够提高数据导出的效率,节约用户的等待时间,提升用户体验。在一些实施例中,还将目标数据的导出结果的标识,也即是导出成功或导出失败,存储至数据库,以便于记录各次数据导出操作以及数据导出结果,从而提高信息系统的数据安全性,本申请实施例对此不做限定。
在一些实施例中,服务器存储有导出日志,服务器基于该导出日志确认服务器中是否存储有该目标文件。该导出日志用于记录服务器的多条数据导出记录,该数据导出记录包括服务器已导出的数据的数据标识。若任一条数据导出记录包括目标数据的数据标识,服务器则确定该数据导出记录对应的目标文件以及该目标文件的存储地址,将该存储地址发送给终端,终端基于该存储地址获取目标文件中的目标数据。上述方法中,基于导出日志中的数据导出记录,能够快速确定服务器中是否存储有目标文件,能够节约计算资源,提高数据导出的效率。
在另一些实施例中,若一条数据导出请求携带多个数据标识,且各个数据标识对应的目标文件均存储在服务器中,则服务器将各个目标文件汇总成一个文件夹,或汇总成一个新的目标文件,将该文件夹或新的目标文件存储至服务器中,并将存储地址发送给终端。上述方法中,通过对目标文件进行合并,能够避免对同一数据的重复导出,从而提高数据导出效率,节约用户等待时间。
在一些实施例中,在将目标数据导出至目标文件的过程中,服务器周期性地确认目标数据的导出状态,将导出状态发送给终端,由终端对导出状态进行显示,该导出状态指示目标数据的状态为正在导出、已成功导出或导出失败。其中,服务器确认目标数据的导出状态的周期的长短可以为固定时长,也可以基于服务器的状态进行确定,本申请实施例对此不做限定。在一些实施例中,终端显示任务列表,该任务列表包括至少一条数据导出任务的任务名称和待导出的目标数据的导出状态,能够提示用户数据导出的进度和结果,有利于提升用户体验。在另一些实施例中,若数据导出失败,服务器还将失败原因,例如,未连接至服务器等等,发送给终端,由终端对该失败原因进行显示,以告知用户失败原因。在又一些实施例中,终端还显示操作项,例如,下载和删除等等,以便于用户对目标文件中的目标数据进行操作,进而提升用户体验。
在步骤305中,服务器将该存储地址发送给终端。
在步骤306中,终端接收该存储地址,基于该存储地址获取目标文件中的目标数据。
上述步骤305和步骤306与步骤204和步骤205同理,不再赘述。
在步骤307中,在目标文件在服务器中的存储时长达到目标存储时长的情况下,服务器将目标文件从服务器中删除,将目标文件的存储地址从数据库中删除。
其中,该目标存储时长可以根据服务器的内存大小以及信息系统的数据导出需求大小进行确定,本申请实施例对此不做限定。在一些实施例中,当服务器的内存占用达到目标值时,将存储时长达到目标存储时长的目标文件从服务器中删除。上述方法中,为目标文件在服务器中的存储时长设置有效期,从而定期对目标文件进行删除,能够节约服务器的存储资源,提高服务器的性能。
下面以图4为例,对上述步骤301至步骤307所示的流程进行说明。图4是本申请实施例提供的一种数据导出方法的流程示意图,如图4所示,终端将登录对象所选择的待导出的数据的数据标识发送到kafka,也即是消息中间件;服务器通过数据导出服务从kafka中读取数据标识,然后通过查询数据库获取数据完整信息,并按业务需要导出目标数据,生成相应的目标文件,并将该目标文件在服务器中的存储地址和目标数据的导出结果存入数据库。终端查询数据库以获取目标文件的存储地址和目标数据的导出结果,并对该导出结果进行显示,等待用户下载目标文件或者删除数据导出任务。
综上,终端发送的数据导出请求由消息中间件进行接收和存储,服务器每隔一段时间从消息中间件上读取一次数据导出请求,基于本次读取到的数据导出请求进行数据导出,而不用终端每发送一条数据导出请求,服务器就读取一次,能够缓解高并发请求下服务器的压力,从而避免服务器内存资源的大量占用,提高信息系统的可靠性和数据导出的效率;进一步地,服务器定期获取目标数据的导出状态,由终端进行显示,能够提升用户体验;为目标文件在服务器中的存储时长设置有效期,从而服务器能够定期对目标文件进行删除,以节约服务器的存储资源,提高信息系统的性能。
图5是本申请实施例提供的另一种数据导出装置的结构框图,应用于信息系统中的服务器,该信息系统还包括消息中间件和数据库,该装置包括读取模块501、导出模块502和发送模块503。
读取模块501,用于读取消息中间件在目标时间段内接收并存储的多条该数据导出请求;
导出模块502,用于基于多条该数据导出请求携带的数据标识,将各个该数据标识对应的目标数据从该数据库导出至各个该数据标识对应的目标文件,将该目标文件存储至该服务器,将该目标文件在该服务器中的存储地址存储至该数据库;
发送模块503,用于将该存储地址发送给终端。
在一种可能实施方式中,该数据导出请求还携带有该终端的登录对象的标识,该读取模块501用于:
基于该多条数据导出请求携带的登录对象的标识,确定该多条数据导出请求的优先级;
按照该优先级从高至低的顺序,读取该多条数据导出请求。
在一种可能实施方式中,发送模块503包括:
发送单元,用于若该服务器中已存储有该目标文件,则将该存储地址发送给终端。
在一种可能实施方式中,该服务器存储有导出日志,该导出日志用于记录该服务器的多条数据导出记录,该数据导出记录包括该服务器已导出的数据的数据标识,该发送单元用于:
若任一条该数据导出记录包括该目标数据的数据标识,则确定该数据导出记录对应的该目标文件以及该目标文件的存储地址,将该存储地址发送给终端。
在一种可能实施方式中,该装置还用于:
在该目标文件在该服务器中的存储时长达到目标存储时长的情况下,将该目标文件从该服务器中删除,将该目标文件的存储地址从该数据库中删除。
在一种可能实施方式中,该装置还用于:
在将该目标数据导出至该目标文件的过程中,周期性地确认该目标数据的导出状态,将该导出状态发送给终端。
需要说明的是:上述实施例提供的数据导出装置在执行相应步骤时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据导出装置与数据导出方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在本公开实施例中,还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器用于存储至少一条计算机程序,该至少一段计算机程序由该处理器加载并执行以实现上述的数据导出方法。
以电子设备为服务器为例,图6是本申请实施例提供的一种服务器的结构框图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)601和一个或多个的存储器602,其中,该一个或多个存储器602中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器601加载并执行以实现上述数据导出方法。当然,该服务器600还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器600还可以包括其他用于实现设备功能的部件,在此不做赘述。
在本申请实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器602,上述程序代码可由上述服务器600的处理器601执行以完成上述数据导出方法。可选地,计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact-Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在本申请实施例中,还提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令由电子设备的一个或多个处理器执行,使得该电子设备能够执行上述数据导出方法。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行,分布在多个地点且通过通信网络互连的多个电子设备可以组成区块链系统。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据导出方法,其特征在于,应用于信息系统,所述信息系统包括消息中间件、服务器和数据库,所述方法包括:
所述消息中间件接收并存储终端发送的数据导出请求,所述数据导出请求携带待导出的目标数据的数据标识;
所述服务器读取所述消息中间件在目标时间段内接收并存储的多条所述数据导出请求,基于多条所述数据导出请求携带的数据标识,将各个所述数据标识对应的目标数据从所述数据库导出至各个所述数据标识对应的目标文件,将所述目标文件存储至所述服务器,将所述目标文件在所述服务器中的存储地址存储至所述数据库;
所述服务器将所述存储地址发送给所述终端,由所述终端接收所述存储地址,基于所述存储地址获取所述目标文件中的所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述数据导出请求还携带有所述终端的登录对象的标识,所述服务器读取所述消息中间件在目标时间段内接收并存储的多条所述数据导出请求,包括:
所述服务器基于所述多条数据导出请求携带的登录对象的标识,确定所述多条数据导出请求的优先级;
所述服务器按照所述优先级从高至低的顺序,读取所述多条数据导出请求。
3.根据权利要求1所述的方法,其特征在于,所述服务器读取所述消息中间件在目标时间段内接收并存储的多条所述数据导出请求之后,所述方法还包括:
若所述服务器中已存储有所述目标文件,则执行所述服务器将所述存储地址发送给所述终端的步骤。
4.根据权利要求3所述的方法,其特征在于,所述服务器存储有导出日志,所述导出日志用于记录所述服务器的多条数据导出记录,所述数据导出记录包括所述服务器已导出的数据的数据标识,所述若所述服务器中已存储有所述目标文件,则执行所述服务器将所述存储地址发送给所述终端的步骤,包括:
若任一条所述数据导出记录包括所述目标数据的数据标识,则确定所述数据导出记录对应的所述目标文件以及所述目标文件的存储地址,执行所述服务器将所述存储地址发送给所述终端的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标文件在所述服务器中的存储时长达到目标存储时长的情况下,所述服务器将所述目标文件从所述服务器中删除,将所述目标文件的存储地址从所述数据库中删除。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在将所述目标数据导出至所述目标文件的过程中,所述服务器周期性地确认所述目标数据的导出状态,将所述导出状态发送给所述终端,由所述终端对所述导出状态进行显示,所述导出状态指示所述目标数据的状态为正在导出、已成功导出或导出失败。
7.一种信息系统,其特征在于,所述信息系统包括消息中间件、服务器和数据库;
所述消息中间件,用于接收并存储终端发送的数据导出请求,所述数据导出请求携带待导出的目标数据的数据标识;
所述服务器,用于:
读取所述消息中间件在目标时间段内接收并存储的多条所述数据导出请求,基于多条所述数据导出请求携带的数据标识,将各个所述数据标识对应的目标数据从所述数据库导出至各个所述数据标识对应的目标文件,将所述目标文件存储至所述服务器,将所述目标文件在所述服务器中的存储地址存储至所述数据库;
将所述存储地址发送给所述终端。
8.一种数据导出装置,其特征在于,应用于信息系统中的服务器,所述信息系统还包括消息中间件和数据库,所述装置包括:
读取模块,用于读取所述消息中间件在目标时间段内接收并存储的多条数据导出请求;
导出模块,用于基于多条所述数据导出请求携带的数据标识,将各个所述数据标识对应的目标数据从所述数据库导出至各个所述数据标识对应的目标文件,将所述目标文件存储至所述服务器,将所述目标文件在所述服务器中的存储地址存储至所述数据库;
发送模块,用于将所述存储地址发送给终端。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至权利要求6任一项所述的数据导出方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求6任一项所述的数据导出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211678003.1A CN116089510A (zh) | 2022-12-26 | 2022-12-26 | 数据导出方法、信息系统、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211678003.1A CN116089510A (zh) | 2022-12-26 | 2022-12-26 | 数据导出方法、信息系统、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089510A true CN116089510A (zh) | 2023-05-09 |
Family
ID=86209615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211678003.1A Pending CN116089510A (zh) | 2022-12-26 | 2022-12-26 | 数据导出方法、信息系统、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089510A (zh) |
-
2022
- 2022-12-26 CN CN202211678003.1A patent/CN116089510A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262807B (zh) | 集群创建进度日志采集系统、方法和装置 | |
US9350738B2 (en) | Template representation of security resources | |
CN112084179B (zh) | 一种数据处理的方法、装置、设备及存储介质 | |
CN110895603A (zh) | 多系统账号信息整合方法和装置 | |
CN113656194A (zh) | 对账结果数据的通知方法、装置、电子装置及存储介质 | |
CN113282591B (zh) | 权限过滤方法、装置、计算机设备及存储介质 | |
CN113452733A (zh) | 文件下载方法和装置 | |
CN111241504A (zh) | 身份验证方法、装置、电子设备及存储介质 | |
CN118260329A (zh) | 处理业务数据表的方法、装置、设备和计算机可读介质 | |
CN110245014B (zh) | 数据处理方法和装置 | |
CN112100168A (zh) | 一种确定数据关联关系的方法和装置 | |
CN113641706B (zh) | 数据查询的方法和装置 | |
CN113312355A (zh) | 一种数据管理的方法和装置 | |
CN110928594A (zh) | 服务开发方法和平台 | |
CN112860538A (zh) | 基于线上日志进行接口回归测试的方法和装置 | |
CN112416875B (zh) | 日志管理方法、装置、计算机设备及存储介质 | |
CN116089510A (zh) | 数据导出方法、信息系统、装置、电子设备及存储介质 | |
CN115858905A (zh) | 数据处理的方法、装置、电子设备和存储介质 | |
CN110858240A (zh) | 一种前端模块加载方法和装置 | |
CN113722007A (zh) | Vpn分支设备的配置方法、装置及系统 | |
CN115034175A (zh) | 表格数据处理方法、装置、终端和存储介质 | |
CN112837156A (zh) | 固定执行顺序的交易方法和装置 | |
CN111782428A (zh) | 数据调用系统以及方法 | |
CN114285743B (zh) | 更新配置信息的方法、装置、电子设备及存储介质 | |
CN117478535B (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 |