CN111241118B - 缓存数据处理方法以及装置 - Google Patents
缓存数据处理方法以及装置 Download PDFInfo
- Publication number
- CN111241118B CN111241118B CN202010339850.XA CN202010339850A CN111241118B CN 111241118 B CN111241118 B CN 111241118B CN 202010339850 A CN202010339850 A CN 202010339850A CN 111241118 B CN111241118 B CN 111241118B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- message
- updated
- updating
- 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
-
- 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/23—Updating
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种缓存数据处理方法以及装置,其中所述方法包括:接收事件消息;根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;根据所述目标数据字段的数据更新数据库的缓存中的相应数据。实施本说明书方案,使得缓存更新效率提高,减小对业务造成的影响,减少甚至避免太多无效更新,从而减少或避免引起的数据库未知问题,提高数据库系统工作稳定性。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及一种缓存数据处理方法。本说明书同时涉及一种缓存数据处理装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
数据库的缓存通常会被设置有效期,用户请求访问数据的时候先查缓存,如果没有查到数据或者缓存已过期失效就击穿直接访问数据库。这在例如百万级以上的大并发请求访问数据的情况下,极大可能导致数据库的崩溃,对实时性要求高的业务造成极大影响。
为了尽量避免缓存失效导致的击穿问题的出现,可提供定时更新全量缓存机制,例如5秒更新一次缓存,然后用户请求数据时直接访问缓存以减小甚至避免击穿问题出现。但是,因为缓存数据量大时全量更新一次缓存可能需要很长时间,例如10小时左右。这导致在大并发请求访问数据的情况下,缓存更新效率极低,对业务会造成很大影响,而且还会造成太多无效更新,引起数据库未知问题。
发明内容
有鉴于此,本说明书实施例提供一种缓存数据处理方法。本说明书实施例同时涉及一种缓存数据处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种缓存数据处理方法,所述方法包括:
接收事件消息;
根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
在本说明书的一个或多个实施例中,还包括:
接收离线事件消息,根据所述离线事件消息确定待更新数据;
将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对;
根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息;
根据所述具有预设数据格式的消息确定待更新数据。
在本说明书的一个或多个实施例中,所述事件消息和/或离线事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
在本说明书的一个或多个实施例中,还包括:
确定所述变更数据的数据量;
在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
在本说明书的一个或多个实施例中,所述根据所述变更数据灰度更新所述数据库的缓存的步骤,包括:
根据所述变更数据的数据量确定灰度更新的比例值;
根据所述比例值从所述变更数据中确定对应的子变更数据;
根据所述子变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
将所述缓存备份至所述数据库中以形成缓存副本;
在所述缓存更新时,同时更新所述缓存副本。
在本说明书的一个或多个实施例中,所述缓存被配置为永久有效。
根据本说明书实施例的第二方面,提供了一种缓存数据处理装置,包括:
信息接收单元,被配置为接收事件消息;
更新数据确定模块,被配置为根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
目标数据确定模块,被配置为解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
数据更新模块,被配置为根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
在本说明书的一个或多个实施例中,所述信息接收单元,进一步被配置为接收离线事件消息;
所述更新数据确定模块,进一步被配置为根据所述离线事件消息确定待更新数据;
数据比对模块,被配置为将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对;
所述数据更新模块,进一步被配置为根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
数据转换模块,被配置为将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息;
所述更新数据确定模块,进一步被配置根据所述具有预设数据格式的消息确定待更新数据。
在本说明书的一个或多个实施例中,所述事件消息和/或离线事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
在本说明书的一个或多个实施例中,还包括灰度更新模块,被配置为:
确定所述变更数据的数据量;
在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
在本说明书的一个或多个实施例中,所述灰度更新模块,进一步被配置为:
根据所述变更数据的数据量确定灰度更新的比例值;
根据所述比例值从所述变更数据中确定对应的子变更数据;
根据所述子变更数据更新所述数据库的缓存。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令以实现上述任意一项所述缓存数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述缓存数据处理方法的步骤。
本说明书实施例提供的缓存数据处理方法,通过接收事件消息,根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;根据所述目标数据字段的数据更新数据库的缓存中的相应数据。这样,本实施例的方案在大并发请求访问数据的情况下,可以从待更新数据中选择部分如目标数据字段的数据更新数据库的缓存,减小更新一次缓存的数据量,使得缓存更新效率提高,减小对业务造成的影响,减少甚至避免太多无效更新,从而减少或避免引起的数据库未知问题,提高数据库系统工作稳定性。
附图说明
图1是本说明书一实施例提供的一种缓存数据处理方法的流程图;
图2是本说明书一实施例提供的一种缓存数据处理方法的流程图;
图3是本说明书一实施例提供的一种缓存数据处理方法的流程图;
图4是本说明书一实施例提供的一种缓存数据处理方法的流程图;
图5是本说明书一实施例提供的一种缓存数据处理方法的处理过程流程图;
图6是本说明书一实施例提供的一种缓存数据处理装置的结构示意图;
图7是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
缓存:缓存(cache)是指可以进行高速数据交换的存储器,它先于内存与中央处理器(CPU,Central Processing Unit)交换数据,因此速率很快。
事件:事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户在智能手机上输入指纹完成消费支付等。
在本说明书中,提供了一种缓存数据处理方法,本说明书同时涉及一种缓存数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例提供的一种缓存数据处理方法的流程图,可以包括下述步骤S102至步骤S106。
步骤S102:接收事件消息。
步骤S104:根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据。
步骤S106:解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据。
步骤S108:根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
本实施例提供的缓存数据处理方法,在大并发请求访问数据的情况下,例如百万级以上的情况下等,可以从待更新数据中选择部分如目标数据字段的数据更新数据库的缓存,减小更新一次缓存的数据量,使得缓存更新效率提高,进而减小对业务造成的影响,减少甚至避免太多无效更新,从而减少或避免引起的数据库未知问题,提高数据库系统工作稳定性。
具体的,在本说明书的一个或多个实施例中,步骤S102中接收的事件消息可以是金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个,但不限于此。示例的,金融支付消息可以是用户的存款、保险、基金等账户的支付消息,例如消费支付后存款余额变动的消息等。医疗支付消息可以包括但不限于是用户医院或诊所等就诊时的药品等支付信息。交通支付消息可以包括但不限于是用户购买车票、机票、高铁票时的支付信息。生活支付消息可以包括但不限于是用户日常购物消费的信息等。
步骤S104中,根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据。
具体的,例如收到消费支付后存款余额变动的消息等,那么待更新数据可以包括交易时间、交易日期、消费额度、交易后余额等数据字段以及对应的具体数据。
步骤S106中,解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据。
具体的,可以从待更新数据中选择部分如目标数据字段的数据更新数据库的缓存。所述目标数据字段可以是用户查询比较频繁的数据字段,或者用户关心的数据字段,本实施例中对此不作限制,可以根据需要设置。不同的事件消息如金融支付消息、医疗支付消息、交通支付消息和生活支付消息对应的目标数据字段也可以不同,但也不限于此,本领域技术人员可以根据具体需求设置。示例的,以上述例子来说,所述待更新数据包括交易时间、交易日期、消费额度、交易后余额等数据字段,确定的目标数据字段可以是消费额度和存款余额。然后据此可以获取相应目标数据字段对应的数据。
步骤S108中,根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
具体的,若确定的目标数据字段是消费额度和存款余额,那么可以通过消费额度和存款余额字段下的数据更新数据库的缓存,在具体更新时,消费额度和存款余额字段下的数据可以携带唯一标识以与缓存中的相应数据进行对应,例如同属于一个用户。本实施例中,实施此技术方案,可以减小更新一次缓存的数据量,使得缓存更新效率提高,进而减小对业务造成的影响。
图2示出了根据本说明书一实施例提供的一种缓存数据处理方法的流程图,在本说明书的一个或多个实施例中,该缓存数据处理方法包括:
步骤S202:接收离线事件消息,根据所述离线事件消息确定待更新数据。
示例的,所述离线事件消息也可以是金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个,但不限于此。示例的,金融支付消息可以是用户的存款、保险、基金等账户的支付消息,例如消费支付后存款余额变动的消息等。医疗支付消息可以包括但不限于是用户医院或诊所等就诊时的药品等支付信息。交通支付消息可以包括但不限于是用户购买车票、机票、高铁票时的支付信息。生活支付消息可以包括但不限于是用户日常购物消费的信息等。
具体的,例如收到消费支付后存款余额变动的消息等,那么待更新数据可以包括交易时间、交易日期、消费额度、交易后余额等数据。
步骤S204:将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对。
示例性的,所述待更新数据可以包含用户标识,以与缓存中的对应用户的数据进行比对。例如将待更新数据中的交易时间、交易日期、消费额度、交易后余额与缓存中的对应用户的当前数据如交易时间、交易日期、消费额度、交易后余额进行比对。
步骤S206:根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
具体的,例如比对后确定待更新数据中消费额度和交易后余额发生变化,即变更数据,且交易时间晚于缓存中当前数据的交易时间,则可以根据该待更新数据中的变更数据更新缓存。
在本说明书的一个或多个实施例中,由于不同类型的事件消息的消息体格式不同,导致分别处理各类别的事件消息获取待更新数据的处理复杂度增加,降低数据处理效率。为了解决这一问题,在上述各实施例所示的缓存数据处理方法基础上,本实施例还可以包括下述步骤:
步骤a)、将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息。
示例的,该步骤a)可以在接收到事件消息和/或离线事件消息后执行。通过该步骤可以将不同类型的事件消息的消息体格式转换为统一的具有预设数据格式的消息体。该预设数据格式可以自定义设置,对此不作限制。例如可以从不同类型的事件消息,如金融支付消息、医疗支付消息、交通支付消息和生活支付消息的消息体格式中提取例如用户查询频率高的一个或多个数据字段构成预设数据格式,当然本实施例中并不限于此。
步骤b)、根据所述具有预设数据格式的消息确定待更新数据。示例的,转换后可以根据统一的具有预设数据格式的消息体确定待更新数据,这样可以降低数据处理的复杂度,提高数据处理的效率。
图3示出了根据本说明书一实施例提供的一种缓存数据处理方法的流程图,在本说明书的一个或多个实施例中,所述方法包括下述步骤:
步骤S202:接收离线事件消息,根据所述离线事件消息确定待更新数据。
步骤S204:将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对。关于步骤S202和步骤S204可以参考前述实施例中的详细描述,此处不再赘述。
步骤S302:根据比对结果确定变更数据,确定所述变更数据的数据量。
具体的,在对离线事件消息处理时,本实施例中可以确定对应的待更新数据的变更数据的数据量。
步骤S304:在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
也即,本实施例中确定变更数据的数量后,可以根据数据量来灰度更新缓存,通过离线灰度更新,可以实现相对地快速更新,以在一定程度上提高处理效率,降低对业务的影响。
可选的,进一步的,图4示出了图3所示一种缓存数据处理方法中的步骤S304的具体过程。在本说明书的一个或多个实施例中,步骤S304中所述根据所述变更数据灰度更新所述数据库的缓存的步骤,可以包括下述步骤:
步骤S3041:根据所述变更数据的数据量确定灰度更新的比例值。
示例的,可以预先建立所述变更数据的不同数据量与对应灰度更新的比例值之间的映射关系表,示例性的如下表1所示,其中A大于B,B大于C,C大于D,a小于b,b小于c,c小于d。
表1
变更数据的数据量 | 对应的比例值 |
数据量A | 比例值a |
数据量B | 比例值b |
数据量C | 比例值c |
数据量D | 比例值d |
根据此示例性的映射关系表可以实现快速确定所述比例值。所述比例值可以根据需要设置,对此不作限制。本实施例中,所述数据量较大时,所述比例值可以相应小一些,但并不限于此。
步骤S3042:根据所述比例值从所述变更数据中确定对应的子变更数据。
示例的,可以从所述变更数据中获取所述比例值对应的部分数据,作为子变更数据。例如变更数据的数据量大小是M,比例值是20%,则提取M与20%的乘积对应大小的变更数据作为子变更数据。
步骤S3043:根据所述子变更数据更新所述数据库的缓存。
示例的,在提取确定子变更数据后,既可更新所述数据库的缓存。一次更新完毕后,可以继续以该比例值对应大小的子变更数据更新所述数据库的缓存,直至变更数据更新完毕。本实施例中通过离线灰度更新,可以相对地快速更新缓存,以在一定程度上提高处理效率,降低对业务的影响。
可选的,在本说明书的一个或多个实施例中,所述方法还可以包括:将所述缓存备份至所述数据库中以形成缓存副本。在所述缓存更新时,同时更新所述缓存副本。本实施例中,为所述缓存建立备份,这样不会因为缓存失效而直接导致数据库被击穿,可以通过缓存副本处理数据访问请求,防止系统被打挂等,提高系统运行的可靠性和稳定性。
可选的,在本说明书的一个或多个实施例中,所述缓存可以被配置为永久有效。这样不会因为缓存失效而导致数据库被击穿,系统被打挂等,提高系统运行的可靠性和稳定性。
下述结合附图5,以本说明书提供的缓存数据处理方法在缓存数据处理的应用为例,对所述缓存数据处理方法进行进一步说明。其中,图5示出了本说明书一实施例提供的一种缓存数据处理方法的处理过程流程图,具体步骤包括步骤S501至步骤S507。
步骤S501:接收事件消息。
具体的,所述事件消息可以包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息等。
步骤S502:判断所述事件消息是否是离线事件消息,若是则转入步骤S506,若否则转至S503执行。
具体的,判断所述事件消息是否是离线事件消息时,可以根据事件消息的发生时间与当前时间的差值来判断,若差值在预设范围内如1秒内可以认为实时消息,进入步骤S503。若超出预设范围则可以认为是离线消息。
步骤S503:根据所述事件消息确定待更新数据。所述待更新数据包括多个数据字段以及各所述数据字段对应的数据。
具体的,例如收到消费支付后存款余额变动的消息等,那么待更新数据可以包括交易时间、交易日期、消费额度、交易后余额等数据字段以及对应的具体数据。
步骤S504:解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据。
具体的,可以从待更新数据中选择部分如目标数据字段的数据更新数据库的缓存。所述目标数据字段可以是用户查询比较频繁的数据字段,或者用户关心的数据字段,本实施例中对此不作限制,可以根据需要设置。不同的事件消息如金融支付消息、医疗支付消息、交通支付消息和生活支付消息对应的目标数据字段也可以不同,但也不限于此,本领域技术人员可以根据具体需求设置。示例的,以上述例子来说,所述待更新数据包括交易时间、交易日期、消费额度、交易后余额等数据字段,确定的目标数据字段可以是消费额度和存款余额。然后据此可以获取相应目标数据字段对应的数据。
步骤S505:根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
具体的,若确定的目标数据字段是消费额度和存款余额,那么可以通过消费额度和存款余额字段下的数据更新数据库的缓存,在具体更新时,消费额度和存款余额字段下的数据可以携带唯一标识以与缓存中的相应数据进行对应,例如同属于一个用户。本实施例中,实施此技术方案,可以减小更新一次缓存的数据量,使得缓存更新效率提高,进而减小对业务造成的影响。
步骤S506:根据所述离线事件消息确定待更新数据。
示例的,所述离线事件消息也可以是金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个,但不限于此。示例的,金融支付消息可以是用户的存款、保险、基金等账户的支付消息,例如消费支付后存款余额变动的消息等。医疗支付消息可以包括但不限于是用户医院或诊所等就诊时的药品等支付信息。交通支付消息可以包括但不限于是用户购买车票、机票、高铁票时的支付信息。生活支付消息可以包括但不限于是用户日常购物消费的信息等。
步骤S507:将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对。
具体的,例如收到消费支付后存款余额变动的消息等,那么待更新数据可以包括交易时间、交易日期、消费额度、交易后余额等数据。所述待更新数据可以包含用户标识,以与缓存中的对应用户的数据进行比对。例如将待更新数据中的交易时间、交易日期、消费额度、交易后余额与缓存中的对应用户的当前数据如交易时间、交易日期、消费额度、交易后余额进行比对。
步骤S508:根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
具体的,例如比对后确定待更新数据中消费额度和交易后余额发生变化,即变更数据,且交易时间晚于缓存中当前数据的交易时间,则可以根据该待更新数据中的变更数据更新缓存。
进一步的,步骤S508中可以根据比对结果确定变更数据后,确定所述变更数据的数据量。也即在对离线事件消息处理时,本实施例中可以确定对应的待更新数据的变更数据的数据量。之后,在确定所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存。其中所述灰度更新表示局部部分数据更新。具体的灰度更新过程可以参考前述实施例中的详细描述,此处不再赘述。
本实施例中确定变更数据的数量后,可以根据数据量来灰度更新缓存,通过离线灰度更新,可以实现相对地快速更新,以在一定程度上提高处理效率,降低对业务的影响。
与上述方法实施例相对应,本说明书还提供了缓存数据处理装置实施例,图6示出了本说明书一实施例提供的一种缓存数据处理装置的结构示意图。如图6所示,该缓存数据处理装置600可以包括信息接收单元601、更新数据确定模块602、目标数据确定模块603和数据更新模块604。
其中,所述信息接收单元601,被配置为接收事件消息;
所述更新数据确定模块602,被配置为根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
所述目标数据确定模块603,被配置为解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
所述数据更新模块604,被配置为根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
本实施例缓存数据处理装置600在大并发请求访问数据的情况下,例如百万级以上的情况下,可以从待更新数据中选择部分如目标数据字段的数据更新数据库的缓存,减小更新一次缓存的数据量,使得缓存更新效率提高,进而减小对业务造成的影响,减少甚至避免太多无效更新,从而减少或避免引起的数据库未知问题,提高数据库系统工作稳定性。
在本说明书的一个或多个实施例中,所述信息接收单元601,进一步被配置为接收离线事件消息。所述更新数据确定模块602,进一步被配置为根据所述离线事件消息确定待更新数据。所述装置还包括数据比对模块(图未示),被配置为将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对。所述数据更新模块604,进一步被配置为根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,所述装置还可以包括数据转换模块(图未示),被配置为将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息。所述更新数据确定模块602,进一步被配置根据所述具有预设数据格式的消息确定待更新数据。
在本说明书的一个或多个实施例中,所述事件消息和/或离线事件消息可以包括但不限于金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
在本说明书的一个或多个实施例中,所述装置还可以包括灰度更新模块(图未示),被配置为确定所述变更数据的数据量,在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存。其中,所述灰度更新表示局部部分数据更新。
在本说明书的一个或多个实施例中,所述灰度更新模块,进一步被配置为:根据所述变更数据的数据量确定灰度更新的比例值;根据所述比例值从所述变更数据中确定对应的子变更数据;根据所述子变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,所述装置还可以包括备份模块(图未示),被配置为将所述缓存备份至所述数据库中以形成缓存副本。所述数据更新模块604,进一步可以被配置在所述缓存更新时,同时更新所述缓存副本。
在本说明书的一个或多个实施例中,所述缓存可以被配置为永久有效。
上述为本实施例的一种缓存数据处理装置的示意性方案。需要说明的是,该缓存数据处理装置的技术方案与上述的缓存数据处理方法的技术方案属于同一构思,缓存数据处理装置的技术方案未详细描述的细节内容,均可以参见上述缓存数据处理方法的技术方案的描述。
图7示出了根据本说明书一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令:
接收事件消息;
根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
在本说明书的一个或多个实施例中,还包括:
接收离线事件消息,根据所述离线事件消息确定待更新数据;
将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对;
根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息;
根据所述具有预设数据格式的消息确定待更新数据。
在本说明书的一个或多个实施例中,所述事件消息和/或离线事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
在本说明书的一个或多个实施例中,还包括:
确定所述变更数据的数据量;
在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
在本说明书的一个或多个实施例中,所述根据所述变更数据灰度更新所述数据库的缓存的步骤,包括:
根据所述变更数据的数据量确定灰度更新的比例值;
根据所述比例值从所述变更数据中确定对应的子变更数据;
根据所述子变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
将所述缓存备份至所述数据库中以形成缓存副本;
在所述缓存更新时,同时更新所述缓存副本。
在本说明书的一个或多个实施例中,所述缓存被配置为永久有效。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的缓存数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述缓存数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于执行下述方法步骤:
接收事件消息;
根据所述事件消息确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
在本说明书的一个或多个实施例中,还包括:
接收离线事件消息,根据所述离线事件消息确定待更新数据;
将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对;
根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息;
根据所述具有预设数据格式的消息确定待更新数据。
在本说明书的一个或多个实施例中,所述事件消息和/或离线事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
在本说明书的一个或多个实施例中,还包括:
确定所述变更数据的数据量;
在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
在本说明书的一个或多个实施例中,所述根据所述变更数据灰度更新所述数据库的缓存的步骤,包括:
根据所述变更数据的数据量确定灰度更新的比例值;
根据所述比例值从所述变更数据中确定对应的子变更数据;
根据所述子变更数据更新所述数据库的缓存。
在本说明书的一个或多个实施例中,还包括:
将所述缓存备份至所述数据库中以形成缓存副本;
在所述缓存更新时,同时更新所述缓存副本。
在本说明书的一个或多个实施例中,所述缓存被配置为永久有效。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的缓存数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述缓存数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (16)
1.一种缓存数据处理方法,所述方法包括:
接收事件消息,所述事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个类型的消息;
根据所述事件消息的类型确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
2.根据权利要求1所述方法,还包括:
接收离线事件消息,根据所述离线事件消息确定待更新数据;
将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对;
根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
3.根据权利要求2所述方法,还包括:
将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息;
根据所述具有预设数据格式的消息确定待更新数据。
4.根据权利要求3所述方法,所述离线事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
5.根据权利要求3所述方法,还包括:
确定所述变更数据的数据量;
在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
6.根据权利要求5所述方法,所述根据所述变更数据灰度更新所述数据库的缓存的步骤,包括:
根据所述变更数据的数据量确定灰度更新的比例值;
根据所述比例值从所述变更数据中确定对应的子变更数据;
根据所述子变更数据更新所述数据库的缓存。
7.根据权利要求1至6任一项所述方法,还包括:
将所述缓存备份至所述数据库中以形成缓存副本;
在所述缓存更新时,同时更新所述缓存副本。
8.根据权利要求7所述方法,所述缓存被配置为永久有效。
9.一种缓存数据处理装置,包括:
信息接收单元,被配置为接收事件消息,所述事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个类型的消息;
更新数据确定模块,被配置为根据所述事件消息的类型确定待更新数据,所述待更新数据包括多个数据字段以及各所述数据字段对应的数据;
目标数据确定模块,被配置为解析所述待更新数据,根据所述多个数据字段从所述待更新数据中确定与所述事件消息对应的目标数据字段的数据;
数据更新模块,被配置为根据所述目标数据字段的数据更新数据库的缓存中的相应数据。
10.根据权利要求9所述装置,所述信息接收单元,进一步被配置为接收离线事件消息;
所述更新数据确定模块,进一步被配置为根据所述离线事件消息确定待更新数据;
数据比对模块,被配置为将所述离线事件消息对应的待更新数据与所述缓存中的数据进行比对;
所述数据更新模块,进一步被配置为根据比对结果确定变更数据,以所述变更数据更新所述数据库的缓存。
11.根据权利要求10所述装置,还包括:
数据转换模块,被配置为将所述事件消息和/或离线事件消息转换为具有预设数据格式的消息;
所述更新数据确定模块,进一步被配置根据所述具有预设数据格式的消息确定待更新数据。
12.根据权利要求11所述装置,所述离线事件消息包括金融支付消息、医疗支付消息、交通支付消息和生活支付消息中的一个或多个。
13.根据权利要求11所述装置,还包括灰度更新模块,被配置为:
确定所述变更数据的数据量;
在所述数据量大于预设阈值时,根据所述变更数据灰度更新所述数据库的缓存;其中,所述灰度更新表示局部部分数据更新。
14.根据权利要求13所述装置,所述灰度更新模块,进一步被配置为:
根据所述变更数据的数据量确定灰度更新的比例值;
根据所述比例值从所述变更数据中确定对应的子变更数据;
根据所述子变更数据更新所述数据库的缓存。
15.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令以实现权利要求1至8任意一项所述缓存数据处理方法的步骤。
16.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至8任意一项所述缓存数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339850.XA CN111241118B (zh) | 2020-04-26 | 2020-04-26 | 缓存数据处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339850.XA CN111241118B (zh) | 2020-04-26 | 2020-04-26 | 缓存数据处理方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111241118A CN111241118A (zh) | 2020-06-05 |
CN111241118B true CN111241118B (zh) | 2020-10-16 |
Family
ID=70880805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010339850.XA Active CN111241118B (zh) | 2020-04-26 | 2020-04-26 | 缓存数据处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111241118B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302895B (zh) * | 2015-10-21 | 2018-11-27 | 浪潮通用软件有限公司 | 一种数据缓存同步方法、服务器和客户端 |
CN106020736B (zh) * | 2016-06-08 | 2019-02-12 | 重庆大学 | 一种内存文件系统中的数据一致性更新方法 |
CN106204000A (zh) * | 2016-07-05 | 2016-12-07 | 康存乐付保数据科技(上海)有限公司 | 一种服务消费支付信息处理方法及系统 |
US20180159950A1 (en) * | 2016-12-06 | 2018-06-07 | Muthukrishnan Govindaraj | Method for creating cache to e-commerce application in mobile device |
CN110060036B (zh) * | 2019-03-29 | 2023-01-10 | 宝付网络科技(上海)有限公司 | 一种拆分记账方法、账务系统及支付系统 |
-
2020
- 2020-04-26 CN CN202010339850.XA patent/CN111241118B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111241118A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134516B (zh) | 金融数据处理方法、装置、设备及计算机可读存储介质 | |
CN112348081B (zh) | 用于图像分类的迁移学习方法、相关装置及存储介质 | |
CN110489622B (zh) | 对象信息的分享方法、装置、计算机设备和存储介质 | |
CN110555749B (zh) | 基于神经网络的信用行为预测方法以及装置 | |
CA2852948C (en) | System and method for optimizing the loading of data submissions | |
CN111949324A (zh) | 一种分布式序列号生成方法和装置 | |
CN111047048B (zh) | 赋能模型训练及商户赋能方法、装置、电子设备 | |
CN111241118B (zh) | 缓存数据处理方法以及装置 | |
CN117334308A (zh) | 医疗信息处理方法、装置、设备及存储介质 | |
CN109241249B (zh) | 一种确定突发问题的方法及装置 | |
CN112597163A (zh) | 数据处理系统、方法及装置 | |
CN117035416A (zh) | 企业风险评估方法、企业风险评估装置、设备及存储介质 | |
US20130046560A1 (en) | System and method for deterministic and probabilistic match with delayed confirmation | |
CN116303657A (zh) | 群体画像生成方法、装置、计算机设备和存储介质 | |
AU2018214157A1 (en) | A novel multiclass architecture for experience targeting using bayesian approach | |
CN110020728B (zh) | 业务模型强化学习方法以及装置 | |
CN110046975B (zh) | 一种记账方法及装置、计算设备和计算机存储介质 | |
CN110163761B (zh) | 基于图像处理的可疑项目成员识别方法及装置 | |
CN112862693A (zh) | 图片处理方法及装置 | |
CN107247796B (zh) | 客户头像加载方法、装置及终端设备 | |
CN111240869B (zh) | 缓存处理方法以及装置 | |
CN116522911B (zh) | 实体对齐方法及装置 | |
CN114841570B (zh) | 用于客户关系管理系统的数据处理方法、装置、设备及介质 | |
CN115037655B (zh) | 压测方法和系统 | |
CN111383028B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |