CN116820720A - 一种数据批量操作方法、装置及介质 - Google Patents
一种数据批量操作方法、装置及介质 Download PDFInfo
- Publication number
- CN116820720A CN116820720A CN202310774147.5A CN202310774147A CN116820720A CN 116820720 A CN116820720 A CN 116820720A CN 202310774147 A CN202310774147 A CN 202310774147A CN 116820720 A CN116820720 A CN 116820720A
- Authority
- CN
- China
- Prior art keywords
- data
- batch
- request
- batch processing
- processing request
- 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 72
- 238000012545 processing Methods 0.000 claims abstract description 398
- 238000012986 modification Methods 0.000 claims abstract description 51
- 230000004048 modification Effects 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据批量操作方法、装置及介质,涉及数据处理领域,为了解决数据批量操作耗时长的问题,本申请接收批量处理请求;根据批量处理请求对待处理数据进行拆分,得到分批结果;启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;数据处理结束后将处理结果返回至请求端。本申请将大数据量批量操作转为异步执行,在不影响原有处理逻辑的前提下拆分为小批量的操作,同时由多线程异步执行可以加快批量处理速度,解决数据批量操作耗时长的问题,另外,若接收到对所述批量处理请求的修改请求,可通过修改未执行的所述待处理数据的所述批量处理请求来实现对批量处理的管理,更大程度上增加了批量操作的便利性。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种数据批量操作方法、装置及介质。
背景技术
随着信息技术的发展,数据中心的设备资源规模越来越大,对于监控管理系统来说,经常存在需要一次性处理的批量操作,通常的操作请求都是通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)同步发送请求前端再等待后台处理结果。
在监控设备数据量小的时候,用户可以全选批量操作,后台处理时间也较快不会造成超时,但随着监控设备数量的增多,一次性处理大批量数据会造成后台数据处理耗时严重,导致页面超时、无响应等问题,降低了用户体验。
由此可见,如何解决数据批量操作耗时长的问题,是本领域人员亟待解决的技术问题。
发明内容
本申请的目的是提供一种数据批量操作方法、装置及介质,解决数据批量操作耗时长的问题。
为解决上述技术问题,本申请提供一种数据批量操作方法,包括:
接收批量处理请求;
根据批量处理请求对待处理数据进行拆分,得到分批结果;
启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;
数据处理结束后将处理结果返回至请求端。
另一方面,上述数据批量操作方法中,启动多个数据处理线程对分批结果进行数据处理,之后还包括:
获取实时的批量处理进度;
将批量处理进度反馈至请求端。
另一方面,上述数据批量操作方法中,还包括:
根据数据处理业务类型设置对应的批量处理插件;
对应的,接收批量处理请求,之后还包括:
根据批量处理请求的类型查找对应的批量处理插件;
控制批量处理插件执行根据批量处理请求对待处理数据进行拆分,得到分批结果的步骤。
另一方面,上述数据批量操作方法中,还包括:
接收对批量处理请求的优先级修改请求;
对应的,修改未执行的待处理数据的批量处理请求,包括:
判断优先级修改请求对应的批量处理请求是否已经开始执行;
若否,则对未执行的批量处理请求的优先级进行修改;
若是,则向请求端返回批量处理请求不支持优先级修改。
另一方面,上述数据批量操作方法中,接收到对批量处理请求的修改请求,包括:
接收对批量处理请求的取消请求;
对应的,修改未执行的待处理数据的批量处理请求,包括:
判断批量处理请求是否正在执行;
若批量处理请求未执行,则直接取消批量处理请求;
若批量处理请求正在执行,则取消未处理数据的批量处理请求。
另一方面,上述数据批量操作方法中,若批量处理请求正在执行,则取消未处理数据的批量处理请求,之后还包括:
判断是否需要撤销已处理数据的数据处理操作;
若是,则对已处理数据执行撤销数据处理操作;
若否,则保存已处理数据的处理结果。
另一方面,上述数据批量操作方法中,接收到对批量处理请求的修改请求,包括:
接收对批量处理请求的暂停请求;
对应的,修改未执行的待处理数据的批量处理请求,包括:
判断批量处理请求是否正在执行;
若批量处理请求未执行,则暂停批量处理请求;
若批量处理请求正在执行,则暂停未处理数据的批量处理请求。
为解决上述技术问题,本申请还提供一种数据批量操作装置,包括:
接收模块,用于接收批量处理请求;
拆分模块,用于根据批量处理请求对待处理数据进行拆分,得到分批结果;
线程处理模块,用于启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;
结果返回模块,用于数据处理结束后将处理结果返回至请求端;
接收修改请求模块,用于接收到对批量处理请求的修改请求;
修改模块,用于修改未执行的待处理数据的批量处理请求。
另外,装置还包括:
获取进度模块,用于获取实时的批量处理进度;
返回进度模块,用于将批量处理进度反馈至请求端。
设置插件模块,用于根据数据处理业务类型设置对应的批量处理插件;
查找模块,用于根据批量处理请求的类型查找对应的批量处理插件;
拆分模块,还用于控制批量处理插件根据批量处理请求对待处理数据进行拆分,得到分批结果。
修改优先级模块,用于对未执行的批量处理请求的优先级进行修改。
第一判断模块,用于判断优先级修改请求对应的批量处理请求是否已经开始执行;
若否,则触发修改优先级模块,用于对未执行的批量处理请求的优先级进行修改;
若是,则触发拒绝模块,用于向请求端返回批量处理请求不支持优先级修改。
接收取消请求单元,用于接收对批量处理请求的取消请求;
第一判断单元,用于判断批量处理请求是否正在执行;
第一取消单元,用于若批量处理请求未执行,则直接取消批量处理请求;
第二取消单元,用于若批量处理请求正在执行,则取消未处理数据的批量处理请求。
第一判断子单元,用于判断是否需要撤销已处理数据的数据处理操作;
若是,则触发撤销子单元,用于对已处理数据执行撤销数据处理操作;
若否,则触发保存子单元,用于保存已处理数据的处理结果。
接收暂停请求单元,用于接收对批量处理请求的暂停请求;
第二判断单元,用于判断批量处理请求是否正在执行;
第一暂停单元,用于若批量处理请求未执行,则暂停批量处理请求;
第二暂停单元,用于若批量处理请求正在执行,则暂停未处理数据的批量处理请求。
为解决上述技术问题,本申请还提供一种数据批量操作装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述的数据批量操作方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的数据批量操作方法的步骤。
本申请所提供的数据批量操作方法,接收批量处理请求;根据批量处理请求对待处理数据进行拆分,得到分批结果;启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;数据处理结束后将处理结果返回至请求端。本申请将大数据量批量操作转为异步执行,在不影响原有处理逻辑的前提下拆分为小批量的操作,同时由多线程异步执行可以加快批量处理速度,解决数据批量操作耗时长的问题,另外,若接收到对批量处理请求的修改请求,可通过修改未执行的待处理数据的批量处理请求来实现对批量处理的管理,更大程度上增加了批量操作的便利性,用户体验也更加友好。
另外,本申请还提供一种装置及介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据批量操作方法的流程图;
图2为本申请实施例提供的一种数据批量操作装置的结构图;
图3为本申请实施例提供的另一种数据批量操作装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种数据批量操作方法、装置及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
随着信息技术的发展,数据中心的设备资源规模越来越大,对于监控管理系统来说,经常存在需要一次性处理的批量操作,通常的操作请求都是通过超文本传输协议同步发送请求前端再等待后台处理结果。
在监控设备数据量小的时候,用户可以全选批量操作,后台处理时间也较快不会造成超时,但随着监控设备数量的增多,一次性处理大批量数据会造成后台数据处理耗时严重,导致页面超时、无响应等问题,降低了用户体验。
为解决上述问题,本实施例提供一种数据批量操作方法,图1为本申请实施例提供的一种数据批量操作方法的流程图;如图1所示,包括:
S11:接收批量处理请求;
S12:根据批量处理请求对待处理数据进行拆分,得到分批结果;
S13:启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;
S14:数据处理结束后将处理结果返回至请求端;
S15:接收到对批量处理请求的修改请求;
S16:修改未执行的待处理数据的批量处理请求。
本实施例提到的批量处理请求,包括但不限于对大批量数据的下载、删除、加工处理等请求,根据实际需要设置即可。本实施例接收用户的批量处理操作请求,可以使用Websocket保持与客户请求端的连接,接收请求端发送的批量处理请求,WebSocket是一种在单个传输控制协议(Transmission Control Protocol,TCP)连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket应用程序编程接口中,只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
本实施例步骤S12根据批量处理请求对待处理数据进行拆分,得到分批结果,对待处理数据进行拆分指将大数据量批量处理拆分后得到一个个小批量处理数,例如100000个资源的删除,配置最小批处理大小为2000,则分为50次处理,每个小批次删除2000个资源;本实施例不限制拆分的个数及每个拆分的数量,根据实际需要设置即可。
步骤S13启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行,指分批后分配几个线程进异步执行批量处理请求,异步线程越多处理速度越快,但同时系统的处理开销也会越高,这个需要根据具体业务自行配置。例如,拆分为50个小批量数据的待处理数据,启动5个线程开始异步执行对每个小批量数据的批量处理请求。直到数据处理结束后将处理结果返回至请求端。
在接收批量处理请求后,还可能接收到对批量处理请求的修改请求,即会对批量处理操作本身进行管理,包含批量处理操作任务的状态管理(暂停、取消、调整优先级等)。服务端处理批量处理请求可能是根据接收批量处理请求的时间顺序,或者优先级顺序依次执行批量处理请求,因此,可能存在正在等待执行的批量处理请求,也可能存在已经处理了一部分的批量处理请求。当接收到对批量处理请求的修改请求后,修改未执行的待处理数据的批量处理请求,则包括对完全未执行的批量处理请求的修改及已经执行一部分的批量处理请求中未执行的待处理数据的批量处理请求的修改。例如,若存在A、B、C三个批量处理请求,其中请求A为正在执行的批量下载任务,若接收到对请求A的取消修改请求,则取消请求A中还未执行的待处理数据的下载任务;若请求B正在等待执行,接收到对请求B的暂停请求,则将请求B暂停处理。在本实施例中,步骤S15、S16发生在步骤S11之后,具体是否进入S12及之后步骤不作限定。
通过本申请实施例提供的数据批量操作方法,接收批量处理请求;根据批量处理请求对待处理数据进行拆分,得到分批结果;启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;数据处理结束后将处理结果返回至请求端。本申请将大数据量批量操作转为异步执行,在不影响原有处理逻辑的前提下拆分为小批量的操作,同时由多线程异步执行可以加快批量处理速度,解决数据批量操作耗时长的问题,另外,若接收到对批量处理请求的修改请求,可通过修改未执行的待处理数据的批量处理请求来实现对批量处理的管理,更大程度上增加了批量操作的便利性,用户体验也更加友好。
为了使客户端及时了解当前的处理进度,根据上述实施例,在一些实施例中,启动多个数据处理线程对分批结果进行数据处理,之后还包括:
获取实时的批量处理进度;
将批量处理进度反馈至请求端。
本实施例提到的批量处理进度包括但不限于对批量处理的状态、结果以及异常信息,实时监测批量处理的进度信息并反馈至请求端,防止因批量处理时间过长,请求端无响应,用户可以很直观的看到当前操作的执行情况。
根据上述实施例,在一些实施例中,还包括:
根据数据处理业务类型设置对应的批量处理插件;
对应的,接收批量处理请求,之后还包括:
根据批量处理请求的类型查找对应的批量处理插件;
控制批量处理插件执行根据批量处理请求对待处理数据进行拆分,得到分批结果的步骤。
根据不同业务需求构建不同的批量处理插件,批量处理插件提供批量处理配置功能,可依据业务需求对分批处理大小以及分批执行线程数进行配置;批量处理配置可以指定该业务的分批处理大小以及分批处理线程数,分批处理大小指大数据量批量处理拆分后的每一个小批量处理数,例如100000个资源的删除,配置最小批处理大小为2000,则分为50次处理,每个小批次删除2000个资源;分批处理线程数指分批后分配几个线程进异步执行,异步线程越多处理速度越快,但同时系统的处理开销也会越高,这个需要根据具体业务自行配置。由批量处理插件根据批量处理请求对待处理数据进行拆分,得到分批结果。
具体地,可根据业务处理量及业务处理类型构建不同的插件用于具体的业务处理。批量业务处理逻辑是具体的业务实现,根据不同的业务逻辑进行分批后的相应的批量业务处理。
根据上述实施例,在一些实施例中,接收到对批量处理请求的修改请求,包括:
接收对批量处理请求的优先级修改请求;
对应的,修改未执行的待处理数据的批量处理请求,包括:
判断优先级修改请求对应的批量处理请求是否已经开始执行;
若否,则对未执行的批量处理请求的优先级进行修改;
若是,则向请求端返回批量处理请求不支持优先级修改。
在实际业务处理过程中,根据不同请求端或者业务的重要性设置不同的优先级,若需要通过调整批量处理请求的优先级,向服务端发送对批量处理请求的优先级修改请求。若批量处理请求已经开始执行,则不能再修改其优先级,只能对还未执行的批量处理请求的优先级进行修改,因此本申请判断优先级修改请求对应的批量处理请求是否已经开始执行;若否,则对未执行的批量处理请求的优先级进行修改;若是,则向请求端返回批量处理请求不支持优先级修改。
根据上述实施例,在一些实施例中,接收到对批量处理请求的修改请求,包括:
接收对批量处理请求的取消请求;
对应的,修改未执行的待处理数据的批量处理请求,包括:
判断批量处理请求是否正在执行;
若批量处理请求未执行,则直接取消批量处理请求;
若批量处理请求正在执行,则取消未处理数据的批量处理请求。
在实际业务处理过程中,若请求端需要取消已发送的批量处理请求,若请求还未执行,则可直接取消,不会造成其他影响,若请求正在执行,则不能直接全部取消,本实施例通过判断批量处理请求是否正在执行;若批量处理请求未执行,则直接取消批量处理请求;若批量处理请求正在执行,则取消未处理数据的批量处理请求。对于正在执行的批量处理请求,本实施例仅取消未处理数据的批量处理请求。
另外,对于正在执行的批量处理请求,仅取消未处理数据的批量处理请求后,针对已执行批量处理请求部分的数据,在一些实施例中,若批量处理请求正在执行,则取消未处理数据的批量处理请求,之后还包括:
判断是否需要撤销已处理数据的数据处理操作;
若是,则对已处理数据执行撤销数据处理操作;
若否,则保存已处理数据的处理结果。
对于正在执行的批量处理请求,仅取消未处理数据的批量处理请求后,针对已执行批量处理请求部分的数据本实施例通过判断是否需要撤销已处理数据的数据处理操作;若是,则对已处理数据执行撤销数据处理操作;若否,则保存已处理数据的处理结果。本实施例不限制批量处理请求是否需要撤销已处理数据的数据处理操作,根据业务类型或请求端需求设置即可,可以根据实际需要具体设置。
根据上述实施例,在一些实施例中,接收到对批量处理请求的修改请求,包括:
接收对批量处理请求的暂停请求;
对应的,修改未执行的待处理数据的批量处理请求,包括:
判断批量处理请求是否正在执行;
若批量处理请求未执行,则暂停批量处理请求;
若批量处理请求正在执行,则暂停未处理数据的批量处理请求。
本实施例与对批量处理请求的取消请求类似,若请求端需要暂停已发送的批量处理请求,若请求还未执行,则可直接暂停,不会造成其他影响,若请求正在执行,则不能直接全部暂停,本实施例通过判断批量处理请求是否正在执行;若批量处理请求未执行,则直接暂停批量处理请求;若批量处理请求正在执行,则暂停未处理数据的批量处理请求,正在处理的数据则仍然正常执行完毕。
在上述实施例中,对于数据批量操作方法进行了详细描述,本申请还提供数据批量操作装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,图2为本申请实施例提供的一种数据批量操作装置的结构图,如图2所示,数据批量操作装置,包括:
接收模块21,用于接收批量处理请求;
拆分模块22,用于根据批量处理请求对待处理数据进行拆分,得到分批结果;
线程处理模块23,用于启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;
结果返回模块24,用于数据处理结束后将处理结果返回至请求端;
接收修改请求模块25,用于接收到对批量处理请求的修改请求;
修改模块26,用于修改未执行的待处理数据的批量处理请求。
本实施例提供的数据批量操作装置,接收模块21接收批量处理请求;拆分模块22根据批量处理请求对待处理数据进行拆分,得到分批结果;线程处理模块23启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;结果返回模块24数据处理结束后将处理结果返回至请求端;接收修改请求模块25接收到对批量处理请求的修改请求;修改模块26修改未执行的待处理数据的批量处理请求。本申请将大数据量批量操作转为异步执行,在不影响原有处理逻辑的前提下拆分为小批量的操作,同时由多线程异步执行可以加快批量处理速度,解决数据批量操作耗时长的问题,另外,若接收到对批量处理请求的修改请求,可通过修改未执行的待处理数据的批量处理请求来实现对批量处理的管理,更大程度上增加了批量操作的便利性,用户体验也更加友好。
另外,装置还包括:
获取进度模块,用于获取实时的批量处理进度;
返回进度模块,用于将批量处理进度反馈至请求端。
设置插件模块,用于根据数据处理业务类型设置对应的批量处理插件;
查找模块,用于根据批量处理请求的类型查找对应的批量处理插件;
拆分模块,还用于控制批量处理插件根据批量处理请求对待处理数据进行拆分,得到分批结果。
修改优先级模块,用于对未执行的批量处理请求的优先级进行修改。
第一判断模块,用于判断优先级修改请求对应的批量处理请求是否已经开始执行;
若否,则触发修改优先级模块,用于对未执行的批量处理请求的优先级进行修改;
若是,则触发拒绝模块,用于向请求端返回批量处理请求不支持优先级修改。
接收取消请求单元,用于接收对批量处理请求的取消请求;
第一判断单元,用于判断批量处理请求是否正在执行;
第一取消单元,用于若批量处理请求未执行,则直接取消批量处理请求;
第二取消单元,用于若批量处理请求正在执行,则取消未处理数据的批量处理请求。
第一判断子单元,用于判断是否需要撤销已处理数据的数据处理操作;
若是,则触发撤销子单元,用于对已处理数据执行撤销数据处理操作;
若否,则触发保存子单元,用于保存已处理数据的处理结果。
接收暂停请求单元,用于接收对批量处理请求的暂停请求;
第二判断单元,用于判断批量处理请求是否正在执行;
第一暂停单元,用于若批量处理请求未执行,则暂停批量处理请求;
第二暂停单元,用于若批量处理请求正在执行,则暂停未处理数据的批量处理请求。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本申请实施例提供的另一种数据批量操作装置的结构图,如图3所示,数据批量操作装置包括:存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例(数据批量操作方法)获取用户操作习惯信息的方法的步骤。
本实施例提供的数据批量操作装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的数据批量操作方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于实现数据批量操作方法所涉及到的数据等。
在一些实施例中,数据批量操作装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图3中示出的结构并不构成对数据批量操作装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据批量操作装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:数据批量操作方法,接收批量处理请求;根据批量处理请求对待处理数据进行拆分,得到分批结果;启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;数据处理结束后将处理结果返回至请求端。本申请将大数据量批量操作转为异步执行,在不影响原有处理逻辑的前提下拆分为小批量的操作,同时由多线程异步执行可以加快批量处理速度,解决数据批量操作耗时长的问题。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述数据批量操作方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,其上存储有计算机程序,当处理器执行该程序时,可实现以下方法:数据批量操作方法,接收批量处理请求;根据批量处理请求对待处理数据进行拆分,得到分批结果;启动多个数据处理线程对分批结果进行数据处理,其中,数据处理线程异步执行;数据处理结束后将处理结果返回至请求端。本申请将大数据量批量操作转为异步执行,在不影响原有处理逻辑的前提下拆分为小批量的操作,同时由多线程异步执行可以加快批量处理速度,解决数据批量操作耗时长的问题,另外,若接收到对批量处理请求的修改请求,可通过修改未执行的待处理数据的批量处理请求来实现对批量处理的管理,更大程度上增加了批量操作的便利性,用户体验也更加友好。
以上对本申请所提供的数据批量操作方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据批量操作方法,其特征在于,包括:
接收批量处理请求;
根据所述批量处理请求对待处理数据进行拆分,得到分批结果;
启动多个数据处理线程对所述分批结果进行数据处理,其中,所述数据处理线程异步执行;
数据处理结束后将处理结果返回至请求端;
接收到对所述批量处理请求的修改请求;
修改未执行的所述待处理数据的所述批量处理请求。
2.根据权利要求1所述的数据批量操作方法,其特征在于,所述启动多个数据处理线程对所述分批结果进行数据处理,之后还包括:
获取实时的批量处理进度;
将所述批量处理进度反馈至请求端。
3.根据权利要求1或2任意一项所述的数据批量操作方法,其特征在于,还包括:
根据数据处理业务类型设置对应的批量处理插件;
对应的,所述接收批量处理请求,之后还包括:
根据所述批量处理请求的类型查找对应的批量处理插件;
控制所述批量处理插件执行所述根据所述批量处理请求对待处理数据进行拆分,得到分批结果的步骤。
4.根据权利要求1所述的数据批量操作方法,其特征在于,接收到对所述批量处理请求的修改请求,包括:
接收对所述批量处理请求的优先级修改请求;
对应的,所述修改未执行的所述待处理数据的所述批量处理请求,包括:
判断所述优先级修改请求对应的所述批量处理请求是否已经开始执行;
若否,则对未执行的所述批量处理请求的优先级进行修改;
若是,则向请求端返回所述批量处理请求不支持优先级修改。
5.根据权利要求1所述的数据批量操作方法,其特征在于,所述接收到对所述批量处理请求的修改请求,包括:
接收对所述批量处理请求的取消请求;
对应的,所述修改未执行的所述待处理数据的所述批量处理请求,包括:
判断所述批量处理请求是否正在执行;
若所述批量处理请求未执行,则直接取消所述批量处理请求;
若所述批量处理请求正在执行,则取消未处理数据的所述批量处理请求。
6.根据权利要求5所述的数据批量操作方法,其特征在于,所述若所述批量处理请求正在执行,则取消未处理数据的所述批量处理请求,之后还包括:
判断是否需要撤销已处理数据的数据处理操作;
若是,则对已处理数据执行撤销数据处理操作;
若否,则保存已处理数据的处理结果。
7.根据权利要求1所述的数据批量操作方法,其特征在于,所述接收到对所述批量处理请求的修改请求,包括:
接收对所述批量处理请求的暂停请求;
对应的,所述修改未执行的所述待处理数据的所述批量处理请求,包括:
判断所述批量处理请求是否正在执行;
若所述批量处理请求未执行,则暂停所述批量处理请求;
若所述批量处理请求正在执行,则暂停未处理数据的所述批量处理请求。
8.一种数据批量操作装置,其特征在于,包括:
接收模块,用于接收批量处理请求;
拆分模块,用于根据所述批量处理请求对待处理数据进行拆分,得到分批结果;
线程处理模块,用于启动多个数据处理线程对所述分批结果进行数据处理,其中,所述数据处理线程异步执行;
结果返回模块,用于数据处理结束后将处理结果返回至请求端;
接收修改请求模块,用于接收到对所述批量处理请求的修改请求;
修改模块,用于修改未执行的所述待处理数据的所述批量处理请求。
9.一种数据批量操作装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的数据批量操作方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据批量操作方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310774147.5A CN116820720A (zh) | 2023-06-28 | 2023-06-28 | 一种数据批量操作方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310774147.5A CN116820720A (zh) | 2023-06-28 | 2023-06-28 | 一种数据批量操作方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116820720A true CN116820720A (zh) | 2023-09-29 |
Family
ID=88115113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310774147.5A Pending CN116820720A (zh) | 2023-06-28 | 2023-06-28 | 一种数据批量操作方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820720A (zh) |
-
2023
- 2023-06-28 CN CN202310774147.5A patent/CN116820720A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200047494A (ko) | 자동 애플리케이션 업데이트 | |
US9582326B2 (en) | Quality of service classes | |
US11429448B2 (en) | Background job processing framework | |
CN113360807B (zh) | 混合模式移动应用的页面显示方法、装置及相关设备 | |
CN110851276A (zh) | 一种业务请求处理方法、装置、服务器和存储介质 | |
EP2916214A1 (en) | Data processing device, data processing system, and data processing method | |
CN113393367A (zh) | 图像处理方法、装置、设备和介质 | |
CN114968567A (zh) | 用于分配计算节点的计算资源的方法、装置和介质 | |
CN112948018B (zh) | 用于小程序的动态库加载方法、装置、设备及介质 | |
CN114296953A (zh) | 一种多云异构系统及任务处理方法 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN116820720A (zh) | 一种数据批量操作方法、装置及介质 | |
CN110650101A (zh) | 一种cifs网络带宽的优化方法、装置和介质 | |
CN113779122B (zh) | 导出数据的方法和装置 | |
CN115129438A (zh) | 任务分布式调度的方法和装置 | |
JP2003067199A (ja) | アプリケーションプログラム | |
CN114817166B (zh) | 一种取消文件操作的方法、装置及介质 | |
CN114365090A (zh) | 应用下载方法、装置、移动终端及存储介质 | |
CN113391847A (zh) | 应用程序的启动优化方法和装置 | |
CN113283730A (zh) | 一种通用的审批流程应用方法及装置 | |
CN113094607A (zh) | 获取本地资源的方法及装置 | |
CN117675905A (zh) | 一种推送数据的方法和装置 | |
JP2020052469A (ja) | 管理装置、システム及びプログラム | |
CN112988352A (zh) | 一种用于切换扫描模式的方法和装置 | |
CN112905254A (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 |