CN114780565A - 缓存的更新方法和装置、存储介质及电子装置 - Google Patents

缓存的更新方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN114780565A
CN114780565A CN202210435642.9A CN202210435642A CN114780565A CN 114780565 A CN114780565 A CN 114780565A CN 202210435642 A CN202210435642 A CN 202210435642A CN 114780565 A CN114780565 A CN 114780565A
Authority
CN
China
Prior art keywords
service
updating
business
local cache
interface
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
Application number
CN202210435642.9A
Other languages
English (en)
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.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home 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 Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202210435642.9A priority Critical patent/CN114780565A/zh
Publication of CN114780565A publication Critical patent/CN114780565A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database 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

缓存的更新方法和装置、存储介质及电子装置
技术领域
本申请涉及智慧家庭领域,具体而言,涉及一种缓存的更新方法和装置、存储介质及电子装置。
背景技术
目前在业界解决JAVA服务端HTTP查询接口高并发响应效率以及吞吐量问题的方案多级缓存,本地内存使用为多级缓存中不可或缺的一部分。目前常用的本地缓存方案有ECache、Guava Cache等。但是,目前市面上已存在内存缓存插件在无法做到定时更新缓存的功能,其次无法配合业务服务接口参数进行缓存存储及更新,需要技术人员耗费大量的精力进行编码实现。
针对相关技术中,无法根据业务服务的接口参数对本地缓存类进行缓存的有效更新等问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种缓存的更新方法和装置、存储介质及电子装置,以至少解决相关技术中,无法根据业务服务的接口参数对本地缓存类进行缓存的有效更新等问题。
根据本发明的一个实施例,提供了一种缓存的更新方法,包括:获取业务服务对应的接口参数;根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式,包括:获取所述服务器中对于客户端发送的请求信息的校验结果;其中,所述请求信息用于调用所述业务服务生成的业务数据;在所述请求信息校验失败的情况下,禁止当前客户端对所述业务数据的调用;在所述请求信息校验成功的情况下,确定当前客户端待调用的所述业务数据的数据类型,并从所述服务器的预设执行列表中匹配出所述数据类型的用于进行本地缓存类更新的目标执行方式。
在一个示例性实施例中,获取业务服务对应的接口参数之后,上述方法还包括:将所述接口参数与预设接口参数集合进行匹配;其中,所述预设接口参数集合为预先配置的包括多组业务接口与所述业务接口对应接口参数的集合;在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息。
在一个示例性实施例中,在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息之后,上述方法还包括:确定所述提示信息的出现次数;在所述出现次数大于预设阈值的情况下,生成告警信息,其中,所述告警信息用于指示当前操作对象对业务服务进行接入校验。
在一个示例性实施例中,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新,包括:根据所述目标执行方式对所述业务服务进行业务逻辑读取,得到所述业务数据的实时业务数据;通过所述实时业务数据替换所述本地缓存类中的业务数据,以完成对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新之后,上述方法还包括:获取所述目标编码的有效周期,其中,所述有效周期用于指示允许通过目标编码访问数据库的时长;统计通过所述目标执行方式对所述本地缓存类进行更新的更新时长;在所述更新时长大于所述有效周期的情况下,重新确定所述目标编码对应的目标执行方式。
在一个示例性实施例中,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新之前,上述方法还包括:确定所述本地缓存类中是否存在已成功缓存的业务数据;在所述本地缓存类中不存在已成功缓存的业务数据的情况下,对所述业务服务的数据库进行访问操作,或调用所述业务服务预设的第三方接口执行获取操作;通过所述访问操作或所述获取操作的操作结果对所述本地缓存类进行数据填充。
根据本发明的另一个实施例,提供了一种缓存的更新装置,包括:获取模块,用于获取业务服务对应的接口参数;第一确定模块,用于根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;第二确定模块,用于从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;更新模块,用于通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,上述第二确定模块,还用于获取所述服务器中对于客户端发送的请求信息的校验结果;其中,所述请求信息用于调用所述业务服务生成的业务数据;在所述请求信息校验失败的情况下,禁止当前客户端对所述业务数据的调用;在所述请求信息校验成功的情况下,确定当前客户端待调用的所述业务数据的数据类型,并从所述服务器的预设执行列表中匹配出所述数据类型的用于进行本地缓存类更新的目标执行方式。
在一个示例性实施例中,上述装置还包括:匹配模块,用于将所述接口参数与预设接口参数集合进行匹配;其中,所述预设接口参数集合为预先配置的包括多组业务接口与所述业务接口对应接口参数的集合;在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息。
在一个示例性实施例中,上述匹配模块还包括:告警单元,用于确定所述提示信息的出现次数;在所述出现次数大于预设阈值的情况下,生成告警信息,其中,所述告警信息用于指示当前操作对象对业务服务进行接入校验。
在一个示例性实施例中,上述更新模块,还用于根据所述目标执行方式对所述业务服务进行业务逻辑读取,得到所述业务数据的实时业务数据;通过所述实时业务数据替换所述本地缓存类中的业务数据,以完成对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,上述装置还包括:统计模块,用于获取所述目标编码的有效周期,其中,所述有效周期用于指示允许通过目标编码访问数据库的时长;统计通过所述目标执行方式对所述本地缓存类进行更新的更新时长;在所述更新时长大于所述有效周期的情况下,重新确定所述目标编码对应的目标执行方式。
在一个示例性实施例中,上述方法还包括:第三确定模块,用于确定所述本地缓存类中是否存在已成功缓存的业务数据;在所述本地缓存类中不存在已成功缓存的业务数据的情况下,对所述业务服务的数据库进行访问操作,或调用所述业务服务预设的第三方接口执行获取操作;通过所述访问操作或所述获取操作的操作结果对所述本地缓存类进行数据填充。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,获取业务服务对应的接口参数;根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。也就是说,通过确定业务服务对应的接口参数,基于业务服务对应的接口参数确定出目标编码,并在服务器的预设执行列表中确定出目标编码对应的目标执行方式,使用目标执行方式对业务服务对应的本地缓存类进行缓存的有效更新,实现了接口缓存无感定时缓存更新功能,因此,可以解决现有技术中无法根据业务服务的接口参数对本地缓存类进行缓存的有效更新等问题,实现了已极低的代码实现业务接口缓存能力,大量减少技术人员工作量,提高了工作效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种缓存的更新方法的硬件环境示意图;
图2是根据本发明实施例的缓存的更新方法的流程图;
图3是根据本发明可选实施例的业务接口进程内缓存工具的类结构示意图;
图4是根据本发明可选实施例的根据业务进行缓存数据定时更新的时序图;
图5是根据本发明实施例的缓存的更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种缓存的更新方法。该缓存的更新方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(IntelligenceHouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述缓存的更新方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
在本实施例中提供了一种缓存的更新方法,图2是根据本发明实施例的缓存的更新方法的流程图,该流程包括如下步骤:
步骤S202,获取业务服务对应的接口参数;
步骤S204,根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;
步骤S206,从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式。
步骤S208,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
通过上述步骤,获取业务服务对应的接口参数;根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。也就是说,通过确定业务服务对应的接口参数,基于业务服务对应的接口参数确定出目标编码,并在服务器的预设执行列表中确定出目标编码对应的目标执行方式,使用目标执行方式对业务服务对应的本地缓存类进行缓存的有效更新,实现了接口缓存无感定时缓存更新功能,因此,可以解决现有技术中无法根据业务服务的接口参数对本地缓存类进行缓存的有效更新等问题,实现了已极低的代码实现业务接口缓存能力,大量减少技术人员工作量,提高了工作效率。
可选的,通过对业务服务对应的接口参数进行分解hash操作,并结合开源Java插件LoadingCache在此基础上新增对不同该业务的接口参数进行缓存的支持,且具备根据业务请求参数进行缓存自动刷新的能力,实现了通过简单代码即可实现复杂业务接口的本地缓存功能,对此,本申请不做过多限定。
在一个示例性实施例中,从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式,包括:获取所述服务器中对于客户端发送的请求信息的校验结果;其中,所述请求信息用于调用所述业务服务生成的业务数据;在所述请求信息校验失败的情况下,禁止当前客户端对所述业务数据的调用;在所述请求信息校验成功的情况下,确定当前客户端待调用的所述业务数据的数据类型,并从所述服务器的预设执行列表中匹配出所述数据类型的用于进行本地缓存类更新的目标执行方式。
可以理解的是,为了保证本地缓存类更新的有效性,还可对客户端发送的请求信息进行校验,以保证该客户端执行的业务服务具有本地缓存类更新的权限,继而对通过校验的客户端对应的本地缓存类进行及时更新,使客户端上的服务端接口在高并发场景下无阻塞的更新接口缓存,实现了以极低的编码成本实现接口缓存及缓存动态更新能力,提高了接口的吞吐能力,降低了开发时间成本。
在一个示例性实施例中,获取业务服务对应的接口参数之后,上述方法还包括:将所述接口参数与预设接口参数集合进行匹配;其中,所述预设接口参数集合为预先配置的包括多组业务接口与所述业务接口对应接口参数的集合;在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息。
简单来说,为了保证对业务服务的准确更新,在确定出业务服务对应的接口参数之后,通过与预设接口参数集合进行匹配,对新出现的接口参数进行提示,指示对应的目标对象调整预设接口参数集合,以准确支持对不同该业务接口参数的缓存更新支持,进而使得业务请求参数进行缓存自动刷新的能力,实现了通过简单代码即可实现复杂业务接口的本地缓存功能。
在一个示例性实施例中,在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息之后,上述方法还包括:确定所述提示信息的出现次数;在所述出现次数大于预设阈值的情况下,生成告警信息,其中,所述告警信息用于指示当前操作对象对业务服务进行接入校验。
可以理解的是,当同一提示信息出现多次时,表明当前业务服务对应的接口参数存在兼容性问题,需目标对象的详细校验以及测试,因此,通过告警信息将相关信息提供给目标对象,使目标对象可以更加快速的进入对该接口参数的调整,使得对应业务服务的本地缓存类可以有效的得到更新。
在一个示例性实施例中,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新,包括:根据所述目标执行方式对所述业务服务进行业务逻辑读取,得到所述业务数据的实时业务数据;通过所述实时业务数据替换所述本地缓存类中的业务数据,以完成对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新之后,上述方法还包括:获取所述目标编码的有效周期,其中,所述有效周期用于指示允许通过目标编码访问数据库的时长;统计通过所述目标执行方式对所述本地缓存类进行更新的更新时长;在所述更新时长大于所述有效周期的情况下,重新确定所述目标编码对应的目标执行方式。
作为一种可选的实施例,LocalCache类基于LoadingCache实现,为插件的核心类,支持本地缓存、定时刷新、容量设置,缓存过期时间设置等功能。LocalCacheService.java类为缓存的支撑类,目标对象可通过实现LocalCacheService中execute方法进行业务逻辑取数,LocalCache类会通过LocalCacheService业务实现类中cacheCode(业务缓存唯一编码)识别缓存的业务类并执行execute方法进行业务数据获取与定时刷新功能。
在一个示例性实施例中,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新之前,上述方法还包括:确定所述本地缓存类中是否存在已成功缓存的业务数据;在所述本地缓存类中不存在已成功缓存的业务数据的情况下,对所述业务服务的数据库进行访问操作,或调用所述业务服务预设的第三方接口执行获取操作;通过所述访问操作或所述获取操作的操作结果对所述本地缓存类进行数据填充。
例如,业务接口数据流转由直接查询数据变更为访问缓存获取数据,若缓存无数据时,插件会访问数据库或第三方接口进行数据获取,并且针对相同的请求会进行加锁处理,防止无缓存数据时大量数据访问数据库/三方类库造成的资源浪费与吞吐量降低问题。其次缓存会根据插件初始化时配置的刷新时间定时刷新缓存中的数据。
为了更好的理解上述缓存的更新方法的过程,以下结合几个可选实施例对上述缓存的更新方法流程进行说明。
为了更好的理解本申请,先对相关技术进行简要说明。
(1)EhCache,EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,JavaEE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAPapi等特点。
(2)GuavaCache,guavacache是google开源的一款本地缓存工具库,它的设计灵感来源于ConcurrentHashMap,使用多个segments方式的细粒度锁,在保证线程安全的同时,支持高并发场景需求,同时支持多种类型的缓存清理策略,包括基于容量的清理、基于时间的清理、基于引用的清理等。
需要说明是,上述工具在内存缓存插件在无法做到定时更新缓存的功能,其次无法配合业务服务接口参数进行缓存存储及更新,需要技术人员耗费大量的精力进行编码实现。
作为一种可选的实施例,提出了一种具备自动刷新能力Java服务端业务接口进程内缓存工具,基于JAVA开源的Guava Cache(本地缓存工具库)中LoadingCache内存插件,扩展内存自动刷新功能,使服务端接口在高并发场景下无阻塞的更新接口缓存,实现了接口缓存无感定时缓存更新功能,且实现了以极低的编码成本实现接口缓存及缓存动态更新能力,大量减少技术人员工作量,提高了工作效率,提高了接口的吞吐能力,降低了开发时间成本。
可选的,上述工具通过对业务接口参数进行分解hash操作,并结合开源Java插件LoadingCache在此基础上新增对不同该业务接口参数进行缓存的支持,且具备根据业务请求参数进行缓存自动刷新的能力,实现了通过简单代码即可实现复杂业务接口的本地缓存功能。
图3是根据本发明可选实施例的业务接口进程内缓存工具的类结构示意图;根据IOC(inversion of control,控制反转,简称IOC),基于依赖反转或控制反转,以及与高内聚、低藕合的设计原则进行设计,主要有两个核心Java类:LocalCache.java 32,LocalCacheService.java34。进而业务实现businessService36关联。
具体的,LocalCache类基于LoadingCache实现,为插件的核心类,支持本地缓存、定时刷新、容量设置,缓存过期时间设置等功能。LocalCacheService.java类为缓存的支撑类,目标对象可通过实现LocalCacheService中execute方法进行业务逻辑取数,LocalCache类会通过LocalCacheService业务实现类中cacheCode(业务缓存唯一编码)识别缓存的业务类并执行execute方法进行业务数据获取与定时刷新功能。
可选的,业务接口数据流转由直接查询数据变更为访问缓存获取数据,若缓存无数据时,插件会访问数据库或第三方接口进行数据获取,并且针对相同的请求会进行加锁处理,防止无缓存数据时大量数据访问数据库/第三方类库造成的资源浪费与吞吐量降低问题。其次缓存会根据插件初始化时配置的刷新时间定时刷新缓存中的数据。
可选的,图4是根据本发明可选实施例的根据业务进行缓存数据定时更新的时序图,包含以下步骤:
步骤1、客户端向服务器发送HTTP请求;
步骤2、服务器将HTTP请求分发给LoadingCache内存插件;在LoadingCache内存插件确定本地无数据的情况下,LoadingCache内存插件会访问数据库或第三方接口进行数据获取;
步骤3、将LoadingCache内存插件从数据库或第三方接口获取到的业务数据返回值LoadingCache内存插件中;
可选的,当业务数据返回值LoadingCache内存插件中之后,还可对LoadingCache内存插件的缓存数据进行刷新。
步骤4、同步更新服务器中的数据内容,并将确定出的业务数据返回到客户端中;
需要说明的是,本发明相对于已存在的本地缓存插件,可根据业务接口数据进行缓存,且具备根据业务进行缓存数据定时更新的能力。避免了JAVA技术人员(即目标对象)在开发具有本地缓存功能的业务接口时,需要使用大量的代码实现,若需进行定时更新能力,需要进行额外编码实现,且会造成代码结构复杂,难以运维的情况,降低了开发时间成本。
综上,通过上述设计,通过IOC(依赖反转或控制反转)的设计原则,使本地缓存与业务实现进行了解耦,也充分符合程序设计的高内聚低藕合的设计原则。极大简化了目标对象使用本地缓存的学习成本,使用较少的代码即可使业务接口具备本地缓存能力,插件所支持的缓存定时更新能力可在很大程度上提高接口的吞吐量。业务实现与本地缓存的隔离使业务代码更加的纯粹,简化了代码接口,降低了代码后期运维成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述缓存的更新。
在本实施例中还提供了一种缓存的更新装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的缓存的更新装置的结构框图,如图5所示,该装置包括:
(1)获取模块52,用于获取业务服务对应的接口参数;
(2)第一确定模块54,用于根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;
(3)第二确定模块56,用于从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;
(4)更新模块58,用于通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
通过上述装置,获取业务服务对应的接口参数;根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。也就是说,通过确定业务服务对应的接口参数,基于业务服务对应的接口参数确定出目标编码,并在服务器的预设执行列表中确定出目标编码对应的目标执行方式,使用目标执行方式对业务服务对应的本地缓存类进行缓存的有效更新,实现了接口缓存无感定时缓存更新功能,因此,可以解决现有技术中无法根据业务服务的接口参数对本地缓存类进行缓存的有效更新等问题,实现了已极低的代码实现业务接口缓存能力,大量减少技术人员工作量,提高了工作效率。
在一个示例性实施例中,上述第二确定模块,还用于获取所述服务器中对于客户端发送的请求信息的校验结果;其中,所述请求信息用于调用所述业务服务生成的业务数据;在所述请求信息校验失败的情况下,禁止当前客户端对所述业务数据的调用;在所述请求信息校验成功的情况下,确定当前客户端待调用的所述业务数据的数据类型,并从所述服务器的预设执行列表中匹配出所述数据类型的用于进行本地缓存类更新的目标执行方式。
在一个示例性实施例中,上述装置还包括:匹配模块,用于将所述接口参数与预设接口参数集合进行匹配;其中,所述预设接口参数集合为预先配置的包括多组业务接口与所述业务接口对应接口参数的集合;在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息。
在一个示例性实施例中,上述匹配模块还包括:告警单元,用于确定所述提示信息的出现次数;在所述出现次数大于预设阈值的情况下,生成告警信息,其中,所述告警信息用于指示当前操作对象对业务服务进行接入校验。
在一个示例性实施例中,上述更新模块,还用于根据所述目标执行方式对所述业务服务进行业务逻辑读取,得到所述业务数据的实时业务数据;通过所述实时业务数据替换所述本地缓存类中的业务数据,以完成对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,上述装置还包括:统计模块,用于获取所述目标编码的有效周期,其中,所述有效周期用于指示允许通过目标编码访问数据库的时长;统计通过所述目标执行方式对所述本地缓存类进行更新的更新时长;在所述更新时长大于所述有效周期的情况下,重新确定所述目标编码对应的目标执行方式。
在一个示例性实施例中,上述方法还包括:第三确定模块,用于确定所述本地缓存类中是否存在已成功缓存的业务数据;在所述本地缓存类中不存在已成功缓存的业务数据的情况下,对所述业务服务的数据库进行访问操作,或调用所述业务服务预设的第三方接口执行获取操作;通过所述访问操作或所述获取操作的操作结果对所述本地缓存类进行数据填充。
在本发明的描述中,需要理解的是,术语中“中心”、“上”、“下”、“前”、“后”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或组件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连接”、“相连”应做广义理解,例如,可以是固定连接,也可以是拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以是通过中间媒介间接相连,可以是两个组件内部的连通。当组件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明的具体含义。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取业务服务对应的接口参数;
S2,根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;
S3,从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;
S4,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取业务服务对应的接口参数;
S2,根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;
S3,从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;
S4,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
在一个示例性实施例中,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,在一个示例性实施例中,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种缓存的更新方法,其特征在于,包括:
获取业务服务对应的接口参数;
根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;
从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;
通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
2.根据权利要求1所述缓存的更新方法,其特征在于,从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式,包括:
获取所述服务器中对于客户端发送的请求信息的校验结果;其中,所述请求信息用于调用所述业务服务生成的业务数据;
在所述请求信息校验失败的情况下,禁止当前客户端对所述业务数据的调用;
在所述请求信息校验成功的情况下,确定当前客户端待调用的所述业务数据的数据类型,并从所述服务器的预设执行列表中匹配出所述数据类型的用于进行本地缓存类更新的目标执行方式。
3.根据权利要求1所述缓存的更新方法,其特征在于,获取业务服务对应的接口参数之后,所述方法还包括:
将所述接口参数与预设接口参数集合进行匹配;其中,所述预设接口参数集合为预先配置的包括多组业务接口与所述业务接口对应接口参数的集合;
在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息。
4.根据权利要求3所述缓存的更新方法,其特征在于,在所述接口参数存在无法匹配的参数的情况下,重新获取所述业务服务对应的接口参数,并在可视化显示界面生成提示信息之后,所述方法还包括:
确定所述提示信息的出现次数;
在所述出现次数大于预设阈值的情况下,生成告警信息,其中,所述告警信息用于指示当前操作对象对业务服务进行接入校验。
5.根据权利要求1所述缓存的更新方法,其特征在于,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新,包括:
根据所述目标执行方式对所述业务服务进行业务逻辑读取,得到所述业务数据的实时业务数据;
通过所述实时业务数据替换所述本地缓存类中的业务数据,以完成对所述业务服务的所述本地缓存类进行更新。
6.根据权利要求1所述缓存的更新方法,其特征在于,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新之后,所述方法还包括:
获取所述目标编码的有效周期,其中,所述有效周期用于指示允许通过目标编码访问数据库的时长;
统计通过所述目标执行方式对所述本地缓存类进行更新的更新时长;
在所述更新时长大于所述有效周期的情况下,重新确定所述目标编码对应的目标执行方式。
7.根据权利要求1所述缓存的更新方法,其特征在于,通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新之前,所述方法还包括:
确定所述本地缓存类中是否存在已成功缓存的业务数据;
在所述本地缓存类中不存在已成功缓存的业务数据的情况下,对所述业务服务的数据库进行访问操作,或调用所述业务服务预设的第三方接口执行获取操作;
通过所述访问操作或所述获取操作的操作结果对所述本地缓存类进行数据填充。
8.一种缓存的更新装置,其特征在于,包括:
获取模块,用于获取业务服务对应的接口参数;
第一确定模块,用于根据所述接口参数确定所述业务服务的目标编码,其中,所述目标编码为所述业务服务生成的业务数据在本地缓存类的服务器上的识别码;
第二确定模块,用于从所述服务器的预设执行列表中确定出所述目标编码对应的目标执行方式;
更新模块,用于通过所述目标执行方式对所述业务服务的所述本地缓存类进行更新。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。
CN202210435642.9A 2022-04-24 2022-04-24 缓存的更新方法和装置、存储介质及电子装置 Pending CN114780565A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210435642.9A CN114780565A (zh) 2022-04-24 2022-04-24 缓存的更新方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210435642.9A CN114780565A (zh) 2022-04-24 2022-04-24 缓存的更新方法和装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN114780565A true CN114780565A (zh) 2022-07-22

Family

ID=82432650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210435642.9A Pending CN114780565A (zh) 2022-04-24 2022-04-24 缓存的更新方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN114780565A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115269660A (zh) * 2022-09-26 2022-11-01 平安银行股份有限公司 缓存数据处理方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115269660A (zh) * 2022-09-26 2022-11-01 平安银行股份有限公司 缓存数据处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107995215B (zh) 智能家居设备的控制方法、装置及云平台服务器
CN104937895B (zh) 在无线通信系统中控制访问的方法和设备
CN111464615B (zh) 请求处理方法、装置、服务器及存储介质
CN105282047A (zh) 访问请求处理方法及装置
CN109788027A (zh) 数据同步方法、装置、服务器及计算机存储介质
EP3062544B1 (en) Method, node and system for managing resources of machine type communication application
CN114979158B (zh) 一种资源监控方法、系统、设备及计算机可读存储介质
US20180176745A1 (en) M2m group and notification resource creation and information exchange methods therefor, and storage medium
CN114780565A (zh) 缓存的更新方法和装置、存储介质及电子装置
US20230262507A1 (en) Entities and methods for enabling control of a usage of collected data in multiple analytics phases in communication networks
CN108199882B (zh) 分布式数据库的节点分配方法、装置、储存介质和设备
CN115604088A (zh) 组件集群系统的主备切换方法、装置、设备及存储介质
CN115454851A (zh) 接口回归测试方法、装置、存储介质及电子装置
CN115048392A (zh) 数据的删除方法和装置、存储介质及电子装置
CN114915514A (zh) 意图的处理方法和装置、存储介质及电子装置
WO2016095472A1 (zh) 资源操作请求的处理方法及装置
CN114840557A (zh) 数据的查询方法和装置、存储介质及电子装置
CN112035102A (zh) 数据接口的配置方法及装置、存储介质、电子装置
CN112468609A (zh) 硬件设备的唯一识别码获取方法及系统
CN112564953B (zh) 一种对局远端设备管理的方法和装置及设备
CN110597607B (zh) 异步应用程序的执行方法、装置、存储介质及电子设备
CN112887960B (zh) 一种事件监控方法及装置
CN115145615A (zh) 内存数据刷新方法和装置、存储介质及电子装置
CN114844636A (zh) 访问令牌的更新方法和装置、存储介质及电子装置
CN117743348A (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