CN107026879A - 一种数据缓存方法及后台应用系统 - Google Patents

一种数据缓存方法及后台应用系统 Download PDF

Info

Publication number
CN107026879A
CN107026879A CN201610067951.XA CN201610067951A CN107026879A CN 107026879 A CN107026879 A CN 107026879A CN 201610067951 A CN201610067951 A CN 201610067951A CN 107026879 A CN107026879 A CN 107026879A
Authority
CN
China
Prior art keywords
application system
cache
customer data
background application
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.)
Granted
Application number
CN201610067951.XA
Other languages
English (en)
Other versions
CN107026879B (zh
Inventor
王福军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610067951.XA priority Critical patent/CN107026879B/zh
Publication of CN107026879A publication Critical patent/CN107026879A/zh
Application granted granted Critical
Publication of CN107026879B publication Critical patent/CN107026879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种数据缓存方法和后台应用系统,该方法中后台应用系统获取前台应用系统发送的用于触发后台应用系统开始执行客户会话的服务请求;所述后台应用系统基于所述服务请求开始执行客户会话,并在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据;所述后台应用系统预缓存获取的所述客户数据,以使后续进行业务处理时能够从分布式缓存中读取预缓存的客户数据,优化系统的处理性能。

Description

一种数据缓存方法及后台应用系统
技术领域
本发明涉及通信领域,尤其涉及一种数据缓存方法及后台应用系统。
背景技术
随着网络技术的发展,由操作员或业务员操作,为客户提供业务查询、业务办理、服务请求受理等功能的支撑系统软件广泛被应用,如电信行业的电信业务支撑系统(Business Support System,BSS系统)。该类软件目前大多是浏览器/服务器(Browser/Server,B/S)架构,系统通常划分为前台和后台,前台主要为交互逻辑,基于浏览器运行的操作员界面,实现信息输入、校验、展现等交互体验相关功能;后台主要为业务校验、处理逻辑实现、数据持久化及查询等功能,运行在应用服务器上。
系统进行交互时,每次进行相应业务处理、校验等操作时,都需要从数据库中读取相应数据,并产生数据库磁阵的输入/输出(input/output,I/O)操作。当相应的业务处理和校验等逻辑比较复杂,尤其需要访问大量业务数据时,将因大量磁阵I/O操作而导致服务调用的响应时延急剧恶化,直接影响用户在前台的交互体验与系统吞吐量。
为降低数据库磁阵I/O操作,可采用缓存机制规避大量的数据库磁阵I/O操作,比如本地缓存优化方案和分布式缓存优化方案。本地缓存可在一定程度上优化处理性能,但由于本地缓存的数据不能共享,并不适用于分布式应用环境,并且会占用大量的内存资源,故目前广泛应用分布式缓存优化方案,以在分布式应用系统架构下优化数据库磁阵I/O操作。然而,在应用分布式缓存优化方案进行复杂业务处理逻辑时,往往会有前台交互过程缓慢,处理性能下降的现象发生,服务执行性能较低。
发明内容
本发明实施例提供一种数据缓存方法及后台应用系统,以优化系统的处理性能。
第一方面,提供一种数据缓存方法,该方法中,后台应用系统在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,并预缓存获取的所述客户数据,可以实现在客户会话起始阶段完成缓存的预加载,在需要调用数据时,例如在所述客户会话执行到需要使用所述客户数据的时候,所述后台应用系统获取预缓存的所述客户数据,缓存操作已执行完成,使得后台应用系统可直接从分布式缓存中获取数据,从而可避免过大的系统开销,优化系统的处理性能。
本发明实施例中,后台应用系统可接收前台应用系统发送的服务请求,通过该服务请求触发后台应用系统开始执行客户会话。
可选的,所述服务请求可以是调用客户鉴权服务的请求。
一种可能的设计中,所述后台应用系统在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,包括:所述后台应用系统在开始执行客户会话时,生成触发缓存的事件;所述后台应用系统基于所述事件,调用后台应用系统中的缓存服务从数据库中获取所述客户会话生命周期内需要使用的客户数据。
另一种可能的设计中,本发明实施例中可通过数据访问对象实现对预缓存数据的更新,以保证预缓存的数据与数据库中保存的数据的一致性,具体的更新过程可包括:在所述后台应用系统中的数据访问对象接收到对所述客户数据的更新操作时,通过所述数据访问对象,同步更新预缓存的所述客户数据;其中,所述数据访问对象为操作所述客户数据的接口。
可选的,所述数据访问对象预配置有缓存标记,在同步更新预缓存的所述客户数据前,确定所述数据访问对象预配置有缓存标记。
再一种可能的设计中,为了节省缓存资源,保证缓存资源的持续利用,所述后台应用系统基于所述服务请求开始执行客户会话之后,所述后台应用系统生成缓存清理策略,所述缓存清理策略中包括缓存所述客户会话对应的客户数据所持续时长。所述后台应用系统预缓存获取的所述客户数据之后,所述方法还包括:若缓存所述客户数据的时长达到所述缓存清理策略中包括的时长,则所述后台应用系统清除预缓存的所述客户数据。
可选的,为进一步保证缓存资源的利用率,所述后台应用系统在结束执行客户会话时,清除预缓存的所述客户数据。
第二方面,提供一种后台应用系统,该后台应用系统具有实现上述方法设计中后台应用系统的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块,例如包括获取单元、处理单元和缓存单元,其中:
所述获取单元,用于获取前台应用系统发送的用于触发后台应用系统开始执行客户会话的服务请求;所述处理单元,用于基于所述服务请求开始执行客户会话,并控制所述获取单元在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据;所述缓存单元,用于预缓存所述获取单元获取的所述客户数据。
通过本发明实施例,后台应用系统在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,并预缓存获取的所述客户数据,可以实现在客户会话起始阶段完成缓存的预加载,在需要调用数据时,例如在所述处理单元确定客户会话执行到需要使用所述客户数据的时候,所述获取单元获取预缓存的所述客户数据,此时缓存操作已执行完成,使得后台应用系统可直接从分布式缓存中获取数据,从而可避免过大的系统开销,优化系统的处理性能。
可选的,所述服务请求为调用客户认证鉴权服务的请求。
一种可能的设计中,所述处理单元,采用如下方式控制所述获取单元在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据:
所述处理单元在开始执行客户会话时,生成触发缓存的事件,并控制所述获取单元基于所述事件,调用后台应用系统中的缓存服务从数据库中获取所述客户会话生命周期内需要使用的客户数据。
另一种可能的设计中,所述获取单元,还用于:
在所述处理单元确定后台应用系统中的数据访问对象接收到对所述客户数据的更新操作时,通过所述数据访问对象,同步更新预缓存的所述客户数据;其中,所述数据访问对象为操作所述客户数据的接口,以保证预缓存的数据与数据库中保存的数据的一致性。
可选的,所述数据访问对象预配置有缓存标记。所述处理单元,还用于在所述缓存单元通过所述数据访问对象,同步更新预缓存的所述客户数据之前,确定所述数据访问对象预配置有缓存标记。
再一种可能的设计中,为节省缓存资源,保证缓存资源的持续利用,所述处理单元,还用于:基于所述服务请求开始执行客户会话之后,生成缓存清理策略,所述缓存清理策略中包括缓存所述客户会话对应的客户数据所持续时长,并判断所述客户数据的时长是否达到所述缓存清理策略中包括的时长。
所述缓存单元,还用于:在所述处理单元确定缓存所述客户数据的时长达到所述缓存清理策略中包括的时长时,清除预缓存的所述客户数据。
可选的,所述缓存单元,还用于在预缓存获取的所述客户数据之后,若所述处理单元结束执行客户会话,则清除预缓存的所述客户数据。
第三方面,提供一种后台应用系统,该后台应用系统中可包括一个或者多个应用服务器,用于实现第一方面涉及的数据缓存方法。该应用服务器具有通用的计算机结构,包括处理器和I/O接口,其中,处理器通过I/O接口获取用于触发应用服务器开始执行客户会话的服务请求。处理器基于所述服务请求开始执行客户会话,并在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,预缓存所述客户会话生命周期内的客户数据。
第四方面,提供一种计算机存储介质,用于储存上述后台应用系统所用的计算机软件指令,其包含用于执行上述第一方面涉及的视频质量评价方法所设计的程序。
附图说明
图1为本发明实施例应用的系统架构图;
图2为本发明实施例应用的系统架构中前台、后台和数据库之间的交互时序图;
图3为分布式缓存机制进行优化的系统架构示意图;
图4为采用分布式缓存机制的系统交互时序图;
图5为本发明实施例提供的后台应用系统的结构示意图;
图6为本发明实施例提供的数据缓存方法实施流程图;
图7为本发明实施例提供的数据缓存过程的系统交互时序图;
图8为本发明实施例应用统一的数据访问对象进行客户数据缓存与更新的系统操作时序图;
图9为本发明实施例进行缓存数据清除的系统交互时序图;
图10为本发明实施例进行数据缓存以及服务调用的过程示意图;
图11为本发明实施例提供的后台应用系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。
本发明实施例提供的数据缓存方法及后台应用系统,可应用于图1所示的系统架构,包括前台应用系统、后台应用系统和数据库。前台应用系统中可以包括一个或多个应用服务器,用于完成信息展现、收集及交互处理的功能,通常要调用后台应用系统的服务支撑。后台应用系统中可以包括一个或多个应用服务器,用于提供具体的数据操作及逻辑实现,通常以服务方式提供给请求者调用。图1中前台应用系统基于浏览器运行的操作界面,实现信息输入、校验、展现等,并向后台应用系统发送服务请求,调用后台应用系统的服务执行请求处理及数据读写。后台应用系统响应前台应用系统的服务请求,并实现业务校验、处理逻辑和数据访问等。前台应用系统与后台应用系统进行交互进行相应业务处理、校验等操作时,都需要从数据库中读取相应数据。前台应用系统、后台应用系统和数据库之间的交互时序图可参阅图2所示,用户通过例如浏览器等应用与前台应用系统进行交互1,前台应用系统调用后台应用系统的服务调用1,后台应用系统从数据库中读取数据,进行处理逻辑。用户与前台应用系统进行交互2,前台应用系统调用后台应用系统的服务调用2,后台应用系统从数据库中读取数据,进行校验逻辑,并进行数据持久化。
由图2可知,后台应用系统无论进行处理逻辑还是校验逻辑都需要从数据库中读取数据,图2中是以后台应用系统读取两次数据为例进行说明,若业务处理和校验等逻辑比较复杂,尤其需要访问大量业务数据时,则会进行很多次的数据读取,造成大量的数据库磁阵I/O操作。
为降低数据库磁阵I/O操作,目前广泛使用分布式缓存机制优化数据交互过程,采用的分布式缓存机制进行优化的系统架构示意图可参考图3所示,后台应用系统与分布式缓存进行交互,从分布式缓存中读取数据,而无需从数据库中读取数据,进而避免大量的数据库磁阵I/O操作,系统交互时序图如图4所示。图4中分布式缓存的加载方式分为两种,一种方式是在系统启动时预先将所有客户相关数据缓存在分布式缓存中,另一种方式是按需加载模式,在需要缓存数据时,从数据库中读取数据,并缓存在分布式缓存中。
一般的,后台应用系统处理的数据都是与某个特定客户相关的,通常针对一个客户的业务处理是在较短时间内完成的,考虑系统缓存资源的限制、及数据一致性问题,一般不会主动加载所有客户相关的数据,通常采用按需加载方式,但从数据库中读取数据是性能消耗最大的处理逻辑,因此,对于复杂业务处理逻辑,若采用按需加载方式,则会导致系统开销过大,进而使得前台应用系统交互过程缓慢,处理性能下降。
本发明实施例提供一种能够优化系统开销和处理性能的缓存数据处理方法,基于分布式缓存优化方案,针对每一业务处理,在会话起始阶段完成缓存的预加载,在需要调用数据时,缓存操作已执行完成,使得后台应用系统可直接从分布式缓存中获取数据,从而可避免过大的系统开销,优化系统的处理性能。
本发明实施例提供的数据缓存方法可应用于后台应用系统中,后台应用系统中包括一个或多个应用服务器,用于实现本发明实施例涉及的数据缓存方法。本发明实施例中后台应用系统中包括的一个或多个应用服务器具有通用的计算机结构,图5所示为本发明实施例提供的一种应用服务器100的结构示意图,如图5所示应用服务器100包括处理器101和I/O接口102,其中处理器101和I/O接口102可通过总线103连接。
所述处理器101可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件等。
所述处理器101为CPU时,所述应用服务器100还可以包括:存储器,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。所述处理器101执行所述存储器中存储的程序代码,实现本发明涉及的数据缓存管理功能。
总线103可包括一通路,在计算机各个部件之间传送信息。
本发明实施例中,所述处理器101通过I/O接口102与其它设备组件进行交互,例如可通过I/O接口102获取用于触发应用服务器100开始执行客户会话的服务请求。处理器101基于所述服务请求开始执行客户会话,并在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,预缓存所述客户会话生命周期内的客户数据。
本发明实施例中,应用服务器100可用于实现本发明实施例涉及的数据缓存方法的所有功能,其具体实现过程可以参照以下方法实施例的相关描述。
以下将对本发明实施例涉及的数据缓存方法进行详细说明。
图6所示为本发明实施例提供的数据缓存方法实施流程图,图6所示的方法执行主体可以是后台应用系统。如图6所示,该方法包括:
S101:后台应用系统获取前台应用系统发送的用于触发后台应用系统开始执行客户会话的服务请求。
本发明中所述客户会话是指客户通过正式鉴权后直至通过系统完成一系列的服务请求操作的有效期间。
S102:后台应用系统基于所述服务请求开始执行客户会话,并在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据。
本发明实施例中所述客户会话的生命周期可以理解为是应用预期占用资源的时间。
S103:后台应用系统预缓存所述客户会话生命周期内需要使用的客户数据。
后台应用系统被触发执行客户会话通常是一个新客户后续业务办理的“起点”,本发明实施例中在确定后台应用系统被触发执行客户会话时,预缓存所述客户会话生命周期内需要使用的客户数据,可以保证后续该客户相关业务的服务可以基于缓存执行处理逻辑,例如,在在所述客户会话执行到需要使用所述客户数据的时候,所述后台应用系统获取预缓存的所述客户数据,无需从数据库中访问,也无需进行按需换存,进而可优化系统的处理性能。
客户认证鉴权通常是一个新客户后续业务办理的“起点”,可触发后台应用系统执行客户会话,以下实施例以服务请求为调用客户认证鉴权服务的请求为例进行说明,但并不引以为限。
本发明实施例以下将结合实际应用对本发明实施例涉及的数据缓存过程进行举例说明。本发明实施例中后台应用系统在处理逻辑上可划分为后台服务、事件平台和缓存管理部件,其中,后台服务可以理解为是能够进行信息交互调用的接口,主要用于与其它部件进行交互提供各种服务,例如提供数据缓存服务,再例如与前台应用系统进行交互为前台应用系统提供服务以及与数据库进行交互获取客户数据。事件平台可以理解为是统一处理事件的生成、传递、销毁的应用,用于生成事件。缓存管理部件主要用于实现缓存的管理功能。其中,后台服务、事件平台和缓存管理部件的相应功能可以通过处理器实现。
图7所示为本发明实施例提供的数据缓存过程的系统交互时序图,如图7所示,包括:
S201:客户申请办理业务,操作员在前台应用系统通过浏览器等应用执行客户鉴权操作,触发后台应用系统开始执行客户会话。
S202:前台应用系统收集客户的鉴权数据信息,该鉴权数据信息可包括诸如客户证件类型、证件号码和服务密码等,并调用后台服务的客户认证鉴权服务执行客户鉴权。
S203:后台服务与事件平台进行交互,触发事件平台生成触发缓存的事件,例如生成客户鉴权事件。
S204:缓存管理部件获取客户鉴权事件,确定后台应用系统已被触发开始执行客户会话。
S205:缓存管理部件与后台服务进行交互,调用后台应用系统中的缓存服务。
可选的,本发明实施例中缓存管理部件可向事件平台发送订阅请求,事件可以理解为是一种有业务语义的“消息”。所述订阅请求用于请求事件平台在生成客户鉴权事件的情况下,向所述缓存管理部件发送表征客户鉴权事件已生成的通知消息。
缓存管理部件通过所述通知消息,可获取到客户鉴权事件,进而确定后台应用系统已被触发开始执行客户会话。
S206:本发明实施例中后台服务提供客户数据的缓存服务。后台服务与数据库进行交互,从数据库中获取进行认证鉴权的客户在整个会话生命周期内的客户数据。
S207:后台服务与分布式缓存进行交互,在分布式缓存中预缓存所述客户数据。
本发明实施例中提供的数据预缓存方法相对按需加载模式,将缓存数据的时机提前了,然而从缓存到需要使用数据这段时间内,数据库中存储的客户数据可能会发生变化,进而造成分布式缓存中预缓存的客户数据与数据库中的客户数据不一致,故本发明实施例中提供一种基于数据访问对象对预缓存的客户数据进行更新的机制,以保证分布式缓存中预缓存的客户数据与数据库中的客户数据的一致性。
本发明实施例中所述数据访问对象(Data Access Objects,DAO)是第一个面向对象的接口,指执行数据访问操作的对象,一般根据具体操作的数据类型不同,可能会有不通过的数据访问对象,例如,可以有客户数据访问对象、账号数据访问对象、用户数据访问对象和实例数据访问对象。本发明实施例中基于数据访问对象对客户数据进行操作,即指针对数据、更新和查询等操作都通过数据访问对象进行操作。换言之,客户会话的整个生命周期内每次对数据库的访问都会通过数据访问对象。本发明实施例中可通过在开发数据访问对象时,为数据访问对象预先设置缓存标记,所述缓存标记用于标识需要缓存客户数据,即当数据访问对象设置有缓存标记的情况下,表征所有通过该数据访问对象进行操作的客户数据都需要缓存,在客户会话的任何一个环节中对数据库进行访问时,同步更新预缓存的所述客户会话生命周期内的客户数据,以保证预缓存的客户数据的一致性。
本发明实施例中可为客户会话需要使用的客户数据设置对应的数据访问对象,即设置访问所述客户会话生命周期内需要使用的客户数据的接口,并为该数据访问对象设置缓存标记。
可选的,本发明实施例中可根据客户会话生命周期内需要使用的客户数据的数据类型,对同一类型数据设置统一的一个数据访问对象,例如对于客户数据设置一个客户数据访问对象、账号数据设置一个账号数据访问对象。
本发明实施例中,在所述后台应用系统中的数据访问对象接收到对所述客户数据的更新操作时,通过所述数据访问对象,同步更新预缓存的所述客户数据;其中,所述数据访问对象为操作所述客户数据的接口。
本发明实施例以下以数据访问对象接收到的对客户数据的更新操作为后台应用系统接收到的对客户数据的操作请求为例进行说明,该操作请求可以是由独立于所述后台应用系统的其它系统发送,也可以是在执行客户会话期间由所述后台应用系统发送。后台应用系统接收对所述客户会话需要使用的客户数据的操作请求,通过与所述客户数据对应的数据访问对象,对所述客户会话需要使用的客户数据基于所述操作请求执行操作,并依据对所述客户会话需要使用的客户数据执行的操作,更新预缓存的客户数据。其中,依据对所述客户会话需要使用的客户数据执行的操作,更新预缓存的客户数据,可以包括如下几种方式。例如,若操作请求为在数据库中新建数据,且数据访问对象设置有缓存标记,则更新预缓存的客户数据可以理解为是在分布式缓存中缓存数据库中新建的客户数据。若操作请求为在数据库中对所述客户会话的客户数据更新,且数据访问对象设置有缓存标记,则更新预缓存的客户数据可以理解为是将分布式缓存中预缓存的所述客户会话生命周期内的客户数据替换为数据库更新后的客户数据。
本发明实施例中应用数据访问对象对预缓存的客户数据进行更新的系统操作时序图,如图8所示,包括:
S301:用户向后台服务发送服务请求,请求后台应用系统对所述客户会话需要使用的客户数据执行相关的数据操作,如新建客户资料、更新客户资料、查询客户资料等。
S302:如果用户发送的服务请求是新建客户资料数据操作的操作请求,则后台服务通过与所述客户数据对应的数据访问对象执行客户资料数据新建操作。
S303:数据访问对象调用数据库生成客户资料数据,并保存到数据库中。
S304:数据访问对象读取数据访问对象的缓存标记,若数据访问对象中存在用于标识进行数据缓存的缓存标记,则所述数据访问对象将所述客户资料数据缓存到分布式缓存中。
S305:如果用户发送的服务请求是更新客户资料数据操作的操作请求,则后台服务通过与所述客户数据对应的数据访问对象执行客户资料数据更新操作。
S306:数据访问对象调用数据库更新客户资料数据,并将更新后的数据保存到数据库中。
S307:数据访问对象确定数据库中的客户数据更新成功,且确定数据访问对象中存在用于标识进行数据缓存的缓存标记,所述数据访问对象更新分布式缓存中缓存的所述客户资料数据。
本发明实施例中进行数据查询等操作,也是可通过为客户会话需要使用的客户数据设置的数据访问对象进行,可参阅图8中查询的步骤,包括:
S308:如果用户发送的服务请求是查询客户资料的操作请求,则后台服务通过与所述客户数据对应的数据访问对象执行客户资料数据查询操作。
S309:若确定数据访问对象中设置有缓存标记,则首先从分布式缓存中查询客户资料数据,如果分布式缓存中已缓存客户资料数据,则返回相应数据,如果分布式缓存中未缓存客户资料数据,则从数据库中读取客户资料数据,并在分布式缓存中缓存相应的客户资料数据。
本发明实施例上述通过为客户会话需要使用的客户数据设置数据访问对象,能够使得在客户会话期间对数据的访问通过数据访问对象进行相应的操作,并为数据访问对象预先配置用于标识需要缓存客户数据的缓存标记,使得每次对客户数据操作后的数据都能及时更新到分布式缓存中,对分布式缓存中预缓存的客户数据进行更新,能够保证缓存的客户数据与数据库中保存的数据的一致性。
本发明上述实施例中对客户数据进行预缓存是针对每一客户会话分别进行缓存的,故若将全部会话的客户数据都进行缓存将占用大量的缓存资源,本发明实施例中为保证缓存资源持续可用,优化缓存资源利用率,可在缓存资源失效,例如客户会话已完成,不需要再读取缓存数据的情况下,清除分布式缓存中缓存的客户数据。
本发明实施中可在确定后台应用系统被触发开始执行客户会话之后,即进行预缓存客户数据时,生成缓存清理策略,在该缓存清理策略中包括缓存所述客户会话对应的客户数据所持续时长,在缓存所述客户数据的时长达到所述缓存清理策略中包括的时长情况下,清除缓存的所述客户数据。
缓存清理策略中包括的时长,可根据不同的缓存对象设置不同的时长,该时长可以是大于客户会话生命周期的时长。
本发明实施例中为进一步优化缓存资源的利用率,可无需按照缓存清理策略中包括的时长进行缓存数据的清除,可在业务结束时,清除缓存的数据。
图9所示为本发明实施例提供的进行缓存数据清除的系统交互时序图,如图9所示,包括:
S401:缓存管理部件获取进行缓存数据清除的触发请求。
本发明实施例中缓存管理部件可依据实际情况选择是否进行缓存数据的清除,例如在缓存资源比较紧张的情况下,缓存管理自己可订阅在缓存资源少于特定值的情况下,清除缓存数据的订阅请求,在缓存资源满足要求时,由定时器发出触发请求,触发缓存管理部件进行缓存数据的清除。
本发明实施例中S401为可选步骤。
S402:缓存管理部件从数据库中获取到预先生成的缓存清理策略。
S403:缓存管理部件判断当前分布式缓存中缓存的客户数据是否满足清除条件,例如计算缓存所述客户数据的时长是否达到所述缓存清理策略中包括的时长,若是,则清除分布式缓存中缓存的该达到时长的客户数据。
需要说明的,本发明实施例中缓存清理策略中还可包括诸如缓存对象、缓存数据实例关键值等信息,进行是否满足清除条件判断时,可综合缓存清理策略中具体包括的内容进行判断。
可选的,本发明实施例中在业务结束的情况下,可由后台应用系统触发事件平台生成业务结束事件,事件平台发送业务结束指示,缓存管理部件获取到事件平台发送的业务结束指示后,清除分布式缓存中相应的客户数据,具体实现如图9所示,包括:
S404:后台应用系统执行的客户会话对应的相应业务执行结束时,后台服务触发事件平台生成业务结束事件。
S405:缓存管理部件接收业务结束指示。
S406:缓存管理部件根据所述业务结束指示所指示的业务,清除分布式缓存中相应的客户数据。
本发明实施例中可设置定时任务进行缓存数据的清除,缓存管理部件定期启动缓存清除,可保证缓存资源的持续利用。进一步的,可根据业务结束指示进行缓存数据的清除,例如复杂的订单业务执行结束时,清除缓存的客户数据,能够进一步保证缓存资源的利用率。
本发明实施例中,针对复杂业务场景,可根据缓存资源实际情况选择是否进行缓存资源的优化,若启用缓存资源优化策略,则后台应用系统在需要进行缓存的客户数据清除时,根据相应客户标识执行相应的数据清理策略,保证缓存在优先满足了复杂业务场景的前提下,及时清理。
应用本发明实施例提供的数据缓存处理方法进行数据缓存以及服务调用的过程示意图如图10所示。图10中是以触发后台应用系统开始执行客户会话的触发事件为客户鉴权事件为例进行说明的。如图10所示,在前台应用系统发起认证鉴权操作时,实现将客户数据预缓存到分布式缓存中,主要过程包括前台应用系统发起认证鉴权,并调用后台应用系统的鉴权服务,鉴权服务查询数据库执行鉴权操作并触发生成客户鉴权事件,后台应用系统调用相应程序实现客户数据的预缓存,还可生成数据缓存清理策略,该缓存清理策略例如是客户标识为11000000009000001的客户,1小时后执行资料数据的缓存清理。
当完成客户数据的预缓存后,后续相应业务处理过程中,由于在分布式缓存中已完成相应数据的预缓存,故可从分布式缓存中读取相应的数据,如图10中,处理业务a、业务b和业务c时,在前台应用系统执行相应的操作,调用后台应用系统的服务,后台应用系统的服务从分布式缓存中读取相应业务的客户数据,完成相应的业务处理。
基于上述实施例提供的数据缓存方法,本发明实施例还提供一种后台应用系统200。图11所示为本发明实施例提供的后台应用系统200的结构示意图,如图11所示,后台应用系统200包括获取单元201、处理单元202和缓存单元203,其中:
所述获取单元201,用于获取前台应用系统发送的用于触发后台应用系统开始执行客户会话的服务请求。
所述处理单元202,用于基于所述服务请求开始执行客户会话,并控制所述获取单元201在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据。
所述缓存单元203,用于预缓存所述获取单元201获取的所述客户数据。
通过本发明实施例,后台应用系统200在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,并预缓存获取的所述客户数据,可以实现在客户会话起始阶段完成缓存的预加载,在需要调用数据时,缓存操作已执行完成,使得后台应用系统可直接从分布式缓存中获取数据,从而可避免过大的系统开销,优化系统的处理性能。
可选的,所述服务请求为调用客户认证鉴权服务的请求。
可选的,所述处理单元202,可采用如下方式控制所述获取单元201在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据:所述处理单元202在开始执行客户会话时,生成触发缓存的事件,并控制所述获取单元201基于所述事件,调用后台应用系统中的缓存服务从数据库中获取所述客户会话生命周期内需要使用的客户数据。
可选的,所述获取单元,还用于:在所述处理单元确定客户会话执行到需要使用所述客户数据的时候,获取预缓存的所述客户数据,使得后台应用系统可直接从分布式缓存中获取数据,从而可避免过大的系统开销,优化系统的处理性能。
为保证预缓存的数据与数据库中保存的数据的一致性,所述缓存单元203,还用于:
在所述处理单元202确定后台应用系统中的数据访问对象接收到对所述客户数据的更新操作时,通过所述数据访问对象,同步更新预缓存的所述客户数据;其中,所述数据访问对象为操作所述客户数据的接口。
可选的,所述数据访问对象预配置有缓存标记。所述处理单元202,还用于:在所述缓存单元203通过所述数据访问对象,同步更新预缓存的所述客户数据之前,确定所述数据访问对象预配置有缓存标记。
为节省缓存资源,保证缓存资源的持续利用,所述处理单元202,还用于:基于所述服务请求开始执行客户会话之后,生成缓存清理策略,所述缓存清理策略中包括缓存所述客户会话对应的客户数据所持续时长,并判断所述客户数据的时长是否达到所述缓存清理策略中包括的时长。
所述缓存单元203,还用于:在所述处理单元202确定缓存所述客户数据的时长达到所述缓存清理策略中包括的时长时,清除预缓存的所述客户数据。
可选的,所述缓存单元203,还用于在预缓存获取的所述客户数据之后,若所述处理单元202结束执行客户会话,则清除预缓存的所述客户数据。
本发明实施例提供的后台应用系统200可用于实现上述实施例涉及的数据缓存方法,具备上述实施例实现数据缓存过程中的所有功能,其具体实现过程可参阅上述实施例及相关附图的描述,在此不再赘述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种数据缓存方法,其特征在于,包括:
后台应用系统获取前台应用系统发送的用于触发后台应用系统开始执行客户会话的服务请求;
所述后台应用系统基于所述服务请求开始执行客户会话,并在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据;
所述后台应用系统预缓存获取的所述客户数据。
2.如权利要求1所述的方法,其特征在于,所述后台应用系统在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据,包括:
所述后台应用系统在开始执行客户会话时,生成触发缓存的事件;
所述后台应用系统基于所述触发缓存的事件,调用后台应用系统中的缓存服务从数据库中获取所述客户会话生命周期内需要使用的客户数据。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述客户会话执行到需要使用所述客户数据的时候,所述后台应用系统获取预缓存的所述客户数据。
4.如权利要求1至3任一项所述的方法,其特征在于,所述后台应用系统预缓存获取的所述客户数据之后,所述方法还包括:
在所述后台应用系统中的数据访问对象接收到对所述客户数据的更新操作时,通过所述数据访问对象,同步更新预缓存的所述客户数据;
其中,所述数据访问对象为操作所述客户数据的接口。
5.如权利要求4所述的方法,其特征在于,在同步更新预缓存的所述客户数据前,所述方法还包括:
确定所述数据访问对象预配置有缓存标记。
6.如权利要求1至5任一项所述的方法,其特征在于,所述后台应用系统基于所述服务请求开始执行客户会话之后,所述方法还包括:
所述后台应用系统生成缓存清理策略,所述缓存清理策略中包括缓存所述客户会话对应的客户数据所持续时长;
所述后台应用系统预缓存获取的所述客户数据之后,所述方法还包括:
若缓存所述客户数据的时长达到所述缓存清理策略中包括的时长,则所述后台应用系统清除预缓存的所述客户数据。
7.如权利要求1至6任一项所述的方法,其特征在于,所述后台应用系统预缓存获取的所述客户数据之后,所述方法还包括:
所述后台应用系统在结束执行客户会话时,清除预缓存的所述客户数据。
8.如权利要求1至7任一项所述的方法,其特征在于,所述服务请求为调用客户认证鉴权服务的请求。
9.一种后台应用系统,其特征在于,包括获取单元、处理单元和缓存单元,其中:
所述获取单元,用于获取前台应用系统发送的用于触发后台应用系统开始执行客户会话的服务请求;
所述处理单元,用于基于所述服务请求开始执行客户会话,并控制所述获取单元在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据;
所述缓存单元,用于预缓存所述获取单元获取的所述客户数据。
10.如权利要求9所述的后台应用系统,其特征在于,所述处理单元,采用如下方式控制所述获取单元在开始执行客户会话时从数据库中获取所述客户会话生命周期内需要使用的客户数据:
所述处理单元在开始执行客户会话时,生成触发缓存的事件,并控制所述获取单元基于所述事件,调用后台应用系统中的缓存服务从数据库中获取所述客户会话生命周期内需要使用的客户数据。
11.如权利要求9或10所述的后台应用系统,其特征在于,所述获取单元,还用于:
在所述处理单元确定客户会话执行到需要使用所述客户数据的时候,获取预缓存的所述客户数据。
12.如权利要求9至11任一项所述的后台应用系统,其特征在于,所述缓存单元,还用于:
在所述处理单元确定后台应用系统中的数据访问对象接收到对所述客户数据的更新操作时,通过所述数据访问对象,同步更新预缓存的所述客户数据;
其中,所述数据访问对象为操作所述客户数据的接口。
13.如权利要求12所述的后台应用系统,其特征在于,所述处理单元,还用于:
在所述缓存单元通过所述数据访问对象,同步更新预缓存的所述客户数据之前,确定所述数据访问对象预配置有缓存标记。
14.权利要求9至13任一项所述的后台应用系统,其特征在于,所述处理单元,还用于:
基于所述服务请求开始执行客户会话之后,生成缓存清理策略,所述缓存清理策略中包括缓存所述客户会话对应的客户数据所持续时长,并判断所述客户数据的时长是否达到所述缓存清理策略中包括的时长;
所述缓存单元,还用于:
在所述处理单元确定缓存所述客户数据的时长达到所述缓存清理策略中包括的时长时,清除预缓存的所述客户数据。
15.如权利要求9至14任一项所述的后台应用系统,其特征在于,所述缓存单元,还用于:
在预缓存获取的所述客户数据之后,若所述处理单元结束执行客户会话,则清除预缓存的所述客户数据。
16.如权利要求9至15任一项所述的后台应用系统,其特征在于,所述服务请求为调用客户认证鉴权服务的请求。
CN201610067951.XA 2016-01-30 2016-01-30 一种数据缓存方法及后台应用系统 Active CN107026879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610067951.XA CN107026879B (zh) 2016-01-30 2016-01-30 一种数据缓存方法及后台应用系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610067951.XA CN107026879B (zh) 2016-01-30 2016-01-30 一种数据缓存方法及后台应用系统

Publications (2)

Publication Number Publication Date
CN107026879A true CN107026879A (zh) 2017-08-08
CN107026879B CN107026879B (zh) 2020-04-28

Family

ID=59524095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610067951.XA Active CN107026879B (zh) 2016-01-30 2016-01-30 一种数据缓存方法及后台应用系统

Country Status (1)

Country Link
CN (1) CN107026879B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189813A (zh) * 2018-08-22 2019-01-11 中国建设银行股份有限公司 一种数据共享方法及装置
CN111125168A (zh) * 2019-11-07 2020-05-08 网银在线(北京)科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111522851A (zh) * 2020-04-24 2020-08-11 北京思特奇信息技术股份有限公司 通过缓存临时数据以提高业务受理效率的方法
CN113688338A (zh) * 2020-05-19 2021-11-23 上海惠芽信息技术有限公司 用户数据的处理方法、处理装置及计算机存储介质
CN114579528A (zh) * 2022-04-27 2022-06-03 广州市伍麦信息科技有限公司 基于预缓存的文件快速查阅管理系统
BE1029115B1 (nl) * 2021-02-17 2022-09-12 Calysta Klantportaalsysteem voor diensten met betrekking tot intellectuele eigendom

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088485A (zh) * 2010-12-30 2011-06-08 用友软件股份有限公司 数据获取方法和装置
CN103020233A (zh) * 2012-12-14 2013-04-03 广东欧珀移动通信有限公司 一种快速浏览信息的方法和装置
US20130332417A1 (en) * 2012-06-08 2013-12-12 In Koo Kim Hybrid Client-Server Data Proxy Controller For Software Application Interactions With Data Storage Areas And Method Of Using Same
CN103716343A (zh) * 2012-09-29 2014-04-09 重庆新媒农信科技有限公司 基于数据缓存同步的分布式业务请求处理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088485A (zh) * 2010-12-30 2011-06-08 用友软件股份有限公司 数据获取方法和装置
US20130332417A1 (en) * 2012-06-08 2013-12-12 In Koo Kim Hybrid Client-Server Data Proxy Controller For Software Application Interactions With Data Storage Areas And Method Of Using Same
CN103716343A (zh) * 2012-09-29 2014-04-09 重庆新媒农信科技有限公司 基于数据缓存同步的分布式业务请求处理方法及系统
CN103020233A (zh) * 2012-12-14 2013-04-03 广东欧珀移动通信有限公司 一种快速浏览信息的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189813A (zh) * 2018-08-22 2019-01-11 中国建设银行股份有限公司 一种数据共享方法及装置
CN109189813B (zh) * 2018-08-22 2021-08-13 中国建设银行股份有限公司 一种数据共享方法及装置
CN111125168A (zh) * 2019-11-07 2020-05-08 网银在线(北京)科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111125168B (zh) * 2019-11-07 2023-11-03 网银在线(北京)科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN111522851A (zh) * 2020-04-24 2020-08-11 北京思特奇信息技术股份有限公司 通过缓存临时数据以提高业务受理效率的方法
CN113688338A (zh) * 2020-05-19 2021-11-23 上海惠芽信息技术有限公司 用户数据的处理方法、处理装置及计算机存储介质
BE1029115B1 (nl) * 2021-02-17 2022-09-12 Calysta Klantportaalsysteem voor diensten met betrekking tot intellectuele eigendom
CN114579528A (zh) * 2022-04-27 2022-06-03 广州市伍麦信息科技有限公司 基于预缓存的文件快速查阅管理系统

Also Published As

Publication number Publication date
CN107026879B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN107026879A (zh) 一种数据缓存方法及后台应用系统
CN103064960B (zh) 数据库查询方法及设备
US20090199210A1 (en) Transaction management in a web service messaging environment
CN107483418A (zh) 登录处理方法、业务处理方法、装置及服务器
US20180220292A1 (en) Blockchain-Based Subscription Management
CN108509523A (zh) 区块链数据的结构化处理方法、设备及可读存储介质
CN109087116A (zh) 积分兑换方法、积分交易系统和计算机可读存储介质
CN102624926B (zh) 能力聚合开放的方法和系统
CN107241380B (zh) 用于基于时间调整的负载均衡的方法和设备
CN113489772A (zh) 网络请求处理方法及装置、电子设备
CN112653681B (zh) 多特征融合的用户登录准入方法、装置和系统
CN109086136A (zh) 一种Samba软件的请求处理方法及相关装置
CN106921721A (zh) 一种服务器、会话管理方法和系统
US11477187B2 (en) API key access authorization
CN105224541B (zh) 数据的唯一性控制方法、信息存储方法及装置
CN115017169A (zh) 一种多云管理平台的管理方法及系统
CN108279924A (zh) 程序发布方法及装置
EP2224381A1 (en) Method and apparatus for case-based service composition
CN113114503B (zh) 基于应用交付网络需求的部署方法及装置
CN109947081A (zh) 网联车辆控制方法及装置
CN104104701A (zh) 在线服务的配置更新的方法和系统
CN1649299B (zh) 应用程序综合管理系统、综合通话管理服务器
CN105917694B (zh) 电信网络中的服务提供与激活
US20150120607A1 (en) System and method for customer event email consolidation and delivery
CN110061933A (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