CN115495496A - 数据导出方法、装置、电子设备、存储介质及程序产品 - Google Patents
数据导出方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115495496A CN115495496A CN202210989349.7A CN202210989349A CN115495496A CN 115495496 A CN115495496 A CN 115495496A CN 202210989349 A CN202210989349 A CN 202210989349A CN 115495496 A CN115495496 A CN 115495496A
- Authority
- CN
- China
- Prior art keywords
- data
- export
- thread
- query result
- task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000004806 packaging method and process Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 56
- 238000009795 derivation Methods 0.000 claims description 31
- 230000002159 abnormal effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 13
- 239000012634 fragment Substances 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000007910 cell fusion Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000010485 coping Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据处理技术领域,提供一种数据导出方法、装置、电子设备、存储介质及程序产品,该方法包括:接收数据导出请求,并基于数据导出请求获取导出数据的任务量;对任务量进行处理,得到至少一个线程所需处理的任务量,并调用至少一个线程查询对应任务量的导出数据;获取至少一个线程对应的编号信息,并基于编号信息依次获取至少一个线程查询到的导出数据,得到查询结果;查找数据导出求对应的业务功能,利用业务功能对查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于下载链接地址进行数据导出。这样,可以提高导出数据的灵活性,且当导出数据量较大时,利用多线程导出,提高导出效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据导出方法、装置、电子设备、存储介质及程序产品。
背景技术
随着大数据的日益发展,在业务***中经常会有导出数据的场景,如将数据批量导出到Excel中,方便数据的传递以及再次整理和使用。
现有技术中,将数据库中数据导出到Excel通常采用根据查询条件从数据库读取数据,然后使用poi包依次操作行列设置单元格数据的方式进行数据的导出。
但是,上述方式导出数据的灵活性较差,且当导出数据量较大时,获取数据的消耗时间较长,导出效率低。
发明内容
本申请提供一种数据导出方法、装置、电子设备、存储介质及程序产品,可以提高导出数据的灵活性,且当导出数据量较大时,利用多线程导出,提高导出效率。
第一方面,本申请提供一种数据导出方法,所述方法包括:
接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
可选的,对所述任务量进行处理,得到至少一个线程所需处理的任务量,包括:
获取预设数量值,利用所述任务量除以所述预设数量值并进行向上取整处理,得到需要调用的线程数量以及至少一个线程所需处理的任务量。
可选的,调用所述至少一个线程查询对应任务量的导出数据,包括:
判断所述线程数量是否大于预设阈值;
若否,则采用单线程的方式依次查询对应任务量的导出数据;
若是,则采用多线程的方式异步查询对应任务量的导出数据。
可选的,利用所述业务功能对所述查询结果进行封装,包括:
基于所述业务功能获取所述查询结果对应的模型结构,所述模型结构包括:导出数据对应的表头信息、表格信息以及表格样式信息;
基于所述模型结构将所述查询结果进行封装。
可选的,基于所述模型结构将所述查询结果进行封装,包括:
获取所述查询结果中单元格的文本名称和样式;
将所述模型结构与所述查询结果进行匹配,并基于所述文本名称和样式将所述查询结果写入所述模型结构。
可选的,将封装后的查询结果上传到服务器,包括:
获取导出数据的表头信息,并提取所述表头信息中的关键字;
利用所述关键字检验所述封装后的查询结果是否正确;
若是,则将封装后的查询结果上传到服务器;
若否,则终止数据导出,并向客户端反馈报警信息,以提示用户数据导出异常。
可选的,所述方法还包括:
基于所述数据导出请求获取导出数据的标识信息,所述标识信息用于标识导出数据的导出接口;
每隔预设时间,基于所述标识信息查询所述导出数据的导出状态;
若所述导出状态为导出成功,则向客户端反馈下载链接地址以及提示信息,用于提示用户基于所述下载链接地址进行数据导出;
若所述导出状态为导出失败,则获取导出数据对应的失败原因,并向客户端反馈所述失败原因,用于提示用户导出数据失败;
若所述导出状态为正在导出,则继续查询所述导出数据的导出状态。
第二方面,本申请提供一种数据导出装置,所述装置包括:
接收模块,用于接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
处理模块,用于对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
获取模块,用于获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
封装模块,用于查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如第一方面任一项所述的方法。
综上所述,本申请提供一种数据导出方法、装置、电子设备、存储介质及程序产品,可以通过接收数据导出请求,并基于数据导出请求获取导出数据的任务量;进一步的,对导出数据的任务量进行处理,得到至少一个线程所需处理的任务量,并调用至少一个线程查询对应任务量的导出数据;进一步的,获取至少一个线程对应的编号信息,并基于编号信息依次获取至少一个线程查询到的导出数据,得到查询结果;进而查找数据导出求对应的业务功能,利用业务功能对查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,这样,客户端便可以基于下载链接地址进行数据导出,其中,编号信息用于标记线程查询导出数据时对应的顺序,通过分顺序获取整体数据,且保持顺序的一致性,提高了数据导出的灵活性,利用业务功能对查询结果进行封装,用于数据导出,在数据导出量较大时,可以采用多线程处理,提高处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种数据导出方法的流程示意图;
图3为本申请实施例提供的一种模型结构的结构示意图;
图4为本申请实施例提供的一种具体的数据导出方法的流程示意图;
图5为本申请实施例提供的一种数据导出装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/ 或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项 (个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在平台***中各业务功能中都会有将***中数据按照对应的数据格式导出到Excel的业务需求,由于业务需求复杂多变,导出操作功能点比较多,例如***内的报表导出,整个***需要一百多张报表需要导出,导出数据量大,通常需要一个简化、标准化导出方法进行数据的导出。
一种可能的实现方式中,将数据库中数据导出到Excel通常采用根据查询条件从数据库读取数据,然后使用poi包依次操作行列设置单元格数据的方式进行数据的导出。
但是,上述方式导出数据的灵活性较差,且当导出数据量较大时,获取数据的消耗时间较长,导出效率低。
针对上述问题,本申请提供一种数据导出方法,支持分布式服务使用,且可以采用多线程分片的查询数据,同时保证最终合并分片数据后整体数据顺序的一致性,具体的,可以通过接收客户端的数据导出请求,然后启动线程开始执行导出,其中,启动线程的数量根据导出数据的任务量确定,进而利用线程分片加载数据,在加载完数据之后,可以基于功能模块查找出该数据导出请求对应的业务功能,进一步的,基于业务功能对加载的数据进行封装,并将封装后的数据上传到服务器,生成下载链接地址,供客户端进行下载,这样,通过设计标准的导出实现过程,可以提高开发人员的开发效率和质量,采用分片有顺序的导出数据,提高了数据导出的灵活性,且在数据导出量较大时,可以采用多线程处理,提高处理效率。
示例性的,图1为本申请实施例提供的一种应用场景示意图,本申请提供的一种数据导出方法可以应用于如图1所示的应用场景中。该应用场景包括:用户的终端设备101、业务平台102和云端103;其中,业务平台102中包括功能模块,所述功能模块用于查询与数据导出请求相对应的业务功能;具体的,在用户的终端设备101需要从数据库中导出Excel数据时,用户的终端设备101 可以向业务平台102发送数据导出请求,业务平台102在接收到该数据导出请求后,可以采用多线程查询数据,创建CountDownLatch线程计数器,分片异步加载数据,在加载完数据之后,可以基于功能模块查找出该数据导出请求对应的业务功能,进一步的,基于业务功能对加载的数据进行封装,并将封装后的数据上传到云端103,生成下载链接地址,这样,用户的终端设备101可以基于下载链接地址进行数据导出。
可选的,上述多线程查询数据时,采用的是异步查询的方式,这样,可以分隔了前端和后端之间的影响关系,不会由于后台服务操作时间过长引起接口超时导致数据查询失败,进而大大提高导出的性能。
上述终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(sessioninitiation protocol,SIP)话机、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)等设备。无线终端也可以称为***、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote Station)、远程终端(remote terminal)、接入终端(accessterminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user deviceor user equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、智能手机等设备。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种数据导出方法的流程示意图,如图2所示,所述数据导出方法包括如下步骤:
S201、接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量。
本申请实施例中,所述数据导出请求为客户端发送的数据导出的消息指令,该消息指令用于导出多条数据到Excel中,基于所述数据导出请求可以获取导出数据对应的任务量,即数据的条数,本申请实施例对每次数据导出请求对应的任务量不做具体限定,其可以多至几万至几十万条数据,也可以少至几条数据。
S202、对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据。
在本步骤中,利用预定义算法对所述任务量进行处理,得到至少一个线程所需处理的任务量,所述预定义算法为提前定义好的用于对任务量进行计算的方法,如均值算法(分片计算方法)、加权算法、比例算法等,本申请实施例对此不作具体限定。
可选的,利用分片计算方法对所述任务量进行处理,具体的,设置分片处理的固定长度N,获取所述任务量C,根据S=C/N获得分片片数S,即需要启动S个线程查询N条导出数据,需要说明的是,固定长度N可以根据线程的实际处理能力而定,优选的,N为线程可处理的最优的任务量。
可以理解的是,若S=C/N存在余数,则获取线程数量为S+1个,当S 大于1时,采用多线程异步查询数据,具体的,可以创建CountDownLatch 线程计数器,分片异步加载数据。
可选的,利用加权算法对所述任务量进行处理,即根据所述数据导出请求对应的导出数据的类型进行加权处理,设置不同的类型对应不同的权重A,获取所述任务量C,每一线程需要处理的任务量为C*A,A为小于1的正数, C=C*(A1+A2+…AM),M为调用的线程数量。
可以理解的是,当A设定为比例系数时,C大于或等于C* (A1+A2+…AM),这样,可以为线程设置最优处理的任务量,以使线程还有多余的处理空间,对于A的设定,可以基于导出数据的类型,也可以基于导出数据的优先级等进行设定,本申请实施例对此不作具体限定。
S203、获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序。
本申请实施例中,所述编号信息用于标记线程查询导出数据时对应的顺序,即可以根据每个线程的编号信息依次组装分片查询导出数据,进而整合为全量数据结果集,保持整体数据顺序的一致性。
在本步骤中,获取每一线程对应的编号信息i,进而利用 CountDownLatch.await()程序等待所有线程执行完毕,即基于编号信息i依次获取对应顺序线程查询到的导出数据,进一步的,根据每个线程的编号信息 i依次组装线程查询到的导出数据,得到查询结果,即全量数据结果集。
示例性的,在图1的应用场景下,业务平台102在计算得到S个线程所需处理的任务量后,可以获取S个线程对应的编号信息,如需要3个线程,则对应的编号信息为1、2、3,所述编号信息用于标记3个线程导出数据对应的顺序,即在3个线程查询完相应的导出数据后,利用线程对应的编号信息1、2、3依次对3个线程查询完的导出数据进行组合,进而得到查询结果。
S204、查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
本申请实施例中,下载链接地址用于指定封装后的导出数据的信息位置,如统一资源定位***(Uniform Resource Locator,URL),所述下载链接地址存储于服务器中,用于供客户端下载相应的数据,所述服务器可以为云端服务器、本地服务器等,用于存储多台服务节点上传的数据,本申请实施对服务器的类型不做具体限定。
在本步骤中,基于业务功能模块查找所述数据导出请求对应的业务功能,所述业务功能为根据导出业务功能需求提前设置的导出Excel的表头信息、导出Excel的表格信息(导出数据的结果集列表)、导出Excel表格样式,进一步的,将所述查询结果写入Excel中,并将写入数据的Excel上传到服务器,生成下载链接地址,即基于所述下载链接地址下载导出数据的形式为 Excel形式
可以理解的是,利用业务功能模块导出数据,可以为数据导出提供便利性,提高了数据导出的效率和质量,这样,开发人员只需关注业务功能上的要求设置,便可以实现Excel数据的导出。
需要说明的是,查询结果封装后之后将其上传到服务器存储,得到对应的服务器下载链接地址,供客户端下载使用,其目的是由于业务***采用分布式服务部署,存在多台服务节点,封装后的查询结果只在某一台服务器上,如果不上传并保存服务器存储,当客户端请求下载生成好的查询结果时若落到其他服务节点上,会导致下载失败,因此将封装后的查询结果进行服务器存储,并且互联网可访问,提高下载的成功率。
因此,本申请提供一种数据导出方法,可以通过接收数据导出请求,并基于数据导出请求获取导出数据的任务量;进一步的,对导出数据的任务量进行处理,得到至少一个线程所需处理的任务量,并调用至少一个线程查询对应任务量的导出数据;进一步的,获取至少一个线程对应的编号信息,并基于编号信息依次获取至少一个线程查询到的导出数据,得到查询结果;进而查找数据导出求对应的业务功能,利用业务功能对查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,这样,客户端便可以基于下载链接地址进行数据导出,其中,编号信息用于标记线程查询导出数据时对应的顺序,通过分顺序获取整体数据,可以保持顺序的一致性,提高了数据导出的灵活性,利用业务功能对查询结果进行封装,用于数据导出,且在数据导出量较大时,可以采用多线程处理,提高处理效率。
可选的,对所述任务量进行处理,得到至少一个线程所需处理的任务量,包括:
获取预设数量值,利用所述任务量除以所述预设数量值并进行向上取整处理,得到需要调用的线程数量以及至少一个线程所需处理的任务量。
本申请实施例中,预设数量值可以指的是线程单次查询性能的最佳长度值,所述预设数量值可以基于线程的属性获取,也可以人为设定,本申请实施例对预设数量对应的数值以及设定来源不作具体限定。
在本步骤中,可以根据数据导出请求得到导出数据总条数C,获取设置的单次查询性能最佳长度值N,利用C除以N并进行向上取整处理,即根据 S=C/N获得需要调用的线程数量S,即进一步的,启动 CountDownLatch线程计数器,计数个数设为S,启动S个线程,每个线程分段的查询数据,假设线程对应的编号信息为i(i为大于或等于1的正整数),则依次获取(i-1)*N至i*N条对应的导出数据,相应的,当该线程执行完毕时CountDownLatch线程计数器减1,这样,在所有线程执行完毕后,可以根据每个线程的编号信息i依次组装导出数据为整合后的全量数据结果集。
因此,本申请实施例可以将每个线程处理的任务量均衡分配,提高了数据导出的稳定性。
可选的,调用所述至少一个线程查询对应任务量的导出数据,包括:
判断所述线程数量是否大于预设阈值;
若否,则采用单线程的方式依次查询对应任务量的导出数据;
若是,则采用多线程的方式异步查询对应任务量的导出数据。
本申请实施例中,预设阈值可以指的是设定的用于确定是否启动多线程进行数据查询对应的数值,在线程数量超过所述预设阈值后,可以启动多线程进行数据查询,提高线程的利用率,减少线程浪费,本申请实施例对预设阈值不作具体限定。
在本步骤中,单线程的方式指的是利用一个执行流进行数据处理,即在程序执行时,运行一个的线程按照连续顺序执行下来;多线程的方式指的是利用多个执行流进行数据处理,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,而采用多线程的方式异步查询,可以使得运行多个不同的线程相互不干扰,分隔了前端和后端之间的影响关系,不会由于某个线程处理数据时间过长或者占据导出接口致使其他线程不能进行。
具体的,当确定需要调用的线程数量大于预设阈值时,采用多线程的方式同时查询导出数据而互不干扰,当确定需要调用的线程数量小于预设阈值时,采用单线程的方式依次查询导出数据,节省资源。
因此,本申请实施例基于需要调用的线程数量确定采用何种方式查询对应任务量的导出数据,在所需线程数量少时采用单线程方式,线程数量多时采用多线程方式,节省资源,适用多种场景,灵活性高。
可选的,利用所述业务功能对所述查询结果进行封装,包括:
基于所述业务功能获取所述查询结果对应的模型结构,所述模型结构包括:导出数据对应的表头信息、表格信息以及表格样式信息;
基于所述模型结构将所述查询结果进行封装。
本申请实施例中,模型结构可以指的是导出数据对应的Excel的形式,包括导出数据对应的表头信息、表格信息以及表格样式信息,示例性的,图 3为本申请实施例提供的一种模型结构的结构示意图,如图3所示,模型结构 (类ExcelUtils)包括导出数据列表(list)、表头信息(headers)、数据表格格式信息(dataFormat);所述导出数据列表用List标识,代表用来保存待导出的原始数据结果集(表格信息);所述表头信息用List<Headerinfo>标识,代表设置的表头信息;所述数据表格格式信息用List<Formatinfo>标识,代表导出数据的表格样式信息(表格样式信息)。
其中,所述表头信息支持自定义设计表头样式信息,即可以使用一个列表来保存可变长度的表头单元格数据信息,所述表头信息(类HeaderInfo) 包含:firstRow代表单元格起始行号、lastRow代表单元格结束行号、firstCol 代表单元格起始列号、lastCol代表单元格结束列号、title代表一系列单元格文本名称、Style代表设置的单元格样式信息,如可以设置单元格的背景色、边框样式、字体样式等。
需要说明的是,在表头信息设置过程中,可以通过设置firstRow、lastRow、firstCol、lastCol可进行单元格的多个行列的合并处理。
所述表格样式信息包含:propertyName代表一系列实体类属性名、 formatType代表一系列内容格式类型,即导出数据在单元格内容格式类型,如字符、数字、日期等格式类型、firstCol代表单元格起始列号、lastCol代表单元格结束列号、title代表一系列单元格文本名称、Style代表单元格样式,如字体样式、背景色、边框等。
需要说明的是,在表格样式信息设置过程中,可以通过设置firstCol、 lastCol可进行单元格的合并处理。
具体的,构建模型结构主要包括以下步骤:
步骤1:构建模型结构的表头信息;具体的,初始化Excel的表头,进而利用poi中Sheet类的addMergedRegion(CellRangeAddress var1)方法创建表头,进一步的,进行单元格融合,在融合之后的每个单元首行和首列的位置创建单元格,然后为单元格赋值文本,并设置自定义单元格的样式,这样,完成了任意类型的表头设置;其中,在进行单元格融合时,遍历HeaderInfo 列表,按照每个HeaderInfo的坐标信息进行单元格融合,完成了任意类型的表头设置。
步骤2:设计模型结构的表格样式信息,即设计导出数据的样式,由于通过依次遍历结果集数据(即表格信息)并逐行导出数据到Excel对应的Row 行中实现数据的导出。因此,在设计导出数据的样式时,需要设计导出数据对应的实体类、单元格文本数据类型、单元格的起始列号与终止列号以及表格样式,所述单元格的起始列号与终止列号用于进行单元格合并处理。
在本步骤中,基于所述模型结构将查询结果进行封装,即将查询结果导入到模型结构中,通过遍历dataFormat数组来依次导出对应单元格数据,利用list.get(i)遍历原始数据的实体类,通过使用BeanUtils的工具,对一个实体类进行字段的赋值与字段值的获取,即调用BeanUtils.getProperty(list.get(i), propertyName)代码,获取实体类中名称为propertyName这个字段的值,由formatType指定单元格文本数据类型,进行单元格数据内容的赋值,实现了任意类型的数据导出,其中,可以通过设置单元格的firstCol、lastCol可以进行单元格合并处理,然后再通过Style来设置数据单元格的Excel样式。
可以理解的是,不同的业务,导出的数据类型是不一样的,则在Java实现中的实体类也是不一样的,因此通过使用上述描述的方法(反射技术),可以实现了任意类型的数据导出。
需要说明的是,构建导出数据对应的模型结构,与业务功能进行绑定,即功能模块可以导出数据对应的业务功能选取相应的模型结构进行数据导出。
因此,本申请实施例可以利用提前构建的数据结构对导出数据进行处理,使得导出的数据可以提前封装好,提高数据导出的效率。
可选的,基于所述模型结构将所述查询结果进行封装,包括:
获取所述查询结果中单元格的文本名称和样式;
将所述模型结构与所述查询结果进行匹配,并基于所述文本名称和样式将所述查询结果写入所述模型结构。
在本步骤中,将所述模型结构与所述查询结果进行匹配,可以将查询结果中对应的表头信息、表格信息以及表格样式信息与模型结构中的一一进行匹配,选取适合查询结果对应的模型结构进行数据的写入,进而获取查询结果中对应的单元格的文本名称和样式,将其同时写入模型结构中。
其中,所述文本名称为查询结果中的实体类名称,用于标记单元格使用业务任意类型的对应的属性字段,所述样式为查询结果中的表格样式,如字体样式、背景色、边框等,本申请对所述样式不做具体限定,其可以支持丰富多样的显示样式。
因此,本申请实施例可以对模型结构与查询结果进行匹配,并在匹配之后基于文本名称和样式对查询结果封装,减少数据导出过程出错,提高数据导出的稳定性。
可选的,将封装后的查询结果上传到服务器,包括:
获取导出数据的表头信息,并提取所述表头信息中的关键字;
利用所述关键字检验所述封装后的查询结果是否正确;
若是,则将封装后的查询结果上传到服务器;
若否,则终止数据导出,并向客户端反馈报警信息,以提示用户数据导出异常。
本申请实施例中,报警信息可以指的是提前设定的用于提示用户数据导出异常对应的信息,所述报警信息的发送形式与发送内容,本申请实施例不作具体限定,其可以为以消息提示框的形式发送到客户端供用户查看或者发送到业务平台对应的显示设备上供开发人员查看,也可以以短信或语音消息的形式发送到客户端或者业务平台对应的显示设备上,如可以向客户端发送一条消息提示框,显示“封装后的查询结果异常,无法进行数据导出”,以提醒用户数据导出异常,或者向业务平台对应的显示设备上发送一条消息提示框,显示“封装后的查询结果异常,无法进行数据导出”,以提醒开发人员数据导出异常,请及时进行检修。
在本步骤中,提取所述表头信息中的关键字,所述关键字可以为单元格对应的实体类名称,利用所述关键字检验所述封装后的查询结果是否正确,即可以获取某一列封装后的查询结果对应的数据,判断该数据对应的实体类名称是否与表头信息中提取出的实体类名称相同,进而检验封装后的查询结果是否正确。
需要说明的是,提取所述表头信息中的关键字,也可以其他类型的信息,如表格样式信息对应的关键字,首行和首列的位置信息对应的关键字,本申请实施例对此不做具体限定。
示例性的,在图1的应用场景下,业务平台102在得到查询结果后,可以获取导出数据的表头信息,并提取该表头信息中的关键字;进一步的,利用关键字检验封装后的查询结果中对应的关键字是否相同;若是,则将封装后的查询结果上传到云端103;若否,则终止数据导出,并向用户的终端设备101 发送一条消息提示框,显示“封装后的查询结果异常,无法进行数据导出”,以提醒用户数据导出异常。
需要说明的是,若有多个客户端发送数据导出请求或一个客户端发送多个数据导出请求,则上传封装后的查询结果到服务器采用的方式也是异步上传的方式,减少相互干扰。
因此,本申请实施例可以基于导出数据的表头信息对应关键字检验封装后的查询结果是否正确,提高封装数据的安全性,减少错误的发生。
可选的,所述方法还包括:
基于所述数据导出请求获取导出数据的标识信息,所述标识信息用于标识导出数据的导出接口;
每隔预设时间,基于所述标识信息查询所述导出数据的导出状态;
若所述导出状态为导出成功,则向客户端反馈下载链接地址以及提示信息,用于提示用户基于所述下载链接地址进行数据导出;
若所述导出状态为导出失败,则获取导出数据对应的失败原因,并向客户端反馈所述失败原因,用于提示用户导出数据失败;
若所述导出状态为正在导出,则继续查询所述导出数据的导出状态。
本申请实施例中,所述预设时间可以指的是设定用于不间断获取导出数据的导出状态对应的时间,所述失败原因可以包括导出数据失败的阶段、导出数据失败对应的条数、文本名称、数据类型等,以方便用户及时了解失败的原因,进而找到应对方法,所述应对方法可以为客户端重新发送数据导出请求,或者也可以为用户取消某条数据的导出,使得其余数据可以成功导出,本申请实施例对应方法不做具体限定。
其中,在找到失败原因后,可以将所述失败原因发送给所述客户端,可以通过弹窗提示的形式发送一条失败信息到客户端上,如“数据1和数据导出失败”,也可以以语音或图片的形式发送相应的失败信息到客户端上,本申请实施例对发送失败原因的内容以及形式不作具体限定,以上仅是示例说明。
在本步骤中,基于所述标识信息查询所述导出数据的导出状态,所述标识信息为提前编写好的导出接口对应的信息,在客户端发送数据导出请求之后,业务平台可以给客户端返回一个下载导出数据的唯一标志,所述标志用于以后查找该导出数据的状态,进而客户端可以基于该标志发送查询所述导出数据的导出状态的请求,进一步的,业务平台基于该请求调用对应的接口检查Excel文件的导出状态。
需要说明的是,所述提示信息的发送形式和发送内容可以参考失败原因的发送形式,在此不再赘述,其内容可以适应修改为“下载链接地址为123456”,本申请实施例对预设时间对应的具体数值不作限定,其可以提前设定好,也可以人为随时修改,如预设时间为2秒。
因此,在数据导出过程中,本申请实施例可以对导出数据的状态进行判断,减少导出异常的发生,提高导出成功率。
结合上述实施例,图4为本申请实施例提供的一种具体的数据导出方法的流程示意图,如图4所示,所述数据导出方法包括如下步骤:
步骤A:用户在客户端向业务功能服务***(业务平台)发送导出Excel 下载请求(数据导出请求),进一步的,业务功能服务***动线程异步开始执行导出数据,具体的处理过程为:开启异步生成Excel(异步查询到导出数据),组装导出模型(选择模型结构),poi将数据写入Excel文件(对查询结果进行封装);同时,给客户端返回一个Excel(下载导出数据)的唯一标志,并执行步骤B;进一步的,在线程异步执行导出数据结束后,业务功能服务***将 Excel文件(封装后的查询结果)上传到云端,并生成Excel文件URL(下载链接地址)。
步骤B:在客户端拿到Excel唯一标识之后,根据唯一标识,向业务功能服务***获取Excel文件请求状态,即开始每隔2秒轮询调用相应的接口检查Excel 文件的导出状态,进而业务功能服务***返回Excel文件状态应答:如果接口返回状态为status=0表示文件状态为导出未完成时,则间隔两秒继续请求,如果接口返回状态为status=1时表示Excel文件准备就绪,同时返回Excel文件的云端下载链接地址URL,客户端使用URL发起下载保存Excel文件即可;如果接口返回状态为status=2时表示Excel过程异常,提示用户导出失败原因,流程结束,其中,业务功能服务***实时发送文件数据流响应。
经过试验表明,该方法可以保证***稳定平稳运行,且用户体验良好,支持海量数据的导出。
在前述实施例中,对本申请实施例提供的数据导出方法进行了介绍,而为了实现上述本申请实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
例如,图5为本申请实施例提供的一种数据导出装置的结构示意图,如图5 所示,该装置包括:接收模块510、处理模块520、获取模块530和封装模块 540;其中,所述接收模块510,用于接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
所述处理模块520,用于对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
所述获取模块530,用于获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
所述封装模块540,用于查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
可选的,所述处理模块520包括处理单元和判断单元;所述处理单元,用于:
获取预设数量值,利用所述任务量除以所述预设数量值并进行向上取整处理,得到需要调用的线程数量以及至少一个线程所需处理的任务量。
可选的,所述判断单元,用于:
判断所述线程数量是否大于预设阈值;
若否,则采用单线程的方式依次查询对应任务量的导出数据;
若是,则采用多线程的方式异步查询对应任务量的导出数据。
可选的,所述封装模块540包括获取单元、封装单元和上传单元;
可选的,所述获取单元,用于基于所述业务功能获取所述查询结果对应的模型结构,所述模型结构包括:导出数据对应的表头信息、表格信息以及表格样式信息;
所述封装单元,用于基于所述模型结构将所述查询结果进行封装。
可选的,所述封装单元,具体用于:
获取所述查询结果中单元格的文本名称和样式;
将所述模型结构与所述查询结果进行匹配,并基于所述文本名称和样式将所述查询结果写入所述模型结构。
可选的,所述上传单元,用于:
获取导出数据的表头信息,并提取所述表头信息中的关键字;
利用所述关键字检验所述封装后的查询结果是否正确;
若是,则将封装后的查询结果上传到服务器;
若否,则终止数据导出,并向客户端反馈报警信息,以提示用户数据导出异常。
可选的,所述装置还包括查询模块,所述查询模块,用于:
基于所述数据导出请求获取导出数据的标识信息,所述标识信息用于标识导出数据的导出接口;
每隔预设时间,基于所述标识信息查询所述导出数据的导出状态;
若所述导出状态为导出成功,则向客户端反馈下载链接地址以及提示信息,用于提示用户基于所述下载链接地址进行数据导出;
若所述导出状态为导出失败,则获取导出数据对应的失败原因,并向客户端反馈所述失败原因,用于提示用户导出数据失败;
若所述导出状态为正在导出,则继续查询所述导出数据的导出状态。
本申请实施例提供的一种数据导出装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,此处不做过多赘述。
本申请实施例还提供了一种电子设备的结构示意图,图6为本申请实施例提供的一种电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器601 以及与所述处理器通信连接的存储器602;该存储器602存储计算机程序;该处理器601执行该存储器602存储的计算机程序,使得该处理器601执行上述任一实施例所述的方法。
其中,存储器602和处理器601可以通过总线603连接。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本申请前述任一实施例中的所述的方法。
本申请实施例还提供了一种运行指令的芯片,该芯片用于执行如本申请前述任一实施例中由电子设备所执行的前述任一实施例中所述的方法。
本申请实施例还提供了一种计算机程序产品,该程序产品包括程序代码,当计算机运行所述计算机程序时,该程序代码执行前述任一实施例中所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC) 等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速随机存取存储器(Random Access memory,简称RAM),也可能还包括非不稳定的存储器(Non-volatile Memory,简称NVM),例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA) 总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何在本申请实施例揭露的技术范围内的变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种数据导出方法,其特征在于,所述方法包括:
接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
2.根据权利要求1所述的方法,其特征在于,对所述任务量进行处理,得到至少一个线程所需处理的任务量,包括:
获取预设数量值,利用所述任务量除以所述预设数量值并进行向上取整处理,得到需要调用的线程数量以及至少一个线程所需处理的任务量。
3.根据权利要求2所述的方法,其特征在于,调用所述至少一个线程查询对应任务量的导出数据,包括:
判断所述线程数量是否大于预设阈值;
若否,则采用单线程的方式依次查询对应任务量的导出数据;
若是,则采用多线程的方式异步查询对应任务量的导出数据。
4.根据权利要求1所述的方法,其特征在于,利用所述业务功能对所述查询结果进行封装,包括:
基于所述业务功能获取所述查询结果对应的模型结构,所述模型结构包括:导出数据对应的表头信息、表格信息以及表格样式信息;
基于所述模型结构将所述查询结果进行封装。
5.根据权利要求4所述的方法,其特征在于,基于所述模型结构将所述查询结果进行封装,包括:
获取所述查询结果中单元格的文本名称和样式;
将所述模型结构与所述查询结果进行匹配,并基于所述文本名称和样式将所述查询结果写入所述模型结构。
6.根据权利要求1所述的方法,其特征在于,将封装后的查询结果上传到服务器,包括:
获取导出数据的表头信息,并提取所述表头信息中的关键字;
利用所述关键字检验所述封装后的查询结果是否正确;
若是,则将封装后的查询结果上传到服务器;
若否,则终止数据导出,并向客户端反馈报警信息,以提示用户数据导出异常。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
基于所述数据导出请求获取导出数据的标识信息,所述标识信息用于标识导出数据的导出接口;
每隔预设时间,基于所述标识信息查询所述导出数据的导出状态;
若所述导出状态为导出成功,则向客户端反馈下载链接地址以及提示信息,用于提示用户基于所述下载链接地址进行数据导出;
若所述导出状态为导出失败,则获取导出数据对应的失败原因,并向客户端反馈所述失败原因,用于提示用户导出数据失败;
若所述导出状态为正在导出,则继续查询所述导出数据的导出状态。
8.一种数据导出装置,其特征在于,所述装置包括:
接收模块,用于接收数据导出请求,并基于所述数据导出请求获取导出数据的任务量;
处理模块,用于对所述任务量进行处理,得到至少一个线程所需处理的任务量,并调用所述至少一个线程查询对应任务量的导出数据;
获取模块,用于获取所述至少一个线程对应的编号信息,并基于所述编号信息依次获取所述至少一个线程查询到的导出数据,得到查询结果;所述编号信息用于标记线程查询导出数据时对应的顺序;
封装模块,用于查找所述数据导出请求对应的业务功能,利用所述业务功能对所述查询结果进行封装,并将封装后的查询结果上传到服务器,生成下载链接地址,用于客户端基于所述下载链接地址进行数据导出。
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括程序代码,当计算机运行所述计算机程序时,所述程序代码执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989349.7A CN115495496A (zh) | 2022-08-17 | 2022-08-17 | 数据导出方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210989349.7A CN115495496A (zh) | 2022-08-17 | 2022-08-17 | 数据导出方法、装置、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495496A true CN115495496A (zh) | 2022-12-20 |
Family
ID=84465612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210989349.7A Pending CN115495496A (zh) | 2022-08-17 | 2022-08-17 | 数据导出方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495496A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069774A (zh) * | 2023-04-03 | 2023-05-05 | 北京全路通信信号研究设计院集团有限公司 | 基于无线超时智能分析的数据清洗方法、装置及介质 |
CN116881881A (zh) * | 2023-09-07 | 2023-10-13 | 国网思极网安科技(北京)有限公司 | 数据导出方法、装置、电子设备和计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113609168A (zh) * | 2021-07-14 | 2021-11-05 | 远景智能国际私人投资有限公司 | 数据导出方法、装置、终端以及可读存储介质 |
CN113806305A (zh) * | 2020-09-30 | 2021-12-17 | 北京沃东天骏信息技术有限公司 | 数据导出方法及装置、计算机可读存储介质及电子设备 |
CN114091409A (zh) * | 2021-11-22 | 2022-02-25 | 全景智联(武汉)科技有限公司 | 分布式异步解析Excel的方法、***、设备及存储介质 |
CN114185895A (zh) * | 2021-12-14 | 2022-03-15 | 中国平安财产保险股份有限公司 | 数据导入导出方法、装置、电子设备及存储介质 |
CN114218156A (zh) * | 2021-12-07 | 2022-03-22 | 深圳市科脉技术股份有限公司 | 数据导出方法、装置、计算机设备和存储介质 |
-
2022
- 2022-08-17 CN CN202210989349.7A patent/CN115495496A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806305A (zh) * | 2020-09-30 | 2021-12-17 | 北京沃东天骏信息技术有限公司 | 数据导出方法及装置、计算机可读存储介质及电子设备 |
CN113609168A (zh) * | 2021-07-14 | 2021-11-05 | 远景智能国际私人投资有限公司 | 数据导出方法、装置、终端以及可读存储介质 |
CN114091409A (zh) * | 2021-11-22 | 2022-02-25 | 全景智联(武汉)科技有限公司 | 分布式异步解析Excel的方法、***、设备及存储介质 |
CN114218156A (zh) * | 2021-12-07 | 2022-03-22 | 深圳市科脉技术股份有限公司 | 数据导出方法、装置、计算机设备和存储介质 |
CN114185895A (zh) * | 2021-12-14 | 2022-03-15 | 中国平安财产保险股份有限公司 | 数据导入导出方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116069774A (zh) * | 2023-04-03 | 2023-05-05 | 北京全路通信信号研究设计院集团有限公司 | 基于无线超时智能分析的数据清洗方法、装置及介质 |
CN116881881A (zh) * | 2023-09-07 | 2023-10-13 | 国网思极网安科技(北京)有限公司 | 数据导出方法、装置、电子设备和计算机可读介质 |
CN116881881B (zh) * | 2023-09-07 | 2023-11-24 | 国网思极网安科技(北京)有限公司 | 数据导出方法、装置、电子设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115495496A (zh) | 数据导出方法、装置、电子设备、存储介质及程序产品 | |
CN111026797A (zh) | 业务数据处理方法、服务器及存储介质 | |
CN111104635B (zh) | 一种表格网页的生成方法和装置 | |
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
CN114741070A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN114595199B (zh) | 文件解析方法、装置、计算机设备和存储介质 | |
CN111159226A (zh) | 指标查询方法及*** | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN108776665B (zh) | 一种数据处理方法及装置 | |
CN110851173B (zh) | 报表生成方法及装置 | |
CN114860238A (zh) | 页面生成方法、装置及电子设备 | |
CN108268545B (zh) | 一种分级的用户标签库的创建的方法和装置 | |
CN115114114A (zh) | 在线进件模式下的数据报告生成方法、装置及相关设备 | |
CN115550380A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN114968917A (zh) | 一种文件数据快速导入方法及装置 | |
CN115269532A (zh) | 日志文件、日志存储方法、装置、可穿戴设备及存储介质 | |
CN111400058B (zh) | 调用消息的方法、装置、计算机设备及存储介质 | |
CN110515946B (zh) | 数据提取方法、装置、设备及计算机可读存储介质 | |
CN108509478B (zh) | 规则引擎文件的拆分调用方法、电子装置及存储介质 | |
CN107995301B (zh) | 一种快速的基于互联网的数据收发方法 | |
CN116226051A (zh) | 表格文件导入方法、服务器以及计算机可读存储介质 | |
CN114117187B (zh) | 数据查询方法及相关装置 | |
CN109766388B (zh) | 一种将数据存入HBase的方法和*** | |
CN117857479A (zh) | 资源规格生成方法、装置、设备及存储介质 | |
CN115348254A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221220 |
|
RJ01 | Rejection of invention patent application after publication |