一种数据加载方法、装置及终端制造方法及图纸

技术编号:16587429 阅读:21 留言:0更新日期:2017-11-18 15:00
本发明专利技术涉及一种数据加载方法、装置及终端。该方法包括:步骤1、接收数据加载请求;步骤2、识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;步骤3、根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行步骤4,若是,执行步骤5;步骤4、调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行步骤5;步骤5、提取并返回与所述缓存键关联的缓存数据。本发明专利技术能解决开发成本高、维护难度大、不同步风险高等问题。

Data loading method, device and terminal

The invention relates to a data loading method, a device and a terminal. The method comprises the following steps: 1, receive data loading request; step 2, the identification of the loaded data type request data loading request, extracting the cache key corresponding to the categories; step 3, depending on whether the cache the data associated with the cache key the key lookup cache cache if not then, step 4, if step 5; step 4, call and the cache key corresponding to the data access logic, get the corresponding data, the actual data and the associated cache key and stored in the cache, the actual data definitions associated with the cache key for cache the data, then step 5; step 5, extraction and returns the cached data associated with the cache key. The invention can solve the problems of high development cost, difficult maintenance and high risk of synchronization.

【技术实现步骤摘要】
一种数据加载方法、装置及终端
本专利技术涉及网络数据加载技术。
技术介绍
“同一次业务请求”过程中,往往会出现某种操作被重复执行,而逻辑上来讲如果只执行一次是最理想的,这里的“某种操作”特指那些比较耗费时间的操作,比如“调用数据库的IO操作”、“调用外部接口的网络访问操作”等。举个例子,“从数据库中获取登录用户的信息”(GetUserFromDB)这个操作,如果用户的一次请求中包含6个小方法,这6个小方法有4次需要获取该用户的登录信息,最理想的情况,是4次只有1次是从数据库中加载,其余的3次则直接从缓存中获取。以上例子,要达到这种效果,目前一般有以下方案:a)增加一个专门的缓存层项目,所有获取该信息时,全部从该层获取;缺陷:过于“重量级”,需要设立单独的项目,容易小题大做,推高开发与维护成本。b)上述例子,在所有“小逻辑方法”中,均增加“登录人”这一参数,在第一次加载后,往后继续传递;缺陷:耦合性太强,“小逻辑方法”间将会互相依赖与影响,容易导致逻辑不清,并且当出现需要加载其他信息时,除了需要变更全部,而且会存在参数过多的问题,不易于后续的维护与扩展。c)“登录用户”信息采用站点全局缓存模式,全部从缓存中加载,降低加载成本;缺陷:需要维护额外的全局缓存,并且做好缓存的更新与同步策略,存在数据不同步风险。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种数据加载方法,其能解决开发成本高、维护难度大、不同步风险高等问题。本专利技术的目的之二在于提供一种数据加载装置,其能解决开发成本高、维护难度大、不同步风险高等问题。本专利技术的目的之三在于提供一种终端,其能解决开发成本高、维护难度大、不同步风险高等问题。为了实现上述目的之一,本专利技术所采用的技术方案如下:一种数据加载方法,其包括以下步骤:步骤1、接收数据加载请求;步骤2、识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;步骤3、根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行步骤4,若是,执行步骤5;步骤4、调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行步骤5;步骤5、提取并返回与所述缓存键关联的缓存数据。所述缓存键的数量为多个,多个缓存键在同一Web请求生命周期中均相异。所述数据获取逻辑采用方法委托对象技术。为了实现上述目的之二,本专利技术所采用的技术方案如下:一种数据加载装置,其包括以下模块:接收模块,用于接收数据加载请求;识别模块,用于识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;判断模块,用于根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行缓存模块,若是,执行提取模块;缓存模块,用于调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行提取模块;提取模块,用于提取并返回与所述缓存键关联的缓存数据。为了实现上述目的之三,本专利技术所采用的技术方案如下:一种终端,其包括存储器和处理器;所述存储器,用于存储程序指令;所述处理器,用于运行所述程序指令,以执行以下步骤:步骤1、接收数据加载请求;步骤2、识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;步骤3、根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行步骤4,若是,执行步骤5;步骤4、调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行步骤5;步骤5、提取并返回与所述缓存键关联的缓存数据。相比现有技术,本专利技术的有益效果在于:1、通过将缓存数据从各模块中抽离出来,摒弃原先散落在各模块中的数据加载逻辑,有效降低了各模块内部的复杂度;2、从数据库直接对数据的提取转换为以键值对的方式从缓存中提取数据,易于封装针对特定场景特定数据的调用模式,形成开发规范,降低实施成本,从而更加关注于业务的实现本身;3、提升应用性能的同时,屏蔽了底层的缓存策略以及针对缓存数据的传递、同步,不需要在数据缓存上付出额外的管理成本。附图说明图1为本专利技术实施例一的数据加载方法的流程图;图2为本专利技术实施例一的数据加载容器的架构示意图;图3为本专利技术实施例二的数据加载装置的结构示意图;图4为本专利技术实施例三的终端的结构示意图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述:实施例一在说明本实施例的数据加载方法前,先解释本实施例的实现原理,如图2所示,为本实施例设计的一种数据加载容器(Ucsmy.DataContainor)的架构示例,其实质是数据调用规则。本实施例以User(用户)加载器和Products(产品)加载器为例进行说明,当然,加载其他数据类型时,也应该先定义对应的数据加载器。User加载器是用于调用用户信息类型的方法规则,Products加载器是用于调用产品信息类型的方法规则。在User加载器中,Key1定义为用户类型数据的缓存键,GetUserFromDB为用于获取用户信息的实际数据的方法逻辑;在Products加载器中,Key2定义为产品类型数据的缓存键,GetProductsFromDB为用于获取产品信息的实际数据的方法逻辑。Key1-User、Key2-Products分别为对应的键值对。也就是说,一个数据加载器中包括缓存键和数据获取逻辑,所述缓存键的数量为多个,多个缓存键在同一Web请求生命周期中均相异,即不能重复,这样才能准确命中缓存数据;所述数据获取逻辑采用方法委托对象技术,优选可以采用.NET中的方法委托对象技术(delegate)。缓存机制可包含缓存初始化、缓存提取、缓存过期等,可根据实际的应用环境,决定不同的缓存策略实现机制。数据加载容器(Ucsmy.DataContainor)对于在Web应用开发领域中,实现“单次Web请求完整生命周期内”的数据懒加载以及数据缓存,提升Web应用性能。如图1所示,利用图2所示的数据加载容器的一种数据加载方法,其包括以下步骤:步骤S1、接收用户在Web上操作的数据加载请求。步骤S2、识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键。例如,类别为用户信息,则对应的缓存键为Key1,类别为产品信息,则对应的缓存键为Key2。步骤S3、根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行步骤S4,若是,执行步骤S5;步骤S4、调用与所述缓存键对应的数据获取逻辑(GetUserFromDB或GetProductsFromDB),从数据库中得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行步骤S5;步骤S5、提取并返回与所述缓存键关联的缓存数据至请求方。上述方法的代码示例如下:实施例二如图3所示,本实施例为实现实施例一的方法的虚拟装置,具体是一种数据加载装置,其包括以下模块:接收模块,用于接收数据加载请求;本文档来自技高网...
一种数据加载方法、装置及终端

