CN107341154A - 一种数据导出的方法和装置 - Google Patents
一种数据导出的方法和装置 Download PDFInfo
- Publication number
- CN107341154A CN107341154A CN201610281573.5A CN201610281573A CN107341154A CN 107341154 A CN107341154 A CN 107341154A CN 201610281573 A CN201610281573 A CN 201610281573A CN 107341154 A CN107341154 A CN 107341154A
- Authority
- CN
- China
- Prior art keywords
- data
- memory headroom
- pile
- thread
- client
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据导出的方法和装置,能够有效控制用户并发操作引起的内存溢出,减少数据导出操作对核心业务的影响,以及提高系统的性能和吞吐量。本发明的数据导出的方法包括:接收客户端发来的数据导出请求;根据数据导出请求,从数据库中检索相应的数据;确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将该数据存储到分配的堆外内存空间中,并把该数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把该数据离线暂存,并且在设定等待时长内尝试再次为该数据分配堆外内存空间,在设定等待时长到期后依然没有可用于该数据的堆外内存空间时,删除该数据并且向客户端报告失败。
Description
技术领域
本发明涉及计算机及其软件技术领域,特别地涉及一种数据导出的方法和装置。
背景技术
在进行数据导出时通常是先将数据从数据库或者其它存储媒介中检索出来,并存放在Java的内存堆上,然后再从Java的内存堆中将数据导出。通常需要导出的数据量都比较大,特别是在多用户并发导出数据时,导出的数据量越大,占用的堆内存空间就越大,因此很容易导致内存溢出和引发Java虚拟机JVM(Java Virtual Machine的缩写,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的)短时间内发生多次垃圾收集GC(Garbage Collection),即当Java虚拟机JVM发觉内存资源紧张的时候,就会自动地去清理无用对象所占用的内存空间。
现有常用的数据导出流程如下:
1、从数据库或者其它存储媒介检索所需数据;
2、向JVM内存堆申请存储数据的内存空间;
3、JVM判断堆空间是否足够使用,如果空间不够则进行垃圾收集GC(Garbage Collection);
4、GC后仍然不够分配则发生内存溢出(out of memory)的报警;
5、如果内存充足,则JVM分配堆内存以存放需要导出的数据;
6、组装堆内存中需要导出的数据;
7、将组装好的数据以流的形式输出到客户端;
8、数据导出完成,关闭数据流。
由此可以看出,采用堆内内存存储并导出数据,如果同时导出的数据量很大,占用的堆内存空间也会比较大,这很容易引发JVM在短时间内发生多次GC,GC对系统的性能和吞吐量等系统指标影响比较大,很容易造成系统性能瓶颈,甚至由于内存没能及时释放,从而导致内存溢出(out of memory)。另外,数据的导出都是系统的辅助功能,很多情况下,由于导出占用大部分的堆内存很可能引起短时间内发生多次GC,因此会极大地浪费业务系统的资源,对业务系统的核心功能的运行也会产生较大的影响。
发明内容
有鉴于此,本发明提供一种数据导出的方法和装置,能够有效控制用户并发操作引起的内存溢出,减少数据导出操作对核心业务的影响,以及提高系统的性能和吞吐量。
为实现上述目的,根据本发明的一个方面,提供了一种数据导出的方法。
一种数据导出的方法,包括:接收客户端发来的数据导出请求;根据所述数据导出请求,从数据库中检索相应的数据;确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
可选地,所述数据导出请求是通过线程池来进行处理的。
可选地,所述线程池包括一个主线程和多个工作线程;其中,所述主线程接收所述数据导出请求并分配一工作线程来检索数据,且根据该工作线程返回的所述数据的大小为所述数据分配堆外内存空间;所述工作线程将所述数据导出至所述客户端。
可选地,将所述数据导出至所述客户端之前,还包括:对所述数据进行组装。
可选地,当确定不存在可用于所述数据的堆外内存空间时,所述主线程把相应工作线程置于等待队列使得在所述设定等待时长内重新激活该工作线程以尝试再次为所述数据分配堆外内存空间,并且当该工作线程的等待时间超过所述设定等待时长时,从所述等待队列删除该工作线程。
根据本发明的另一方面,提供了一种数据导出的装置。
一种数据导出的装置,包括:请求接收模块,用于接收客户端发来的数据导出请求;数据检索模块,用于根据所述数据导出请求,从数据库中检索相应的数据;数据导出模块,用于确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
可选地,所述数据导出请求是通过线程池来进行处理的。
可选地,所述线程池包括一个主线程和多个工作线程;其中,所述主线程接收所述数据导出请求并分配一工作线程来检索数据,且根据该工作线程返回的所述数据的大小为所述数据分配堆外内存空间;所述工作线程将所述数据导出至所述客户端。
可选地,所述工作线程在将所述数据导出至所述客户端之前,还用于:对所述数据进行组装。
可选地,当确定不存在可用于所述数据的堆外内存空间时,所述主线程把相应工作线程置于等待队列使得在所述设定等待时长内重新激活该工作线程以尝试再次为所述数据分配堆外内存空间,并且当该工作线程的等待时间超过所述设定等待时长时,从所述等待队列删除该工作线程。
根据本发明的又一方面,提供了一种数据导出的装置。
一种数据导出的装置,包括:存储器和处理器,其中,所述存储器存储指令;所述处理器执行所述指令用于:接收客户端发来的数据导出请求;根据所述数据导出请求,从数据库中检索相应的数据;确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
根据本发明的技术方案,通过将需要导出的数据存放在堆外内存中,可以延伸Java堆内存,且数据导出操作不会导致JVM发生垃圾收集,从而减少了数据导出操作对核心业务的影响,提高了系统的性能和吞吐量;另外基于线程池机制的数据导出方法有效控制了导出并发量,当堆外内存空间不够时,可将离线暂存数据,待内存充足后重新加载数据,从而避免了内存溢出。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据导出的方法的主要步骤示意图;
图2是根据本发明实施例的数据导出的方法的实现流程图;
图3是根据本发明一个实施例的数据导出的装置的主要模块示意图;
图4是根据本发明另一实施例的数据导出的装置的主要模块示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
由于数据导出操作一般都是业务系统的辅助功能,因此数据导出应尽量与核心功能解耦,以减少对核心功能的影响。堆外内存,又叫直接内存(DirectMemory),它不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域。比如在Java语言的软件开发工具包JDK1.4版本中新加入的NIO类,有一种基于通道与缓冲区的I/O方式,它可以使用原生(Native)函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBuffer对象作为这块内存的引用进行操作。所以堆外内存(直接内存)不会受到Java堆大小的限制。故而,本发明的技术方案通过将需要导出的数据分配到堆外内存上,可以减少Java内存堆的压力,从而减少GC次数。
本发明通过使用JDK1.4之后版本的Java语言的软件开发工具包来实现功能,可以使用Native函数库直接分配堆外内存,堆外内存的分配只受本机总内存的限制,不会受限于Java堆大小,且堆外内存也不受Java的内存管理机(JVM虚拟机)管控,从而使对象的创建和回收摆脱了GC。
本发明的数据导出的系统在启动前需要根据本机实际可用内存大小配置堆外内存可用的最大值,设置最大值的目的是为了防止导出过程中堆外内存占用本机内存过高,导致本机可用内存减少从而使得系统其它功能由于内存不够用发生异常情况。
另外,本发明通过线程池来处理数据导出请求。在系统启动时建造一个线程池,并创建初始化一个主(Master)线程和适量的工作(Worker)线程,Master线程负责管理监管堆外内存和接收数据导出请求任务,当Master线程接到一个数据导出请求时,将委派一个Worker线程去处理数据导出的任务。
Worker线程首先从数据库中检索到相应的数据,并告知Master线程该数据的大小;Master线程判断当前的堆外内存是否有充足的空间分配,有则为检索到的数据分配内存空间以便Worker线程将检索到的数据存储在分配的内存空间内;之后,Worker线程根据业务需求对检索到的数据进行组装从而构建导出数据,并以数据流的形式将导出数据回传至客户端,然后告知Master线程数据导出过程处理完毕;最后,Master线程收回该Worker线程并释放内存空间。
如果Worker线程从数据库中检索数据后,Master线程检测到当前堆外内存空间不够存储检索到的数据,则Worker线程会将数据以离线方式暂存起来,并告知Master线程;Master线程将该Worker线程放入系统内存中的等待队列并设置最长等待时间,且在最长等待时间内实时检测系统的内存变化情况。如果在等待时间内没有获得足够的堆外空间,则Master线程将该Worker线程剔除和删除对应的离线数据,并告知客户端导出失败;如果在等待时间内有充足的堆外内存空间,则Master线程将激活Worker线程以重新加载对应的离线数据,并为其分配空间,通过Worker线程构建导出数据,并将处理结果输出到客户端;过程处理完毕后,Master线程删除离线导出数据,并收回该Worker线程及释放内存空间。整个数据导出过程不需要占用Java堆内存,不会因为数据导出而引发GC,提高了系统的性能和吞吐量。
图1是根据本发明实施例的数据导出的方法的主要步骤示意图。如图1所示,本发明的数据导出的方法主要包括如下的步骤S11至步骤S13。
步骤S11:接收客户端发来的数据导出请求;
步骤S12:根据数据导出请求,从数据库中检索相应的数据;
步骤S13:确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将该数据存储到分配的堆外内存空间中,并把该数据导出至客户端后释放该数据占用的堆外内存空间,否则,把该数据离线暂存,并且在设定等待时长内尝试再次为该数据分配堆外内存空间,在设定等待时长到期后依然没有可用于该数据的堆外内存空间时,删除该数据并且向客户端报告失败。
其中,数据导出请求是通过线程池来进行处理的。并且,线程池可以包括一个主线程和多个工作线程;其中,主线程接收所述数据导出请求并分配一工作线程来检索数据,且根据该工作线程返回的所述数据的大小为所述数据分配堆外内存空间;工作线程将所述数据导出至所述客户端。
另外,在将所述数据导出至所述客户端之前,还可以对所述数据进行组装。
根据本发明的技术方案,当确定不存在可用于所述数据的堆外内存空间时,所述主线程把相应工作线程置于等待队列使得在所述设定等待时长内重新激活该工作线程以尝试再次为所述数据分配堆外内存空间,并且当该工作线程的等待时间超过所述设定等待时长时,从所述等待队列删除该工作线程。
图2是根据本发明实施例的数据导出的方法的实现流程图。如图2所示,在本发明的数据导出的应用系统启动前,会根据应用系统所在服务器本机的物理内存大小,合理设置数据导出的最大可用内存(步骤S21)。之后,当应用系统启动时,在内存中构造一个线程池并创建初始化一个Master线程和适量的Worker线程(步骤S22)。
当服务器接收到客户端发送的数据导出请求(步骤S23)后,服务器的数据导出的应用系统将启用Master线程接受该请求,并分配一个Worker线程来处理此次请求(步骤S24)。
Worker线程在处理该数据导出请求时,首先根据请求内容从数据库中检索所需数据(步骤S25),待检索到所需数据后,成功返回检索到的数据(步骤S26),并向Master线程报告检索到的数据的大小,以申请堆外内存空间(步骤S27)。
Master线程根据当前的内存空间判断是否有充足的堆外内存空间以用于存储检索到的数据。
当有充足的堆外内存空间时,Master线程将为检索到的数据分配堆外内存空间(步骤S28),以便Worker线程将检索到的数据存储在分配的堆外内存空间。然后Worker线程将根据业务需求,对检索到的数据进行组装,组装过程例如是将某些字段进行转换(数据存储的时候出于方便统计或者节省空间通常以数字等方式存储数据状态,比如数字“1”代表中文“完成”的意思)等,从而构建导出数据(步骤S281);然后,将导出数据序列化成流,并以数据流的形式回传到客户端(步骤S282);最后,告知Master线程此次数据导出任务处理完毕,以便Master线程可以收回该Worker线程并释放内存空间(步骤S283)。
当堆外内存空间不足够存储检索到的数据时,Master线程将告知Worker线程,以便Worker线程可以将检索到的数据进行离线暂存(例如可暂时存放在本机的本地磁盘上等),然后Master线程将Worker线程放入等待队列中并设置最长等待时间(步骤S29)。其中,最长等待时间可根据系统功能实现的需要灵活设置。在该等待时间内,Master线程将实时检测系统的内存变化情况,另外,也可设置很小的时间间隔循环检测系统的内存变化情况等。
如果在最长等待时间内未能获得充足的堆外内存(步骤S291),则Master线程将该Worker线程剔除并删除对应的离线数据(步骤S2911),然后,通知客户端此次数据导出失败(步骤S2912)。
如果在最长等待时间内有充足的堆外内存(步骤S292),例如:在该最长等待时间内有其他的数据导出任务完成,从而内存空间被释放等,则Master线程将激活等待队列中的Worker线程(步骤S2921),以便Worker线程可以重新加载离线暂存的数据,然后,Master线程为该离线暂存的数据分配堆外内存空间以便Worker线程将该离线暂存的数据存储在分配的堆外内存空间(步骤S2922)。然后Worker线程将构建导出数据(步骤S2923),并将导出数据序列化成流,以数据流的形式回传到客户端(步骤S2924);最后,告知Master线程此次数据导出任务处理完毕,以便Master线程可以收回该Worker线程并释放内存空间(步骤S2925)。
根据以上所述的步骤,即可实现通过堆外内存空间,并基于线程池机制进行数据导出,有效控制了导出并发量;并且在堆外内存不够时,可将数据离线暂存,待内存充足后重新加载,从而有效避免了内存溢出。
图3是根据本发明一个实施例的数据导出的装置的主要模块示意图。如图3所示,本发明的数据导出的装置30主要包括请求接收模块31、数据检索模块32和数据导出模块33。
请求接收模块31用于接收客户端发来的数据导出请求;数据检索模块32用于根据所述数据导出请求,从数据库中检索相应的数据;数据导出模块33用于确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
根据本发明的技术方案,所述数据导出请求是通过线程池来进行处理的。并且,所述线程池包括一个主线程和多个工作线程;其中,所述主线程接收所述数据导出请求并分配一工作线程来检索数据,且根据该工作线程返回的所述数据的大小为所述数据分配堆外内存空间;所述工作线程将所述数据导出至所述客户端。
另外,所述工作线程在将所述数据导出至所述客户端之前,还可以用于:对所述数据进行组装。
在本发明中,当确定不存在可用于所述数据的堆外内存空间时,所述主线程把相应工作线程置于等待队列使得在所述设定等待时长内重新激活该工作线程以尝试再次为所述数据分配堆外内存空间,并且当该工作线程的等待时间超过所述设定等待时长时,从所述等待队列删除该工作线程。
图4是根据本发明另一实施例的数据导出的装置的主要模块示意图。如图4所示,本发明的数据导出的装置40主要包括存储器41和处理器42。
存储器41存储指令;处理器42执行所述指令用于:接收客户端发来的数据导出请求;根据所述数据导出请求,从数据库中检索相应的数据;确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
根据本发明实施例的技术方案,通过将需要导出的数据存放在堆外内存中,可以延伸Java堆内存,且数据导出操作不会导致JVM发生垃圾收集,从而减少了数据导出操作对核心业务的影响,提高了系统的性能和吞吐量;另外基于线程池机制的数据导出方法有效控制了导出并发量,当堆外内存空间不够时,可将离线暂存数据,待内存充足后重新加载数据,从而避免了内存溢出。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.一种数据导出的方法,其特征在于,包括:
接收客户端发来的数据导出请求;
根据所述数据导出请求,从数据库中检索相应的数据;
确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
2.根据权利要求1所述的方法,其特征在于,所述数据导出请求是通过线程池来进行处理的。
3.根据权利要求2所述的方法,其特征在于,所述线程池包括一个主线程和多个工作线程;
其中,所述主线程接收所述数据导出请求并分配一工作线程来检索数据,且根据该工作线程返回的所述数据的大小为所述数据分配堆外内存空间;
所述工作线程将所述数据导出至所述客户端。
4.根据权利要求3所述的方法,其特征在于,将所述数据导出至所述客户端之前,还包括:
对所述数据进行组装。
5.根据权利要求3所述的方法,其特征在于,当确定不存在可用于所述数据的堆外内存空间时,所述主线程把相应工作线程置于等待队列使得在所述设定等待时长内重新激活该工作线程以尝试再次为所述数据分配堆外内存空间,并且当该工作线程的等待时间超过所述设定等待时长时,从所述等待队列删除该工作线程。
6.一种数据导出的装置,其特征在于,包括:
请求接收模块,用于接收客户端发来的数据导出请求;
数据检索模块,用于根据所述数据导出请求,从数据库中检索相应的数据;
数据导出模块,用于确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
7.根据权利要求6所述的装置,其特征在于,所述数据导出请求是通过线程池来进行处理的。
8.根据权利要求7所述的装置,其特征在于,所述线程池包括一个主线程和多个工作线程;
其中,所述主线程接收所述数据导出请求并分配一工作线程来检索数据,且根据该工作线程返回的所述数据的大小为所述数据分配堆外内存空间;
所述工作线程将所述数据导出至所述客户端。
9.根据权利要求8所述的装置,其特征在于,所述工作线程在将所述数据导出至所述客户端之前,还用于:
对所述数据进行组装。
10.根据权利要求8所述的装置,其特征在于,当确定不存在可用于所述数据的堆外内存空间时,所述主线程把相应工作线程置于等待队列使得在所述设定等待时长内重新激活该工作线程以尝试再次为所述数据分配堆外内存空间,并且当该工作线程的等待时间超过所述设定等待时长时,从所述等待队列删除该工作线程。
11.一种数据导出的装置,其特征在于,包括:存储器和处理器,其中,
所述存储器存储指令;
所述处理器执行所述指令用于:
接收客户端发来的数据导出请求;
根据所述数据导出请求,从数据库中检索相应的数据;
确定是否存在可用于所述数据的堆外内存空间,当存在时,为该数据分配堆外内存空间并将所述数据存储到分配的堆外内存空间中,并把所述数据导出至所述客户端后释放该数据占用的堆外内存空间,否则,把所述数据离线暂存,并且在设定等待时长内尝试再次为所述数据分配堆外内存空间,在所述设定等待时长到期后依然没有可用于所述数据的堆外内存空间时,删除该数据并且向客户端报告失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281573.5A CN107341154A (zh) | 2016-04-29 | 2016-04-29 | 一种数据导出的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610281573.5A CN107341154A (zh) | 2016-04-29 | 2016-04-29 | 一种数据导出的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107341154A true CN107341154A (zh) | 2017-11-10 |
Family
ID=60222655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610281573.5A Pending CN107341154A (zh) | 2016-04-29 | 2016-04-29 | 一种数据导出的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107341154A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109618225A (zh) * | 2018-12-25 | 2019-04-12 | 百度在线网络技术(北京)有限公司 | 视频抽帧方法、装置、设备和介质 |
WO2019218476A1 (zh) * | 2018-05-14 | 2019-11-21 | 平安科技(深圳)有限公司 | 一种数据的导出方法及设备 |
CN111190727A (zh) * | 2019-11-19 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 内存的异步析构方法、装置、计算机设备及存储介质 |
CN112364067A (zh) * | 2021-01-12 | 2021-02-12 | 绿漫科技有限公司 | 一种大批量数据导出系统及其导出方法 |
CN114217748A (zh) * | 2021-12-17 | 2022-03-22 | 中国建设银行股份有限公司 | 数据导出方法、装置、设备、介质及产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419828A (zh) * | 2008-11-20 | 2009-04-29 | 杭州海康威视数字技术股份有限公司 | 一种模拟磁带串行模式的硬盘视频记录及检索方法 |
CN102521029A (zh) * | 2011-12-02 | 2012-06-27 | 曙光信息产业(北京)有限公司 | 一种基于内存独占的作业调度方法 |
CN103558992A (zh) * | 2011-02-24 | 2014-02-05 | 泰若考特股份有限公司 | 堆外直接内存数据存储器,创建和/或管理堆外直接内存数据存储器的方法,和/或包括堆外直接内存数据存储器的系统 |
CN103927305A (zh) * | 2013-01-11 | 2014-07-16 | 中国移动通信集团山东有限公司 | 一种对内存溢出进行控制的方法和设备 |
CN104620219A (zh) * | 2012-08-31 | 2015-05-13 | 优米有限公司 | 具有堆外缓存的网络服务系统和方法 |
CN104967770A (zh) * | 2014-05-14 | 2015-10-07 | 腾讯科技(北京)有限公司 | 视频拍摄方法及装置 |
-
2016
- 2016-04-29 CN CN201610281573.5A patent/CN107341154A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419828A (zh) * | 2008-11-20 | 2009-04-29 | 杭州海康威视数字技术股份有限公司 | 一种模拟磁带串行模式的硬盘视频记录及检索方法 |
CN103558992A (zh) * | 2011-02-24 | 2014-02-05 | 泰若考特股份有限公司 | 堆外直接内存数据存储器,创建和/或管理堆外直接内存数据存储器的方法,和/或包括堆外直接内存数据存储器的系统 |
CN102521029A (zh) * | 2011-12-02 | 2012-06-27 | 曙光信息产业(北京)有限公司 | 一种基于内存独占的作业调度方法 |
CN104620219A (zh) * | 2012-08-31 | 2015-05-13 | 优米有限公司 | 具有堆外缓存的网络服务系统和方法 |
CN103927305A (zh) * | 2013-01-11 | 2014-07-16 | 中国移动通信集团山东有限公司 | 一种对内存溢出进行控制的方法和设备 |
CN104967770A (zh) * | 2014-05-14 | 2015-10-07 | 腾讯科技(北京)有限公司 | 视频拍摄方法及装置 |
Non-Patent Citations (1)
Title |
---|
罗晓沛: "《全国计算机等级考试考试指导》", 31 May 1996 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019218476A1 (zh) * | 2018-05-14 | 2019-11-21 | 平安科技(深圳)有限公司 | 一种数据的导出方法及设备 |
CN109618225A (zh) * | 2018-12-25 | 2019-04-12 | 百度在线网络技术(北京)有限公司 | 视频抽帧方法、装置、设备和介质 |
CN111190727A (zh) * | 2019-11-19 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 内存的异步析构方法、装置、计算机设备及存储介质 |
CN112364067A (zh) * | 2021-01-12 | 2021-02-12 | 绿漫科技有限公司 | 一种大批量数据导出系统及其导出方法 |
CN112364067B (zh) * | 2021-01-12 | 2022-02-11 | 绿城科技产业服务集团有限公司 | 一种大批量数据导出系统及其导出方法 |
CN114217748A (zh) * | 2021-12-17 | 2022-03-22 | 中国建设银行股份有限公司 | 数据导出方法、装置、设备、介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107341154A (zh) | 一种数据导出的方法和装置 | |
CN101533417A (zh) | 一种实现etl调度的方法及系统 | |
CN100511156C (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
CN107943555A (zh) | 一种云计算环境下的大数据存储和处理平台及处理方法 | |
US20010039575A1 (en) | Apparatus and method for scheduling and dispatching queued client requests within a server in a client/server computer system | |
US7770177B2 (en) | System for memory reclamation based on thread entry and release request times | |
CN101464810A (zh) | 服务程序处理方法及服务器 | |
CN109471711B (zh) | 一种任务处理的方法及装置 | |
GB2320594A (en) | Dispatching client method calls to parallel execution threads within a server | |
CN103744723A (zh) | 一种线程池的管理方法和管理系统 | |
CN109783255B (zh) | 数据解析分发装置及高并发数据处理方法 | |
CN108984290B (zh) | 任务调度方法和系统 | |
CN110471774A (zh) | 一种基于统一任务调度的数据处理方法及装置 | |
CN102946413A (zh) | 虚拟机调度和执行部署过程中的资源预处理方法及系统 | |
CN107967175A (zh) | 一种基于多目标优化的资源调度系统及方法 | |
CN113157411A (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN112817933A (zh) | 一种弹性数据库连接池的管理方法及装置 | |
CN105373434A (zh) | 资源管理系统及方法 | |
CN111240819A (zh) | 一种调度任务的发布系统及方法 | |
US8001341B2 (en) | Managing dynamically allocated memory in a computer system | |
CN103853713B (zh) | 海量数据高效入库方法 | |
CN105975346B (zh) | 调度线程资源的方法、装置及系统 | |
CN107656804A (zh) | 进程池系统及方法 | |
US7424712B1 (en) | System and method for controlling co-scheduling of processes of parallel program | |
CN110011827A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171110 |