CN110858201B - 数据处理方法及***、处理器、存储介质 - Google Patents
数据处理方法及***、处理器、存储介质 Download PDFInfo
- Publication number
- CN110858201B CN110858201B CN201810972376.7A CN201810972376A CN110858201B CN 110858201 B CN110858201 B CN 110858201B CN 201810972376 A CN201810972376 A CN 201810972376A CN 110858201 B CN110858201 B CN 110858201B
- Authority
- CN
- China
- Prior art keywords
- data
- request
- target object
- target
- target data
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法及***、处理器、存储介质。其中,该方法包括:获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。本申请解决了现有技术中数据库的吞吐能力较差的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种数据处理方法及***、处理器、存储介质。
背景技术
在物联网套件中经常会更新设备上报的时间到DB(数据库,全称为Data Base)上,由于DB受限于更新的SQL(结构化查询语言,全称为Structured Query Language)数,则在高频访问的时候会对整体的DB响应有很大影响。
针对现有技术中数据库的吞吐能力较差的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据处理方法及***、处理器、存储介质,以至少解决现有技术中数据库的吞吐能力较差的技术问题。
根据本申请实施例的一个方面,提供了一种数据处理方法,包括:获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
根据本申请实施例的另一方面,还提供了一种数据处理方法,包括:获取第一目标对象发起的用于访问第二目标对象的数据请求,其中,数据请求包含目标数据的标识;从预设的服务配置列表中查询是否存在标识;在服务配置列表中存在标识的情况下,在预设缓存中处理目标数据。
根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的数据处理方法。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的数据处理方法。
根据本申请实施例的另一方面,还提供了一种数据处理***,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
根据本申请实施例的另一方面,还提供了一种数据处理方法,包括:获取第一目标对象发起的用于读取第二目标对象中目标数据的读请求,其中,读请求包含目标数据的标识;从预设的服务配置列表中查询是否存在标识;若服务配置列表中存在标识,获取读请求对应的请求参数;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象;若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
根据本申请实施例的另一方面,还提供了一种数据处理方法,包括:获取请求参数,其中,请求参数为第一目标对象发起的写请求对应的参数,写请求用于将目标数据写入第二目标对象,写请求包含目标数据;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中写入目标数据;定时将预设缓存中的数据写入第二目标对象中。
在本申请实施例中,在获取到第一目标对象访问第二目标对象的数据请求对应的请求参数之后,可以对请求参数进行哈希处理,得到请求参数对应的哈希结果,进一步判断预设缓存中是否存在哈希结果,若存在,则可以在预设缓存中读取或写入数据请求所指示的目标数据。
通过本申请上述实施例所提供的方案,当第一目标对象访问第二目标对象时,可以通过判断预设缓存中是否存在请求参数对应的哈希结果,确定是否在预设缓存中读取或写入目标数据,与现有技术相比,第一目标对象无需每次在第二目标对象中读取或写入目标数据,从而达到了提高数据库的吞吐能力,缩短数据处理时间,提升用户的体验感和好感度的技术效果,进而解决了现有技术中数据库的吞吐能力较差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种数据处理方法的流程图;
图3是根据本申请实施例的一种可选的在读服务情况下数据处理方法的示意图;
图4是根据本申请实施例的一种可选的在写服务情况下数据处理方法的示意图;
图5是根据本申请实施例2的一种数据处理方法的流程图;
图6是根据本申请实施例3的一种数据处理方法的流程图;
图7是根据本申请实施例4的一种数据处理方法的流程图;
图8是根据本申请实施例5的一种数据处理装置的示意图;
图9是根据本申请实施例6的一种数据处理装置的示意图;
图10是根据本申请实施例7的一种数据处理装置的示意图;
图11是根据本申请实施例8的一种数据处理装置的示意图;
图12是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Cache:缓存,包括分布式缓存,本地缓存。
Hash算法:一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
AOP:一种java拦截技术,在请求、响应后处理一些特殊逻辑。
实施例1
根据本申请实施例,提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的处理器,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的数据处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的数据处理方法。图2是根据本申请实施例1的一种数据处理方法的流程图。如图2所示,该方法包括如下步骤:
步骤S202,获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象。
上述步骤S202中的第一目标对象可以是网络中的上层服务,网络中的下层服务可以发布多个服务,第二目标对象可以是下层服务发布的任意一个服务或者是数据库,上层服务可以通过发起数据请求访问下层服务发布的服务或者数据库。为了能够准确确定第二目标对象,第一目标对象在发起数据请求的时候,会在数据请求中携带相应的参数,例如,下层服务的ID、需要访问的服务的ID、数据库的地址、数据库的ID、数据库中存储的数据表的ID、数据表中字段名称等。
可选地,数据请求包括:读请求、写请求;其中,读请求用于读取第二目标对象中的目标数据,读请求中包含目标数据的标识,写请求用于向第二目标对象中写入目标数据,写请求包含目标数据。
上述的目标数据可以是需要从第二目标对象中读取的数据,或者需要向第二目标对象中写入的数据。由于下层服务发布了多个服务,为了准确确定第二目标对象,读请求中可以携带目标数据的标识,也即第二目标对象的标识,该标识可以唯一地表示第二目标对象,例如,可以是ID,每个服务设置唯一的ID。为了实现向第二目标对象写入数据,写请求中可以携带需写入的数据。
步骤S204,对请求参数进行哈希处理,得到请求参数对应的哈希结果。
上述步骤S204中的哈希结果可以是对请求参数进行Hash处理,得到的处理结果。由于第一目标对象发起的数据请求对应的请求参数包含的参数较多,为了减少请求参数的处理时间,可以对请求参数进行哈希Hash处理,得到相应的哈希Hash结果。
步骤S206,判断预设缓存中是否存在哈希结果。
上述步骤S206中的预设缓存可以是本地缓存Cache,可以预先将第二目标对象中的数据存储在本地缓存,以方便第一目标对象直接读取使用,无需从第二目标对象读取使用,从而减少第一目标对象的响应时间;或者,当第一目标对象需要写入数据时,可以将需要写入的数据首先存储在本地缓存中,之后在空闲时从本地缓存写入第二目标对象中,从而减少第二目标对象的访问频率。
为了确认第一目标对象是否能够直接访问本地缓存,可以通过判断本地缓存中是否存在Hash结果实现,如果本地缓存中存在该Hash结果,则可以确定本地缓存中存储有相应的数据,第一目标对象可以直接访问本地缓存以获取相应的数据,或者向本地缓存写入相应的数据,实现对本地缓存中原来存储的数据进行更新的目的。
步骤S208,若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
在确定本地缓存中存在Hash结果之后,第一目标对象可以直接访问本地缓存,而无需访问第二目标对象,并从本地缓存中读取第二目标对象的数据,或者将第二目标对象的数据写入本地缓存中。对于读请求,本地缓存中存储的数据的格式可以是key-key-value,例如,可以是服务的ID-请求参数的缓存-目标数据;对于写请求,本地缓存中存储的数据的格式可以是key-value,例如,可以是请求参数的缓存-目标数据。
需要说明的是,为了实现第一目标对象直接访问本地Cache,而无需访问第二目标对象,可以通过AOP拦截对第一目标对象发起的数据请求进行拦截,通过判断本地缓存中是否存在Hash结果,实现对本地Cache或第二目标对象进行访问的目的。
例如,以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为读请求时,如图3所示,服务A可以发起访问服务B发布的服务或DB的读请求,在AOP拦截到读请求之后,可以获取读请求对应的请求参数Hash结果,并根据请求参数Hash结果判断是否在本地缓存,如果存在,可以确定需要读取的数据存储本地Cache中,可以直接从本地Cache中读取相应的数据。
又例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为写请求时,如图4所示,服务A可以发起访问服务B发布的服务或DB的写请求,在AOP拦截到写请求之后,可以获取写请求对应的请求参数Hash结果,并根据请求参数Hash结果判断是否在本地缓存,如果存在,可以确定写入的数据需要存储在本地Cache中,可以将相应的数据写入本地Cache中。
基于上述实施例所限定的方案可以获知,在获取到第一目标对象访问第二目标对象的数据请求对应的请求参数之后,可以对请求参数进行哈希处理,得到请求参数对应的哈希结果,进一步判断预设缓存中是否存在哈希结果,若存在,则可以在预设缓存中读取或写入数据请求所指示的目标数据。
通过本申请上述实施例所提供的方案,当第一目标对象访问第二目标对象时,可以通过判断预设缓存中是否存在请求参数对应的哈希结果,确定是否在预设缓存中读取或写入目标数据,与现有技术相比,第一目标对象无需每次在第二目标对象中读取或写入目标数据,从而达到了提高数据库的吞吐能力,缩短数据处理时间,提升用户的体验感和好感度的技术效果,进而解决了现有技术中数据库的吞吐能力较差的技术问题。
本申请提供的一种可选实施例中,在数据请求为读请求的情况下,获取请求参数之前,该方法还包括:获取读请求;从预设的服务配置列表中查询是否存在目标数据的标识;若服务配置列表中存在标识,执行获取请求参数。
上述的服务配置列表可以是预先配置的更新读请求的更新缓存列表,设置于分布式资源管理器,服务配置列表中包含有下层服务发布的服务的ID。
在AOP拦截到第一目标对象发起的读请求之后,可以首先查询服务配置列表中是否存在需要访问的服务的ID,如果存在,则表明第一目标对象需要访问的服务是下层服务发布的服务,进一步可以根据请求参数确定是否从本地缓存中读取或写入目标数据。
例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为读请求时,如图3所示,服务A可以发起访问服务B发布的服务或DB的读请求,在AOP拦截到读请求之后,可以首先针对服务配置列表判断是否进入本地缓存,也即,判断服务配置列表中是否存在该服务的ID,如果存在,则可以进一步获取读请求对应的请求参数Hash结果,并根据请求参数Hash结果判断是否在本地Cache。
本申请提供的一种可选实施例中,该方法还包括:若服务配置列表中不存在标识,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
在AOP拦截到第一目标对象发起的读请求之后,可以首先查询服务配置列表中是否存在需要访问的服务的ID,如果不存在,则表明第二目标对象需要访问的服务不是下层服务发布的服务,进一步可以从第二目标对象中读取目标数据,并将读取到的数据存储至本地缓存中,以方便第一目标对象下次读取使用。
例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为读请求时,如图3所示,服务A可以发起访问服务B发布的服务或DB的读请求,在AOP拦截到读请求之后,可以首先针对服务配置列表判断是否进入本地缓存,也即,判断服务配置列表中是否存在该服务的ID,如果不存在,则可以直接从服务B/DB中读取相应的数据。
本申请提供的一种可选实施例中,在预设缓存中读取或写入数据请求所指示的目标数据包括:从预设缓存中读取目标数据,并将目标数据发送至第一目标对象。
在AOP拦截到第一目标对象发起的读请求之后,可以首先查询服务配置列表中是否存在需要访问的服务的ID,如果存在,则进一步可以根据请求参数确定是否从本地缓存中读取目标数据,如果确定从本地存储中读取目标数据,则可以直接访问本地缓存以获取目标数据,并生成响应返回给第一目标对象。
本申请提供的一种可选实施例中,该方法还包括:若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
在AOP拦截到第一目标对象发起的读请求之后,如果确定本地缓存中不存在Hash结果,则可以确定第一目标对象不直接访问本地缓存,而是访问第二目标对象,可以从第二目标对象中读取目标数据,并将读取到的数据存储至本地缓存中,以方便第一目标对象下次读取使用。
例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为读请求时,如图3所示,服务A可以发起访问服务B发布的服务或DB的读请求,在AOP拦截到读请求之后,可以获取读请求对应的请求参数Hash结果,并根据请求参数Hash结果判断是否在本地缓存,如果不存在,可以确定需要读取的数据存储在服务B/DB中,可以从服务B/DB中读取相应的数据,并存储至本地Cache中,从而下一次可以直接从本地Cache中读取相应的数据。
本申请提供的一种可选实施例中,在数据请求为写请求的情况下,在预设缓存中读取或写入数据请求所指示的目标数据包括:将写请求中的目标数据写入预设缓存中,目标数据与哈希结果对应。
在AOP拦截到第一目标对象发起的写请求之后,如果确定本地缓存中存在Hash结果,则可以将目标数据直接写入本地缓存中,并将目标数据与请求参数Hash结果进行对应存储。
本申请提供的一种可选实施例中,在将写请求中的目标数据写入预设缓存中之后,该方法还包括:定时将预设缓存中的数据写入第二目标对象中。
需要说明的是,在将目标数据写入本地缓存中之后,为了目标数据可以存储在第二目标对象中,可以定时将本地缓存中的数据写入第二目标对象,实现本地缓存与第二目标对象的同步。而且,无需实时将本地缓存中的数据写入第二目标对象,从而达到降低数据库成本,提高数据库的吞吐能力的目的。
上述的定时可以是以分钟为单位的定时,但不仅限于此,可以根据数据库的吞吐能力进行确定。
例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为写请求时,如图4所示,在将响应的数据写入本地Cache之后,可以定时刷新最后终结果,并写入服务B/DB中。
本申请提供的一种可选实施例中,该方法还包括:若预设缓存中不存在哈希结果,将写请求中的目标数据写入第二目标对象中。
在AOP拦截到第一目标对象发起的写请求之后,如果确定本地缓存中不存在Hash结果,则可以确定第一目标对象不直接访问本地缓存,而是访问第二目标对象,可以将目标数据写入第二目标对象中。
例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为写请求时,如图4所示,服务A可以发起访问服务B发布的服务或DB的写请求,在AOP拦截到写请求之后,可以获取写请求对应的请求参数Hash结果,并根据请求参数Hash结果判断是否在本地缓存,如果不存在,可以确定写入的数据需要存储在服务B/DB中,可以直接将相应的数据写入服务B/DB中。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本申请实施例2的一种数据处理方法的流程图。如图5所示,该方法包括如下步骤:
步骤S502,获取第一目标对象发起的用于访问第二目标对象的数据请求,其中,数据请求包含目标数据的标识。
上述步骤S502中的第一目标对象可以是网络中的上层服务,网络中的下层服务可以发布多个服务,第二目标对象可以是下层服务发布的任意一个服务或者是数据库,上层服务可以通过发起数据请求访问下层服务发布的服务或者数据库。目标数据可以是需要从第二目标对象中读取的数据,或者需要向第二目标对象中写入的数据。由于下层服务发布了多个服务,为了准确确定第二目标对象,数据请求中可以携带目标数据的标识,也即第二目标对象的标识,该标识可以唯一地表示第二目标对象,例如,可以是ID,每个服务设置唯一的ID。
可选地,数据请求包括:读请求、清理数据请求;其中,读请求用于读取第二目标对象中的目标数据,读请求中包含目标数据的标识,清理数据请求用于指示清理预设缓存中的目标数据,清理数据请求中包含目标数据的标识。
上述的清理数据请求用于对本地缓存中存储的服务的数据进行存储,本地缓存中存储有多个服务的数据,为了确保清理正确的数据,清理数据请求中可以携带目标数据的标识,该标识可以唯一地表示目标数据,例如,可以是ID,每个服务的目标数据设置唯一的ID。
步骤S504,从预设的服务配置列表中查询是否存在标识。
上述步骤S504中的服务配置列表可以是预先配置的更新读请求的更新缓存列表,设置于分布式资源管理器,服务配置列表中包含有下层服务发布的服务的ID。
在获取到第一目标对象发起的数据请求之后,可以首先查询服务配置列表中是否存在需要访问的服务的ID,如果存在,则表明第一目标对象需要访问的服务是下层服务发布的服务。
步骤S506,在服务配置列表中存在标识的情况下,在预设缓存中处理目标数据。
上述步骤S506中的预设缓存可以是本地缓存Cache,可以预先将第二目标对象中的数据存储在本地缓存,以方便第一目标对象直接读取使用,无需从第二目标对象读取使用,从而减少第一目标对象的响应时间;或者,当第一目标对象需要对本地缓存中存储的数据进行清理时,可以对本地缓存中存储的目标数据进行处理。
例如,以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为读请求时,如图3所示,服务A可以发起访问服务B发布的服务或DB的读请求,在AOP拦截到读请求之后,可以首先针对服务配置列表判断是否进入本地缓存,也即,判断服务配置列表中是否存在该服务的ID,如果存在,则可以进一步获取读请求对应的请求参数Hash结果,并根据请求参数Hash结果从本地Cache或服务B/DB中读取相应的数据。
又例如,仍以第一目标对象是服务A、第二目标对象是服务B发布的服务或DB为例。当数据请求为读请求时,如图3所示,服务A可以发起对本地Cache中存储的访问服务B发布的服务或DB的数据进行清理的请求,在AOP拦截到该请求之后,可以针对服务配置列表判断是否进入本地缓存,也即,判断服务配置列表中是否存在该服务的ID,如果存在,则可以对本地Cache中该服务的数据进行清理。
基于上述实施例所限定的方案可以获知,在获取到第一目标对象发起的用于访问第二目标对象的数据请求之后,可以从预设的服务配置列表中查询是否存在数据请求中包含的目标数据的标识,若存在,则可以在预设缓存中处理目标数据。
通过本申请上述实施例所提供的方案,当第一目标对象访问第二目标对象时,可以在确定预设的服务配置列表中查询存在目标数据的标识的情况下,在预设缓存中处理该目标数据,与现有技术相比,第一目标对象无需每次在第二目标对象中处理目标数据,从而达到了提高数据库的吞吐能力,缩短数据处理时间,提升用户的体验感和好感度的技术效果,进而解决了现有技术中数据库的吞吐能力较差的技术问题。
本申请提供的一种可选实施例中,在数据请求为读请求的情况下,在服务配置列表中存在标识的情况下,该方法还包括:获取读请求对应的请求参数;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象;若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
为了能够准确确定第二目标对象,第一目标对象在发起数据请求的时候,会在数据请求中携带相应的参数,例如,下层服务的ID、需要访问的服务的ID、数据库的地址、数据库的ID、数据库中存储的数据表的ID、数据表中字段名称等。
上述的哈希结果可以是对请求参数进行Hash处理,得到的处理结果。由于第一目标对象发起的数据请求对应的请求参数包含的参数较多,为了减少请求参数的处理时间,可以对请求参数进行哈希Hash处理,得到相应的哈希Hash结果。
为了确认第一目标对象是否能够直接访问本地缓存,可以通过判断本地缓存中是否存在Hash结果实现,如果本地缓存中存在该Hash结果,则可以确定本地缓存中存储有相应的数据,第一目标对象可以直接访问本地缓存以获取相应的数据。
在确定本地缓存中存在Hash结果之后,第一目标对象可以直接访问本地缓存,而无需访问第二目标对象,并从本地缓存中读取第二目标对象的数据;在确定本地缓存中不存在Hash结果之后,可以确定第一目标对象不直接访问本地缓存,而是访问第二目标对象,可以从第二目标对象中读取目标数据,并将读取到的数据存储至本地缓存中,以方便第一目标对象下次读取使用。
本申请提供的一种可选实施例中,该方法还包括:在服务配置列表中不存在标识的情况下,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
在AOP拦截到第一目标对象发起的读请求之后,可以首先查询服务配置列表中是否存在需要访问的服务的ID,如果不存在,则表明第二目标对象需要访问的服务不是下层服务发布的服务,进一步可以从第二目标对象中读取目标数据,并将读取到的数据存储至本地缓存中,以方便第一目标对象下次读取使用。
本申请提供的一种可选实施例中,在数据请求为清理数据请求的情况下,在预设缓存中处理目标数据包括:在从预设缓存中清理标识对应的目标数据。
上述的预设缓存中存储的数据的格式可以是key-key-value,例如,可以是服务的ID-请求参数的缓存-目标数据。在AOP拦截到第一目标对象发起的数据清理请求之后,如果确定服务配置列表中存在标识,则可以将本地缓存中该服务ID对应的目标数据进行清理。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例3
根据本申请实施例,还提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图6是根据本申请实施例3的一种数据处理方法的流程图。如图6所示,该方法包括如下步骤:
步骤S602,获取第一目标对象发起的用于读取第二目标对象中目标数据的读请求,其中,读请求包含目标数据的标识。
步骤S604,从预设的服务配置列表中查询是否存在标识。
步骤S606,若服务配置列表中存在标识,获取读请求对应的请求参数。
步骤S608,对请求参数进行哈希处理,得到请求参数对应的哈希结果。
步骤S610,判断预设缓存中是否存在哈希结果。
步骤S612,若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象。
步骤S614,若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例4
根据本申请实施例,还提供了一种数据处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图7是根据本申请实施例4的一种数据处理方法的流程图。如图7所示,该方法包括如下步骤:
步骤S702,获取请求参数,其中,请求参数为第一目标对象发起的写请求对应的参数,写请求用于将目标数据写入第二目标对象,写请求包含目标数据。
步骤S704,对请求参数进行哈希处理,得到请求参数对应的哈希结果。
步骤S706,判断预设缓存中是否存在哈希结果。
步骤S708,若预设缓存中存在哈希结果,在预设缓存中写入目标数据。
步骤S710,定时将预设缓存中的数据写入第二目标对象中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例5
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图8所示,该装置800包括:
获取模块802,用于获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象。
处理模块804,用于对请求参数进行哈希处理,得到请求参数对应的哈希结果。
判断模块806,用于判断预设缓存中是否存在哈希结果。
读写模块808,用于若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
此处需要说明的是,上述获取模块802、处理模块804、判断模块806和读写模块808对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例6
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图9所示,该装置900包括:
获取模块902,用于获取第一目标对象发起的用于访问第二目标对象的数据请求,其中,数据请求包含目标数据的标识。
查询模块904,用于从预设的服务配置列表中查询是否存在标识。
处理模块906,用于在服务配置列表中存在标识的情况下,在预设缓存中处理目标数据。
此处需要说明的是,上述获取模块902、查询模块904和处理模块906对应于实施例2中的步骤S502至步骤S506,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例7
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图10所示,该装置1000包括:
第一获取模块1002,用于获取第一目标对象发起的用于读取第二目标对象中目标数据的读请求,其中,读请求包含目标数据的标识。
查询模块1004,用于从预设的服务配置列表中查询是否存在标识。
第二获取模块1006,用于若服务配置列表中存在标识,获取读请求对应的请求参数。
处理模块1008,用于对请求参数进行哈希处理,得到请求参数对应的哈希结果。
判断模块1010,用于判断预设缓存中是否存在哈希结果。
第一读取模块1012,用于若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象。
第二读取模块1014,用于若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
此处需要说明的是,上述第一获取模块1002、查询模块1004、第二获取模块1006、处理模块1008、判断模块1010、第一读取模块1012和第二读取模块1014对应于实施例3中的步骤S602至步骤S614,七个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例3所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例8
根据本申请实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图11所示,该装置1100包括:
获取模块1102,用于获取请求参数,其中,请求参数为第一目标对象发起的写请求对应的参数,写请求用于将目标数据写入第二目标对象,写请求包含目标数据。
处理模块1104,用于对请求参数进行哈希处理,得到请求参数对应的哈希结果。
判断模块1106,用于判断预设缓存中是否存在哈希结果。
第一写入模块1108,用于若预设缓存中存在哈希结果,在预设缓存中写入目标数据。
第二写入模块1110,用于定时将预设缓存中的数据写入第二目标对象中。
此处需要说明的是,上述获取模块1102、处理模块1104、判断模块1106、第一写入模块1108和第二写入模块1110对应于实施例4中的步骤S702至步骤S710,五个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例4所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例9
根据本申请实施例,还提供了一种数据处理***的实施例,包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
需要说明的是,本实施例的可选或优选实时方式可以参见实施例1中的相关描述,在此不在赘述。
实施例10
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行数据处理方法中以下步骤的程序代码:获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
可选地,图12是根据本申请实施例的一种计算机终端的结构框图。如图12所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1202以及存储器1204。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取请求参数,其中,请求参数为第一目标对象发起的数据请求对应的参数,数据请求用于访问第二目标对象;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中读取或写入数据请求所指示的目标数据。
可选的,上述处理器还可以执行如下步骤的程序代码:数据请求包括:读请求、写请求;其中,读请求用于读取第二目标对象中的目标数据,读请求中包含目标数据的标识,写请求用于向第二目标对象中写入目标数据,写请求包含目标数据。
可选的,上述处理器还可以执行如下步骤的程序代码:在数据请求为读请求的情况下,获取请求参数之前,获取读请求;从预设的服务配置列表中查询是否存在目标数据的标识;若服务配置列表中存在标识,执行获取请求参数。
可选的,上述处理器还可以执行如下步骤的程序代码:若服务配置列表中不存在标识,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
可选的,上述处理器还可以执行如下步骤的程序代码:从预设缓存中读取目标数据,并将目标数据发送至第一目标对象。
可选的,上述处理器还可以执行如下步骤的程序代码:若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
可选的,上述处理器还可以执行如下步骤的程序代码:在数据请求为写请求的情况下,将写请求中的目标数据写入预设缓存中,目标数据与哈希结果对应。
可选的,上述处理器还可以执行如下步骤的程序代码:在将写请求中的目标数据写入预设缓存中之后,定时将预设缓存中的数据写入第二目标对象中。
可选的,上述处理器还可以执行如下步骤的程序代码:若预设缓存中不存在哈希结果,将写请求中的目标数据写入第二目标对象中。
采用本申请实施例,提供了一种数据处理的方案。当第一目标对象访问第二目标对象时,可以通过判断预设缓存中是否存在请求参数对应的哈希结果,确定是否在预设缓存中读取或写入目标数据,与现有技术相比,第一目标对象无需每次在第二目标对象中读取或写入目标数据,从而达到了提高数据库的吞吐能力,缩短数据处理时间,提升用户的体验感和好感度的技术效果,进而解决了现有技术中数据库的吞吐能力较差的技术问题。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取第一目标对象发起的用于访问第二目标对象的数据请求,其中,数据请求包含目标数据的标识;从预设的服务配置列表中查询是否存在标识;在服务配置列表中存在标识的情况下,在预设缓存中处理目标数据。
可选的,上述处理器还可以执行如下步骤的程序代码:数据请求包括:读请求、清理数据请求;其中,读请求用于读取第二目标对象中的目标数据,读请求中包含目标数据的标识,清理数据请求用于指示清理预设缓存中的目标数据,清理数据请求中包含目标数据的标识。
可选的,上述处理器还可以执行如下步骤的程序代码:在数据请求为读请求的情况下,在服务配置列表中存在标识的情况下,获取读请求对应的请求参数;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象;若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
可选的,上述处理器还可以执行如下步骤的程序代码:在服务配置列表中不存在标识的情况下,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
可选的,上述处理器还可以执行如下步骤的程序代码:在数据请求为清理数据请求的情况下,在从预设缓存中清理标识对应的目标数据。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取第一目标对象发起的用于读取第二目标对象中目标数据的读请求,其中,读请求包含目标数据的标识;从预设的服务配置列表中查询是否存在标识;若服务配置列表中存在标识,获取读请求对应的请求参数;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象;若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取请求参数,其中,请求参数为第一目标对象发起的写请求对应的参数,写请求用于将目标数据写入第二目标对象,写请求包含目标数据;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中写入目标数据;定时将预设缓存中的数据写入第二目标对象中。
本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例11
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的数据处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取请求参数,其中,所述请求参数为第一目标对象发起的数据请求对应的参数,所述数据请求用于访问第二目标对象;对所述请求参数进行哈希处理,得到所述请求参数对应的哈希结果;判断预设缓存中是否存在所述哈希结果;若所述预设缓存中存在所述哈希结果,在所述预设缓存中读取或写入所述数据请求所指示的目标数据。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一目标对象发起的用于访问第二目标对象的数据请求,其中,所述数据请求包含目标数据的标识;从预设的服务配置列表中查询是否存在所述标识;在所述服务配置列表中存在所述标识的情况下,在预设缓存中处理所述目标数据。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一目标对象发起的用于读取第二目标对象中目标数据的读请求,其中,读请求包含目标数据的标识;从预设的服务配置列表中查询是否存在标识;若服务配置列表中存在标识,获取读请求对应的请求参数;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,从预设缓存中读取目标数据,并将目标数据发送至第一目标对象;若预设缓存中不存在哈希结果,从第二目标对象中读取目标数据,将目标数据写入预设缓存并将目标数据发送至第一目标对象。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取请求参数,其中,请求参数为第一目标对象发起的写请求对应的参数,写请求用于将目标数据写入第二目标对象,写请求包含目标数据;对请求参数进行哈希处理,得到请求参数对应的哈希结果;判断预设缓存中是否存在哈希结果;若预设缓存中存在哈希结果,在预设缓存中写入目标数据;定时将预设缓存中的数据写入第二目标对象中。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (16)
1.一种数据处理方法,包括:
获取请求参数,其中,所述请求参数为第一目标对象发起的数据请求对应的参数,所述数据请求用于访问第二目标对象;
对所述请求参数进行哈希处理,得到所述请求参数对应的哈希结果;
判断预设缓存中是否存在所述哈希结果;
若所述预设缓存中存在所述哈希结果,在所述预设缓存中读取或写入所述数据请求所指示的目标数据;
其中,所述数据请求包括:读请求,其中,所述读请求用于读取所述第二目标对象中的所述目标数据,所述读请求中包含所述目标数据的标识;
在所述数据请求为所述读请求的情况下,获取请求参数之前,所述方法还包括:获取所述读请求;从预设的服务配置列表中查询是否存在所述目标数据的标识;若所述服务配置列表中存在所述标识,执行所述获取请求参数。
2.根据权利要求1所述的方法,其中,所述数据请求包括:写请求;其中,所述写请求用于向所述第二目标对象中写入所述目标数据,所述写请求包含所述目标数据。
3.根据权利要求1所述的方法,其中,所述方法还包括:
若所述服务配置列表中不存在所述标识,从所述第二目标对象中读取所述目标数据,将所述目标数据写入所述预设缓存并将所述目标数据发送至所述第一目标对象。
4.根据权利要求1所述的方法,其中,所述在所述预设缓存中读取或写入所述数据请求所指示的目标数据包括:
从所述预设缓存中读取所述目标数据,并将所述目标数据发送至所述第一目标对象。
5.根据权利要求1所述的方法,其中,所述方法还包括:
若所述预设缓存中不存在所述哈希结果,从所述第二目标对象中读取所述目标数据,将所述目标数据写入所述预设缓存并将所述目标数据发送至所述第一目标对象。
6.根据权利要求2所述的方法,其中,在所述数据请求为写请求的情况下,所述在所述预设缓存中读取或写入所述数据请求所指示的目标数据包括:
将所述写请求中的所述目标数据写入所述预设缓存中,所述目标数据与所述哈希结果对应。
7.根据权利要求6所述的方法,其中,在将所述写请求中的目标数据写入所述预设缓存中之后,所述方法还包括:
定时将所述预设缓存中的数据写入所述第二目标对象中。
8.根据权利要求6所述的方法,其中,所述方法还包括:
若所述预设缓存中不存在所述哈希结果,将所述写请求中的所述目标数据写入所述第二目标对象中。
9.一种数据处理方法,包括:
获取第一目标对象发起的用于访问第二目标对象的数据请求,其中,所述数据请求包含目标数据的标识;
从预设的服务配置列表中查询是否存在所述标识;
在所述服务配置列表中存在所述标识的情况下,在预设缓存中处理所述目标数据;
其中,所述数据请求包括:读请求,其中,所述读请求用于读取所述第二目标对象中的所述目标数据,所述读请求中包含所述目标数据的所述标识;
在所述数据请求为所述读请求的情况下,在所述服务配置列表中存在所述标识的情况下,所述方法还包括:获取所述读请求对应的请求参数;对所述请求参数进行哈希处理,得到所述请求参数对应的哈希结果;判断所述预设缓存中是否存在所述哈希结果;若所述预设缓存中存在所述哈希结果,从所述预设缓存中读取所述目标数据,并将所述目标数据发送至所述第一目标对象;若所述预设缓存中不存在所述哈希结果,从所述第二目标对象中读取所述目标数据,将所述目标数据写入所述预设缓存并将所述目标数据发送至所述第一目标对象。
10.根据权利要求9所述的方法,其中,所述数据请求包括:清理数据请求;其中,所述清理数据请求用于指示清理所述预设缓存中的所述目标数据,所述清理数据请求中包含所述目标数据的所述标识。
11.根据权利要求9所述的方法,其中,所述方法还包括:
在所述服务配置列表中不存在所述标识的情况下,从所述第二目标对象中读取所述目标数据,将所述目标数据写入所述预设缓存并将所述目标数据发送至所述第一目标对象。
12.根据权利要求10所述的方法,其中,在所述数据请求为所述清理数据请求的情况下,所述在预设缓存中处理所述目标数据包括:
在从所述预设缓存中清理所述标识对应的所述目标数据。
13.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至12中任意一项所述的数据处理方法。
14.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至12中任意一项所述的数据处理方法。
15.一种数据处理***,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:获取请求参数,其中,所述请求参数为第一目标对象发起的数据请求对应的参数,所述数据请求用于访问第二目标对象;对所述请求参数进行哈希处理,得到所述请求参数对应的哈希结果;判断预设缓存中是否存在所述哈希结果;若所述预设缓存中存在所述哈希结果,在所述预设缓存中读取或写入所述数据请求所指示的目标数据;
其中,所述数据请求包括:读请求,其中,所述读请求用于读取所述第二目标对象中的所述目标数据,所述读请求中包含所述目标数据的标识;
所述存储器还用于为所述处理器提供处理以下处理步骤的指令:获取所述读请求;从预设的服务配置列表中查询是否存在所述目标数据的标识;若所述服务配置列表中存在所述标识,执行所述获取请求参数。
16.一种数据处理方法,包括:
获取第一目标对象发起的用于读取第二目标对象中目标数据的读请求,其中,所述读请求包含目标数据的标识;
从预设的服务配置列表中查询是否存在所述标识;
若所述服务配置列表中存在所述标识,获取所述读请求对应的请求参数;
对所述请求参数进行哈希处理,得到所述请求参数对应的哈希结果;
判断预设缓存中是否存在所述哈希结果;
若所述预设缓存中存在所述哈希结果,从所述预设缓存中读取所述目标数据,并将所述目标数据发送至所述第一目标对象;
若所述预设缓存中不存在所述哈希结果,从所述第二目标对象中读取所述目标数据,将所述目标数据写入所述预设缓存并将所述目标数据发送至所述第一目标对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810972376.7A CN110858201B (zh) | 2018-08-24 | 2018-08-24 | 数据处理方法及***、处理器、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810972376.7A CN110858201B (zh) | 2018-08-24 | 2018-08-24 | 数据处理方法及***、处理器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110858201A CN110858201A (zh) | 2020-03-03 |
CN110858201B true CN110858201B (zh) | 2023-05-02 |
Family
ID=69635446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810972376.7A Active CN110858201B (zh) | 2018-08-24 | 2018-08-24 | 数据处理方法及***、处理器、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110858201B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672524B (zh) * | 2021-08-20 | 2024-07-02 | 上海哔哩哔哩科技有限公司 | 基于多级缓存的数据处理方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158965A (zh) * | 2007-10-25 | 2008-04-09 | 中国科学院计算技术研究所 | 一种分布式文件***的文件读***和方法 |
JP2009110407A (ja) * | 2007-10-31 | 2009-05-21 | Toshiba Corp | キャッシュ方法及びキャッシュ装置 |
CN104809179A (zh) * | 2015-04-16 | 2015-07-29 | 华为技术有限公司 | 访问哈希表的装置和方法 |
CN105159604A (zh) * | 2015-08-20 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘数据读写方法和*** |
-
2018
- 2018-08-24 CN CN201810972376.7A patent/CN110858201B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101158965A (zh) * | 2007-10-25 | 2008-04-09 | 中国科学院计算技术研究所 | 一种分布式文件***的文件读***和方法 |
JP2009110407A (ja) * | 2007-10-31 | 2009-05-21 | Toshiba Corp | キャッシュ方法及びキャッシュ装置 |
CN104809179A (zh) * | 2015-04-16 | 2015-07-29 | 华为技术有限公司 | 访问哈希表的装置和方法 |
CN105159604A (zh) * | 2015-08-20 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种磁盘数据读写方法和*** |
Non-Patent Citations (1)
Title |
---|
李文中 ; 周俊 ; 顾铁成 ; 李春洪 ; 陆桑璐 ; 陈道蓄 ; .基于Globus的流媒体网格信息服务***.小型微型计算机***.2005,第26卷(第12期),第2074-2077页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110858201A (zh) | 2020-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062367B (zh) | 一种数据列表的上传方法及其终端 | |
CN113568884B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
US11122128B2 (en) | Method and device for customer resource acquisition, terminal device and storage medium | |
CN109218133B (zh) | 网络速度测试***、方法、装置及计算机可读存储介质 | |
CN108287751B (zh) | 任务执行方法及装置、分布式*** | |
CN111694703B (zh) | 缓存区管理方法、装置和计算机设备 | |
CN110858201B (zh) | 数据处理方法及***、处理器、存储介质 | |
CN112738019B (zh) | 设备信息的显示方法、装置、存储介质以及电子装置 | |
CN114553762A (zh) | 一种对流表中的流表项处理的方法及装置 | |
CN110704198B (zh) | 数据操作方法、装置、存储介质以及处理器 | |
US20160156722A1 (en) | Resource migration method and apparatus | |
CN109842482B (zh) | 一种信息同步方法、***及终端设备 | |
CN111913396A (zh) | 离线烹饪控制方法、装置及设备 | |
CN109639629B (zh) | 数据访问处理方法、装置、计算机设备和存储介质 | |
CN113434525A (zh) | 缓存数据的更新方法和装置、存储介质及电子装置 | |
CN110659299A (zh) | 数据更新的方法及装置、前端开发客户端 | |
CN110609701A (zh) | 提供服务的方法、装置和存储介质 | |
CN113590913B (zh) | 数据资源的显示方法及装置、存储介质及电子装置 | |
CN116185782B (zh) | 社交软件的业务监控方法与装置 | |
CN110096255B (zh) | 规则降级处理方法、装置及***、数据处理方法 | |
CN112804371B (zh) | 一种域名解析处理方法及装置 | |
CN110688231B (zh) | 读写请求统计信息的处理方法、装置和*** | |
CN118013104A (zh) | 搜索召回方法、计算机可读存储介质以及电子设备 | |
CN117061129A (zh) | 一种账号处理方法、装置、电子设备和存储介质 | |
CN117528479A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024921 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |