CN114217748A - 数据导出方法、装置、设备、介质及产品 - Google Patents

数据导出方法、装置、设备、介质及产品 Download PDF

Info

Publication number
CN114217748A
CN114217748A CN202111555979.5A CN202111555979A CN114217748A CN 114217748 A CN114217748 A CN 114217748A CN 202111555979 A CN202111555979 A CN 202111555979A CN 114217748 A CN114217748 A CN 114217748A
Authority
CN
China
Prior art keywords
data
export
target
target data
thread
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
CN202111555979.5A
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202111555979.5A priority Critical patent/CN114217748A/zh
Publication of CN114217748A publication Critical patent/CN114217748A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

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

Abstract

本申请实施例公开了一种数据导出方法、装置、设备、介质及产品,属于数据处理技术领域。数据导出方法包括:接收对于目标数据的数据导出请求;响应于数据导出请求,创建具有最大可占用内存空间的第一线程;利用第一线程,将目标数据导出到目标文件。通过本申请实施例,能够避免内存溢出,避免数据导出失败。

Description

数据导出方法、装置、设备、介质及产品
技术领域
本申请属于数据处理技术领域,具体涉及一种数据导出方法、装置、设备、介质及产品。
背景技术
随着计算机技术和软件技术的发展,伴随着庞大的数据产生,需要将数据进行收集、存储、导出和分析等。
相关技术中,在进行大数据量的数据导出时,会占用大量的系统资源,容易造成内存溢出。当内存溢出时,可能会自动结束数据导出任务,导致数据导出失败;还可能会造成设备宕机,这种情况下就需要重新启动设备,也会造成数据导出失败。
发明内容
本申请实施例的目的是提供一种数据导出方法、装置、设备、介质及产品,能够解决数据导出失败的问题。
第一方面,本申请实施例提供了一种数据导出方法,包括:
接收对于目标数据的数据导出请求;
响应于数据导出请求,创建具有最大可占用内存空间的第一线程;
利用第一线程,将目标数据导出到目标文件。
在本申请实施例的一些可能实现中,利用第一线程,将目标数据导出到目标文件,包括:
利用第一线程调用字符缓冲输出流(BufferedWriter),将目标数据导出到目标文件。
在本申请实施例的一些可能实现中,利用第一线程调用BufferedWriter,将目标数据导出到目标文件之后,本申请实施例提供的数据导出方法还包括:
关闭BufferedWriter。
在本申请实施例的一些可能实现中,接收对于目标数据的数据导出请求之后,本申请实施例提供的数据导出方法还包括:
在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息。
在本申请实施例的一些可能实现中,任务信息包括以下所列项中的至少一种:
目标文件的名称、目标文件的路径、目标数据的导出状态、目标数据的导出进度、目标数据的导出开始时间、目标数据的导出结束时间。
在本申请实施例的一些可能实现中,在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息之后,本申请实施例提供的数据导出方法还包括:
接收对任务信息的删除指令;
响应于删除指令,从数据导出任务列表中删除任务信息,并在目标数据未导出完成的情况下,结束数据导出任务。
在本申请实施例的一些可能实现中,创建具有最大可占用内存空间的第一线程,包括:
根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
在本申请实施例的一些可能实现中,目标文件,包括:
文件格式为逗号分隔值的文件。
第二方面,本申请实施例提供了一种数据导出装置,包括:
第一接收模块,用于接收对于目标数据的数据导出请求;
创建模块,用于响应于数据导出请求,创建具有最大可占用内存空间的第一线程;
导出模块,用于利用第一线程,将目标数据导出到目标文件。
在本申请实施例的一些可能实现中,导出模块具体用于:
利用第一线程调用BufferedWriter,将目标数据导出到目标文件。
在本申请实施例的一些可能实现中,本申请实施例提供的数据导出装置还包括:
关闭模块,用于关闭BufferedWriter。
在本申请实施例的一些可能实现中,本申请实施例提供的数据导出装置还包括:
添加模块,用于在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息。
在本申请实施例的一些可能实现中,任务信息包括以下所列项中的至少一种:
目标文件的名称、目标文件的路径、目标数据的导出状态、目标数据的导出进度、目标数据的导出开始时间、目标数据的导出结束时间。
在本申请实施例的一些可能实现中,本申请实施例提供的数据导出装置还包括:
第二接收模块,用于接收对任务信息的删除指令;
删除模块,用于响应于删除指令,从数据导出任务列表中删除任务信息;
结束模块,用于在目标数据未导出完成的情况下,结束数据导出任务。
在本申请实施例的一些可能实现中,创建模块具体用于:
根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
在本申请实施例的一些可能实现中,目标文件,包括:
文件格式为逗号分隔值的文件。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面所述的方法的步骤。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
在本申请实施例中,在接收到对于目标数据的数据导出请求之后,创建具有最大可占用内存空间的第一线程,然后根据该第一线程,将目标数据导出到目标文件。由于第一线程具有最大可占用内存空间,因此,在利用第一线程导出目标数据时,第一线程最多仅能占用最大可占用内存空间的内存,不会无限制占用内存,因此,不会造成内存溢出,进而能够避免数据导出失败。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据导出方法的流程示意图;
图2是本申请实施例提供的显示任务信息的示意图;
图3是本申请实施例提供的数据导出装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图;
图5是实现本申请实施例的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据导出方法、装置、设备、介质及产品进行详细地说明。
图1是本申请实施例提供的数据导出方法的流程示意图。如图1所示,数据导出方法可以包括:
S101:接收对于目标数据的数据导出请求;
S102:响应于数据导出请求,创建具有最大可占用内存空间的第一线程;
S103:利用第一线程,将目标数据导出到目标文件。
上述各步骤的具体实现方式将在下文中进行详细描述。
在本申请实施例中,在接收到对于目标数据的数据导出请求之后,创建具有最大可占用内存空间的第一线程,然后根据该第一线程,将目标数据导出到目标文件。由于第一线程具有最大可占用内存空间,因此,在利用第一线程导出目标数据时,第一线程最多仅能占用最大可占用内存空间的内存,不会无限制占用内存,因此,不会造成内存溢出,进而能够避免数据导出失败。
在本申请实施例的一些可能实现中,在S103中,可以利用第一线程,调用文件输出流(FileWriter),将目标数据写入到目标文件,即将目标数据导出到目标文件。
在本申请实施例的一些可能实现中,在S103中,可以利用第一线程,调用BufferedWriter,将目标数据写入到目标文件,即将目标数据导出到目标文件。
其中,BufferedWriter是将文本写入字符输入流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。BufferedWriter自带缓冲区,缓冲区的优势在于每次写操作会先将数据保存在高速缓冲区中,当缓冲区中的数据到到某个阈值时,将缓冲区中的数据一次性写入文件中,能够提高文件的写入速度。基于此,在本申请实施例中,优选利用第一线程,调用BufferedWriter,将目标数据导出到目标文件。
在本申请实施例的一些可能实现中,当BufferedWriter使用完毕之后,需要及时关闭连接,否则会一直占用资源,久而久之,会导致系统运行越来越慢。基于此,本申请实施例提供的数据导出方法还可以包括:关闭BufferedWriter。
在本申请实施例中,通过将BufferedWriter关闭,能够避免BufferedWriter一直占用资源,提高资源利用率。
在本申请实施例的一些可能实现中,数据导出请求中可以包括:待导出的目标数据的标识信息或查询条件,其中,该查询条件用于查找符合该查询条件的数据,查找的数据即为待导出的目标数据。也就是说,用户通过待导出的目标数据的标识信息可以指定待导出的目标数据;用户通过输入查询条件,可以将符合用户输入的查询条件的数据导出。
在本申请实施例的一些可能实现中,在S101之后,本申请实施例提供的数据导出方法还可以包括:在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息。
在本申请实施例的一些可能实现中,任务信息可以包括以下所列项中的至少一种:
目标文件的名称、目标文件的路径、目标数据的导出状态、目标数据的导出进度、目标数据的导出开始时间、目标数据的导出结束时间。
在本申请实施例的一些可能实现中,当接收到对于目标数据的数据导出请求后,可以创建导出目标数据对应的数据导出任务。在创建导出目标数据对应的数据导出任务时,用户可以设置目标文件的名称和路径等。当没有相应的路径时,则可以先创建该路径并将目标文件存储在该路径下。
在本申请实施例的一些可能实现中,导出状态包括但不限于:初始状态、等待状态、正在导出状态、导出完成状态(已完成状态)等。
在实际应用中,导出状态可以根据用户实际需求进行设置。其中,用户可能设置同时执行N个数据导出任务。当有N个数据导出任务在执行时,当用户又创建一个数据导出任务时,此时,由于当前已在同时执行N个数据导出任务,因此,用户新创建的第N+1个数据导出任务的状态此时可以为等待状态。
在本申请实施例的一些可能实现中,任务信息还可以包括导出目标数据所持续的时长等。
如图2所示。图2是本申请实施例提供的显示任务信息的示意图。图2示出的数据导出任务列表包括3个数据导出任务的任务信息。其中,3个数据导出任务分别为数据导出任务1、数据导出任务2和数据导出任务3。
其中,用于存储数据导出任务1对应的数据的文件的名称为:AA、文件名称为AA的文件的路径为“:\X\Y”,即文件名称为AA的文件存储在根路径下的X文件夹中的Y文件夹中,数据导出任务1对应的数据的导出状态为:已完成;数据导出任务1对应的数据的导出进度为:100%;数据导出任务1对应的数据的开始导出时间为:a年b月c日d时e分f秒;数据导出任务1对应的数据的导出结束时间为:a年b月c日d时e分g秒。
用于存储数据导出任务2对应的数据的文件的名称为:BB、文件名称为BB的文件的路径为“:\X\Y\Z”,即文件名称为BB的文件存储在根路径下的X文件夹中的Y文件夹中的Z文件夹,数据导出任务2对应的数据的导出状态为:正在导出;数据导出任务2对应的数据的导出进度为:85%;数据导出任务2对应的数据的开始导出时间为:a年b月c日b时c分h秒;由于数据导出任务2对应的数据还未导出完成,因此,数据导出任务2对应的数据的导出结束时间显示为:-年-月-日-时-分-秒。
用于存储数据导出任务3对应的数据的文件的名称为:CC、文件名称为CC的文件的路径为“:\Z\X”,即文件名称为CC的文件存储在根路径下的Z文件夹中的X文件夹中,数据导出任务3对应的数据的导出状态为:等待中;数据导出任务3对应的数据的导出进度为:0%;数据导出任务3对应的数据的开始导出时间为:a年b月c日i时j分k秒;由于数据导出任务3对应的数据还未开始导出,即数据导出任务3对应的数据还未导出完成,因此,数据导出任务3对应的数据的导出结束时间显示为:-年-月-日-时-分-秒。
在本申请实施例的一些可能实现中,在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息之后,本申请实施例提供的数据导出方法还可以包括:接收对任务信息的删除指令;响应于删除指令,从数据导出任务列表中删除任务信息,并在目标数据未导出完成的情况下,结束数据导出任务。
具体地,数据导出任务列表中还可以包括:用于删除每个数据导出任务的任务信息的删除控件,例如,删除按钮。当用户点击某个数据导出任务的任务信息对应的删除按钮时,如果该数据导出任务对应的数据已导出完成,则从数据导出任务列表中删除该数据导出任务对应任务信息,如果该数据导出任务对应的数据未导出完成,则从数据导出任务列表中删除该数据导出任务对应的任务信息,并且删除该数据导出任务,即不再导出该数据导出任务对应的数据,进一步地,还可以删除用于存储导出的数据导出任务对应的数据的文件,以节省存储空间;
在本申请实施例的一些可能实现中,数据导出任务列表中还可以包括:用于暂停数据导出任务的控件(例如,暂停按钮)、用于继续数据导出任务的控件(例如,继续按钮)、用于查看数据导出记录的控件(例如,查看按钮)。
当用户点击暂停按钮时,暂停导出数据并将该暂停按钮切换显示为继续按钮,当用户点击继续按钮,继续导出数据。
当用户点击查看按钮时,可以显示数据导出记录;数据导出记录包括但不限于:目标文件的名称、路径、大小,目标数据的大小、开始导出时间、导出完成时间,以及数据导出所花费的时长等等,还可以打开目标文件,以显示导出到目标文件中的数据。
在本申请实施例的一些可能实现中,当接收对于目标数据的数据导出请求后,可以调用CSVWriterPage类的excel方法,该方法接收两个HashMap类型的变量作为全局变量。用户输入的查询条件存入类型为HashMap的参数1当中,用于查询出符合条件的数据列表,该数据列表以List<Map>存储。类型为HashMap的参数2用于存放生成的文件的参数值,例如:导出文件(即上述目标文件)名称、导出文件的存储路径等等。
在本申请实施例的的一些可能实现中,S102可以包括:根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
示例性地,数据大小与最大可占用内存空间的对应关系如表1所示。
表1
数据X大小(单位:GB) 最大可占用内存空间(单位:MB)
X≤1 100
1<X≤2 200
2<X≤3 300
…… ……
N<X≤N+1 (N+1)*100
当获取到目标数据为4.5GB时,根据上述表1,确定出大小为4.5GB的数据对应的最大可占用内存空间为500MB,则创建具有最大可占用内存空间为500MB的第一线程。
在本申请实施例的一些可能实现中,目标文件包括:文件格式为CSV的文件。
在本申请实施例中,CSV格式的文件以纯文本形式存储表格数据,便于用户解读目标数据,能够提高用户体验效果。
需要说明的是,本申请实施例提供的数据导出方法,执行主体可以为数据导出装置。本申请实施例中以数据导出装置执行数据导出方法为例,说明本申请实施例提供的数据导出装置。
图3是本申请实施例提供的数据导出装置的结构示意图。如图3所示,数据导出装置300可以包括:
第一接收模块301,用于接收对于目标数据的数据导出请求;
创建模块302,用于响应于数据导出请求,创建具有最大可占用内存空间的第一线程;
导出模块303,用于利用第一线程,将目标数据导出到目标文件。
在本申请实施例中,在接收到对于目标数据的数据导出请求之后,创建具有最大可占用内存空间的第一线程,然后根据该第一线程,将目标数据导出到目标文件。由于第一线程具有最大可占用内存空间,因此,在利用第一线程导出目标数据时,第一线程最多仅能占用最大可占用内存空间的内存,不会无限制占用内存,因此,不会造成内存溢出,进而能够避免数据导出失败。
在本申请实施例的一些可能实现中,导出模块具体用于:
利用第一线程调用BufferedWriter,将目标数据导出到目标文件。
在本申请实施例中,BufferedWriter带有缓冲区,每次写操作会将数据保存在缓冲区中,当缓冲区中的数据到达预设阈值后,会将缓冲区中的数据一次性写入到目标文件中,能够提高数据导出速度。
在本申请实施例的一些可能实现中,本申请实施例提供的数据导出装置300还包括:
关闭模块,用于关闭BufferedWriter。
在本申请实施例中,通过将BufferedWriter关闭,能够避免BufferedWriter一直占用资源,提高资源利用率。
在本申请实施例的一些可能实现中,本申请实施例提供的数据导出装置300还包括:
添加模块,用于在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息。
在本申请实施例中,通过将导出目标数据对应的数据导出任务的任务信息添加在数据导出任务列表中,用户通过数据导出任务列表,能够快速直观地获取数据导出任务的任务信息。
在本申请实施例的一些可能实现中,任务信息包括以下所列项中的至少一种:
目标文件的名称、目标文件的路径、目标数据的导出状态、目标数据的导出进度、目标数据的导出开始时间、目标数据的导出结束时间。
在本申请实施例的一些可能实现中,本申请实施例提供的数据导出装置300还包括:
第二接收模块,用于接收对任务信息的删除指令;
删除模块,用于响应于删除指令,从数据导出任务列表中删除任务信息;
结束模块,用于在目标数据未导出完成的情况下,结束数据导出任务。
在本申请实施例中,用户可以将导出目标数据对应的数据导出任务的任务信息从数据导出任务列表中删除。一方面,能够避免导出目标数据对应的数据导出任务的任务信息一直存在于数据导出任务中,另一方面,当用户欲结束数据导出时,能够通过对任务信息执行删除操作,结束数据导出,能够提高用户体验效果。
在本申请实施例的一些可能实现中,创建模块具体用于:
根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
在本申请实施例中,能够根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
在本申请实施例的一些可能实现中,目标文件包括:文件格式为CSV的文件。
在本申请实施例中,CSV格式的文件以纯文本形式存储表格数据,便于用户解读目标数据,能够提高用户体验效果。
本申请实施例中的数据导出装置可以是电子设备,也可以是电子设备中的部件,例如集成电路、或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据导出装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的数据导出装置能够实现图1和图2的数据导出方法实施例中的各个过程,为避免重复,这里不再赘述。
可选的,如图4所示,本申请实施例还提供一种电子设备400,包括处理器401和存储器402,存储器402存储有可在处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述数据导出方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
在本申请实施例的一些可能实现中,处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
在本申请实施例的一些可能实现中,存储器402可以包括只读存储器(Read-OnlyMemory,ROM),随机存取存储器(Random Access Memory,RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器402包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请实施例的数据导出方法所描述的操作。
图5是实现本申请实施例的电子设备的硬件结构示意图。
该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、以及处理器310等部件。
本领域技术人员可以理解,电子设备500还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器510用于:接收对于目标数据的数据导出请求;响应于数据导出请求,创建具有最大可占用内存空间的第一线程;利用第一线程,将目标数据导出到目标文件。
在本申请实施例中,在接收到对于目标数据的数据导出请求之后,创建具有最大可占用内存空间的第一线程,然后根据该第一线程,将目标数据导出到目标文件。由于第一线程具有最大可占用内存空间,因此,在利用第一线程导出目标数据时,第一线程最多仅能占用最大可占用内存空间的内存,不会无限制占用内存,因此,不会造成内存溢出,进而能够避免数据导出失败。
在本申请实施例的一些可能实现中,处理器510具体用于:
利用第一线程调用BufferedWriter,将目标数据导出到目标文件。
在本申请实施例中,BufferedWriter带有缓冲区,每次写操作会将数据保存在缓冲区中,当缓冲区中的数据到达预设阈值后,会将缓冲区中的数据一次性写入到目标文件中,能够提高数据导出速度。
在本申请实施例的一些可能实现中,处理器510还用于:
关闭BufferedWriter。
在本申请实施例中,通过将BufferedWriter关闭,能够避免BufferedWriter一直占用资源,提高资源利用率。
在本申请实施例的一些可能实现中,处理器510还用于:
在数据导出任务列表中添加导出目标数据对应的数据导出任务的任务信息。
在本申请实施例中,通过将导出目标数据对应的数据导出任务的任务信息添加在数据导出任务列表中,用户通过数据导出任务列表,能够快速直观地获取数据导出任务的任务信息。
在本申请实施例的一些可能实现中,任务信息包括以下所列项中的至少一种:
目标文件的名称、目标文件的路径、目标数据的导出状态、目标数据的导出进度、目标数据的导出开始时间、目标数据的导出结束时间。
在本申请实施例的一些可能实现中,处理器510还用于:
接收对任务信息的删除指令;
响应于删除指令,从数据导出任务列表中删除任务信息;
在目标数据未导出完成的情况下,结束数据导出任务。
在本申请实施例中,用户可以将导出目标数据对应的数据导出任务的任务信息从数据导出任务列表中删除。一方面,能够避免导出目标数据对应的数据导出任务的任务信息一直存在于数据导出任务中,另一方面,当用户欲结束数据导出时,能够通过对任务信息执行删除操作,结束数据导出,能够提高用户体验效果。
在本申请实施例的一些可能实现中,处理器510具体用于:
根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
在本申请实施例中,能够根据目标数据的大小,创建具有最大可占用内存空间的第一线程。
在本申请实施例的一些可能实现中,目标文件包括:文件格式为CSV的文件。
在本申请实施例中,CSV格式的文件以纯文本形式存储表格数据,便于用户解读目标数据,能够提高用户体验效果。
应理解的是,本申请实施例中,输入单元504可以包括图形处理器(GraphicsProcessing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元506可包括显示面板5061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板5061。用户输入单元507包括触控面板5071以及其他输入设备5072中的至少一种。触控面板5071,也称为触摸屏。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器509可以包括易失性存储器或非易失性存储器,或者,存储器509可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器509包括但不限于这些和任意其它适合类型的存储器。
处理器510可包括一个或多个处理单元;可选的,处理器510集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据导出方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质包括计算机可读存储介质,计算机可读存储介质的示例包括非暂态计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述数据导出方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述数据导出方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种数据导出方法,其特征在于,所述方法包括:
接收对于目标数据的数据导出请求;
响应于所述数据导出请求,创建具有最大可占用内存空间的第一线程;
利用所述第一线程,将所述目标数据导出到目标文件。
2.根据权利要求1所述的方法,其特征在于,所述利用所述第一线程,将所述目标数据导出到目标文件,包括:
利用所述第一线程调用字符缓冲输出流,将所述目标数据导出到所述目标文件。
3.根据权利要求2所述的方法,其特征在于,所述利用所述第一线程调用字符缓冲输出流,将所述目标数据导出到所述目标文件之后,所述方法还包括:
关闭所述字符缓冲输出流。
4.根据权利要求1所述的方法,其特征在于,所述接收对于目标数据的数据导出请求之后,所述方法还包括:
在数据导出任务列表中添加导出所述目标数据对应的数据导出任务的任务信息。
5.根据权利要求4所述的方法,其特征在于,所述任务信息包括以下所列项中的至少一种:
所述目标文件的名称、所述目标文件的路径、所述目标数据的导出状态、所述目标数据的导出进度、所述目标数据的导出开始时间、所述目标数据的导出结束时间。
6.根据权利要求4所述的方法,其特征在于,所述在数据导出任务列表中添加导出所述目标数据对应的数据导出任务的任务信息之后,所述方法还包括:
接收对所述任务信息的删除指令;
响应于所述删除指令,从所述数据导出任务列表中删除所述任务信息,并在所述目标数据未导出完成的情况下,结束所述数据导出任务。
7.根据权利要求1所述的方法,其特征在于,所述创建具有最大可占用内存空间的第一线程,包括:
根据所述目标数据的大小,创建具有最大可占用内存空间的第一线程。
8.根据权利要求1所述的方法,其特征在于,所述目标文件,包括:
文件格式为逗号分隔值的文件。
9.一种数据导出装置,其特征在于,所述装置包括:
第一接收模块,用于接收对于目标数据的数据导出请求;
创建模块,用于响应于所述数据导出请求,创建具有最大可占用内存空间的第一线程;
导出模块,用于利用所述第一线程,将所述目标数据导出到目标文件。
10.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至8任一项所述的数据导出方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至8任一项所述的数据导出方法的步骤。
12.一种计算机程序产品,其特征在于,所述程序产品被存储在存储介质中,所述程序产品被至少一个处理器执行时实现如权利要求1至8任一项所述的数据导出方法的步骤。
CN202111555979.5A 2021-12-17 2021-12-17 数据导出方法、装置、设备、介质及产品 Pending CN114217748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111555979.5A CN114217748A (zh) 2021-12-17 2021-12-17 数据导出方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111555979.5A CN114217748A (zh) 2021-12-17 2021-12-17 数据导出方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN114217748A true CN114217748A (zh) 2022-03-22

Family

ID=80703952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111555979.5A Pending CN114217748A (zh) 2021-12-17 2021-12-17 数据导出方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN114217748A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341154A (zh) * 2016-04-29 2017-11-10 北京京东尚科信息技术有限公司 一种数据导出的方法和装置
CN109614344A (zh) * 2018-12-12 2019-04-12 浪潮(北京)电子信息产业有限公司 一种缓存空间回收方法、装置、设备以及存储系统
CN110413978A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 数据分页导出方法、装置、计算机设备和存储介质
CN111125174A (zh) * 2019-12-06 2020-05-08 东软集团股份有限公司 数据导出方法、装置、存储介质、电子设备
WO2020172108A1 (en) * 2019-02-19 2020-08-27 Ingram Micro Inc. System and method for bulk user service assignment using csv
CN112988866A (zh) * 2021-03-01 2021-06-18 亿企赢网络科技有限公司 一种导出excel文件的方法、装置、电子设备及存储介质
CN113157410A (zh) * 2021-03-30 2021-07-23 北京大米科技有限公司 线程池调节方法、装置、存储介质及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107341154A (zh) * 2016-04-29 2017-11-10 北京京东尚科信息技术有限公司 一种数据导出的方法和装置
CN109614344A (zh) * 2018-12-12 2019-04-12 浪潮(北京)电子信息产业有限公司 一种缓存空间回收方法、装置、设备以及存储系统
WO2020172108A1 (en) * 2019-02-19 2020-08-27 Ingram Micro Inc. System and method for bulk user service assignment using csv
CN110413978A (zh) * 2019-08-02 2019-11-05 中国工商银行股份有限公司 数据分页导出方法、装置、计算机设备和存储介质
CN111125174A (zh) * 2019-12-06 2020-05-08 东软集团股份有限公司 数据导出方法、装置、存储介质、电子设备
CN112988866A (zh) * 2021-03-01 2021-06-18 亿企赢网络科技有限公司 一种导出excel文件的方法、装置、电子设备及存储介质
CN113157410A (zh) * 2021-03-30 2021-07-23 北京大米科技有限公司 线程池调节方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US12008213B2 (en) Technologies for computing context replay with visual searching
CN109902255B (zh) 页面混合浏览记录生成方法、装置、设备和存储介质
CN113849092A (zh) 内容分享方法、装置和电子设备
CN113157753B (zh) 显示方法、装置及电子设备
CN112269522A (zh) 图像处理方法、装置、电子设备和可读存储介质
CN112836086A (zh) 一种视频处理方法、装置和电子设备
US20240184434A1 (en) Display method and apparatus
CN114518822A (zh) 应用图标管理方法、装置和电子设备
CN104537049A (zh) 一种图片浏览方法及装置
CN113779321A (zh) 一种电子白板文件保存方法、装置、电子白板及存储介质
CN114217748A (zh) 数据导出方法、装置、设备、介质及产品
US11604849B2 (en) Rendering method, electronic device and storage medium
CN115729412A (zh) 界面显示方法及其装置
CN114070892A (zh) 数据传输方法和装置
CN115495020A (zh) 文件处理方法、装置、电子设备和可读存储介质
CN115729544A (zh) 桌面组件生成方法、装置、电子设备和可读存储介质
CN114253449A (zh) 截屏方法、装置、设备及介质
WO2018205390A1 (zh) 一种控件布局显示控制方法、系统、装置及计算机可读存储介质
CN115550741A (zh) 视频管理方法、装置、电子设备及可读存储介质
CN112202958B (zh) 截图方法、装置及电子设备
CN113901033A (zh) 数据迁移方法、装置、设备及介质
CN113962316A (zh) 模型训练方法、装置及电子设备
CN114491309A (zh) 图片处理方法和装置
CN113885981A (zh) 桌面编辑方法、装置和电子设备
CN111858395A (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