【技术保护点】
一种数据加载方法,其特征在于,包括以下步骤:步骤1、接收数据加载请求;步骤2、识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;步骤3、根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行步骤4,若是,执行步骤5;步骤4、调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行步骤5;步骤5、提取并返回与所述缓存键关联的缓存数据。

【技术特征摘要】
1.一种数据加载方法,其特征在于,包括以下步骤:步骤1、接收数据加载请求;步骤2、识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;步骤3、根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行步骤4,若是,执行步骤5;步骤4、调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存储于缓存中,将与所述缓存键关联的实际数据定义为缓存数据,然后执行步骤5;步骤5、提取并返回与所述缓存键关联的缓存数据。2.如权利要求1所述的数据加载方法,其特征在于,所述缓存键的数量为多个,多个缓存键在同一Web请求生命周期中均相异。3.如权利要求1所述的数据加载方法,其特征在于,所述数据获取逻辑采用方法委托对象技术。4.一种数据加载装置,其特征在于,包括以下模块:接收模块,用于接收数据加载请求;识别模块,用于识别所述数据加载请求中请求加载的数据的类别,提取与所述类别对应的缓存键;判断模块,用于根据所述缓存键查找缓存中是否有与所述缓存键关联的缓存数据,若否,则执行缓存模块,若是,执行提取模块;缓存模块,用于调用与所述缓存键对应的数据获取逻辑,得到相应的实际数据,将所述实际数据与所述缓存键进行关联并存...

【专利技术属性】
技术研发人员:陈强余俊杰
申请(专利权)人:广东网金数据服务有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1