本发明专利技术公开了一种数据处理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:主线程的服务接收请求数据,并进行与请求数据对应的第一数据处理;主线程的服务在请求数据为第一请求数据的情况下,将第一数据处理得到的结果数据经过内存文件队列组件持久化到本地存储设备,第一请求数据为处理过程中需要进行第一类型资源操作的请求数据;后台监听器在监听到持久化的结果数据之后,根据结果数据执行第一类型资源操作,以进行与第一请求数据对应的第二数据处理,后台监听器独立于主线程的服务。该实施方式能够从根本上提升集群整体Ops,改善对资源访问速度失衡的优化效果,无需过多硬件资源投入,并且数据更安全。并且数据更安全。并且数据更安全。
【技术实现步骤摘要】
一种数据处理方法和装置
[0001]本专利技术涉及计算机
,尤其涉及一种数据处理方法和装置。
技术介绍
[0002]在服务接口开发过程中,经常会涉及到各种外部资源,比如redis(一款开源的分布式缓存框架,内置多种缓存容器进行数据存取操作),MQ(message queue,消息队列,用于消息排队处理的管道)等,访问这些外部资源时,由于有的资源速度快,比如redis;有的资源速度慢,比如MQ生产。这些资源在糅合到服务中时,慢资源访问会导致整体Ops(operation per second,每秒钟处理的请求操作数量,是衡量集群性能的基本指标之一)偏低,即短板效应。服务内部有的资源访问快,有的资源访问慢,导致速度匹配失衡。
[0003]目前针对资源访问速度失衡的解决方案有两种:一是异步调优,即利用线程池对慢资源进行异步处理,但此种优化在高并发且数据非常重要时是没有用的,因为线程池塞满后会依旧用主线程来执行慢资源访问操作,从而无法从根本上提升整体的Ops;二是慢资源性能优化,即对慢资源进行调优,以便使其不再成为瓶颈,以MQ生产为例,MQ同步生产性能差,当高并发流量过来,生产性能会越来越差,需MQ团队成员帮忙补加压力小、性能好的broker(在MQ中用于提供消息的接收、存储、拉取等功能)来解决。随着流量越来越大,补加的broker越来越多,对硬件资源的要求非常高,需要充足的资源进行调配。但是很多时候,这些broker资源都是共享的,多业务共用,从而优化不尽如人意。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0005]无法从根本上提升集群整体Ops,对资源访问速度失衡的优化效果较差,并且需要过多硬件资源投入。
技术实现思路
[0006]有鉴于此,本专利技术实施例提供一种数据处理方法和装置,能够从根本上提升集群整体Ops,改善对资源访问速度失衡的优化效果,无需过多硬件资源投入,并且数据更安全。
[0007]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据处理方法。
[0008]一种数据处理方法,包括:主线程的服务接收请求数据,并进行与所述请求数据对应的第一数据处理;所述主线程的服务在所述请求数据为第一请求数据的情况下,将所述第一数据处理得到的结果数据经过内存文件队列组件持久化到本地存储设备,所述第一请求数据为处理过程中需要进行第一类型资源操作的请求数据;后台监听器在监听到持久化的所述结果数据之后,根据所述结果数据执行所述第一类型资源操作,以进行与所述第一请求数据对应的第二数据处理,其中,所述后台监听器独立于所述主线程的服务。
[0009]可选地,所述将所述第一数据处理得到的结果数据经过内存文件队列组件持久化到本地存储设备,包括:通过所述内存文件队列组件将所述结果数据存放到内存队列,并在所述内存队列达到数据落盘操作的触发条件时,将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列。
[0010]可选地,所述在所述内存队列达到数据落盘操作的触发条件时,将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列,包括:在满足所述内存队列中的数据条数大于数量阈值、当前距离上次执行所述持久化操作的时长超过时长阈值二者中的至少一者时,触发将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列的操作。
[0011]可选地,所述主线程的服务通过所述内存文件队列组件,利用零拷贝和内存文件映射的方式将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列。
[0012]可选地,还包括:所述主线程的服务在所述请求数据为第二请求数据的情况下,根据所述结果数据执行第二类型资源操作,以进行与所述第二请求数据对应的第三数据处理,所述第二请求数据为处理过程中需要进行所述第二类型资源操作的请求数据。
[0013]可选地,还包括:所述主线程的服务根据所述请求数据在处理过程中需要操作的资源对应的资源操作速度,判定所述请求数据为所述第一请求数据或所述第二请求数据。
[0014]可选地,所述后台监听器通过独立于所述主线程的子线程执行所述第一类型资源操作,且所述子线程的数量可动态增减。
[0015]根据本专利技术实施例的另一方面,提供了一种数据处理装置。
[0016]一种数据处理装置,包括:服务模块,用于接收请求数据,并进行与所述请求数据对应的第一数据处理;在所述请求数据为第一请求数据的情况下,将所述第一数据处理得到的结果数据经过内存文件队列组件持久化到本地存储设备,所述第一请求数据为处理过程中需要进行第一类型资源操作的请求数据;后台监听器,用于在监听到持久化的所述结果数据之后,根据所述结果数据执行所述第一类型资源操作,以进行与所述第一请求数据对应的第二数据处理,其中,所述后台监听器独立于所述服务模块。
[0017]可选地,所述服务模块包括持久化模块,用于:通过所述内存文件队列组件将所述结果数据存放到内存队列,并在所述内存队列达到数据落盘操作的触发条件时,将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列。
[0018]可选地,所述持久化模块还用于:在满足所述内存队列中的数据条数大于数量阈值、当前距离上次执行所述持久化操作的时长超过时长阈值二者中的至少一者时,触发将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列的操作。
[0019]可选地,所述持久化模块还用于:通过所述内存文件队列组件,利用零拷贝和内存文件映射的方式将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列。
[0020]可选地,所述服务模块还用于:在所述请求数据为第二请求数据的情况下,根据所述结果数据执行第二类型资源操作,以进行与所述第二请求数据对应的第三数据处理,所述第二请求数据为处理过程中需要进行所述第二类型资源操作的请求数据。
[0021]可选地,所述服务模块根据所述请求数据在处理过程中需要操作的资源对应的资源操作速度,判定所述请求数据为所述第一请求数据或所述第二请求数据。
[0022]可选地,所述后台监听器通过独立于主线程的子线程执行所述第一类型资源操作,且所述子线程的数量可动态增减,所述主线程为所述服务模块的线程。
[0023]根据本专利技术实施例的又一方面,提供了一种电子设备。
[0024]一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发
明实施例所提供的数据处理方法。
[0025]根据本专利技术实施例的又一方面,提供了一种计算机可读介质。
[0026]一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例所提供的数据处理方法。
[0027]上述专利技术中的一个实施例具有如下优点或有益效果:主线程的服务接收请求数据,并进行与请求数据对应的第一数据处理,在请求数据为第一请求数据的情况下,将第一数据处理得本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:主线程的服务接收请求数据,并进行与所述请求数据对应的第一数据处理;所述主线程的服务在所述请求数据为第一请求数据的情况下,将所述第一数据处理得到的结果数据经过内存文件队列组件持久化到本地存储设备,所述第一请求数据为处理过程中需要进行第一类型资源操作的请求数据;后台监听器在监听到持久化的所述结果数据之后,根据所述结果数据执行所述第一类型资源操作,以进行与所述第一请求数据对应的第二数据处理,其中,所述后台监听器独立于所述主线程的服务。2.根据权利要求1所述的方法,其特征在于,所述将所述第一数据处理得到的结果数据经过内存文件队列组件持久化到本地存储设备,包括:通过所述内存文件队列组件将所述结果数据存放到内存队列,并在所述内存队列达到数据落盘操作的触发条件时,将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列。3.根据权利要求2所述的方法,其特征在于,所述在所述内存队列达到数据落盘操作的触发条件时,将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列,包括:在满足所述内存队列中的数据条数大于数量阈值、当前距离上次执行所述持久化操作的时长超过时长阈值二者中的至少一者时,触发将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列的操作。4.根据权利要求2或3所述的方法,其特征在于,所述主线程的服务通过所述内存文件队列组件,利用零拷贝和内存文件映射的方式将所述结果数据从所述内存队列持久化到所述本地存储设备的文件队列。5.根据权利要求1所述的方法,其特征在于,还包括:所述主线程的服务在所述请求数据为第二请求数据的情况下,根据所述结果数据执行第二类型资源操作,以进行与所述第二请求数据对应的第三数据处理,所述第二请求数据为处理过程中需要进行所述第二类型资源操作的请求数据。6.根据权利要求5所述的方法,其特征在于,还包括:所述主线程的服务根据所述请求数据在处理过程中需要操作的资源对应的资源操作速度,判定所述请求数据为所述第一请求数据或所述第二请求数据。7.根据权利要求1所述的方法,其特征在于,所述后台监听器通过独立于所述主线程的子线程执行所述第一类型资源操作,且所述子线程的数量可动态增减。8.一种数据处理装置,其特征在于,包括:服务模块,用于接收请求数据,并进行与所述请求数据对应的第一数据处理;在...
【专利技术属性】
技术研发人员:石朝阳,张衡,赵辉,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。