一种基础数据缓存方法及其装置制造方法及图纸

技术编号:12619981 阅读:73 留言:0更新日期:2015-12-30 17:26
本发明专利技术提供一种基础数据缓存方法及其装置,所述方法包括:(1)客户端的第一注册模块将所述客户端中所有基础数据的缓存版本列表发送给服务器端,其中,所述缓存版本列表包含所述基础数据以及其对应的版本号;(2)所述服务器端的第二注册模块接收所述缓存版本列表,并通过推送模块将所述版本列表与所述服务器端中的客户端版本列表进行比对,形成推送列表;(3)根据所述推送列表,所述客户端的侦听模块更新所述缓存版本列表。本技术方案不仅减少了客户端与服务器端之间的通讯量,还避免了使用脏的基础数据而引起的数据正确性问题。

【技术实现步骤摘要】

本专利技术涉及数据处理领域,尤其涉及一种数据缓存方法及其装置。
技术介绍
Web应用系统,尤其在医疗信息系统中,存在众多基础数据。这些基础数据很少需要变更,却引用频繁,但是一旦变更又需要立即生效。这些数据的频繁加载,不仅通讯数据量庞大,挤占带宽造成页面加载缓慢,还占用了服务器资源。处理这类数据的方法分为两类,一类是每次直接从服务器获得,即不做客户端缓存;另一类是每次从客户端缓存获取,即客户端缓存。常规的方法为第一类,如服务器直接将需要用到的所有基础数据嵌入到最终的HTML中,或采用Ajax每次从服务器获取基础数据。这类方法每次重复获取基础数据,通讯量庞大,页面加载缓慢。第二类方法主要有:1、将基础数据做成静态的Java Script文件,通过浏览器静态文件缓存策略来实现基础数据的缓存,该方法虽然减少了通讯量,但是基础数据变更后不能自动更新到本地,造成出现脏数据。2、将基础数据与版本存储到本地,客户端每次使用前获取服务器基础数据的最新版本号,客户端比对本地版本号后从服务器获取最新的数据缓存,该方法减少了基础数据的获取次数,但是每次使用前都需要到服务器核对版本,额外增加了通讯次数,且基础数据种类众多,每种基础数据量少的时候几乎未能起到减少通讯量的效果。3、客户端每次Sess1n开始时获取服务器基础数据的最新版本号,客户端比对本地版本号后从服务器获取最新的数据缓存,使用过程中读取Sess1n开始时获得的基础数据缓存,该方法减少了通讯量,但基础数据变更后不能自动更新到本地,容易出现脏数据。
技术实现思路
本专利技术解决的问题是提供一种基础数据缓存方法及其装置,不仅减少了客户端与服务器端之间的通讯量,还避免了使用脏的基础数据而引起的数据正确性问题。为了解决上述问题,本专利技术提供了一种基础数据缓存方法,包括如下步骤:(I)客户端的第一注册模块将所述客户端中所有基础数据的缓存版本列表发送给服务器端,其中,所述缓存版本列表包含所述基础数据以及其对应的版本号;(2)所述服务器端的第二注册模块接收所述缓存版本列表,并通过推送模块将所述版本列表与所述服务器端中的客户端版本列表进行比对,形成推送列表;(3)根据所述推送列表,所述客户端的侦听模块更新所述缓存版本列表。上述一种基础数据缓存方法,优选地,所述服务器端为所述客户端生成对应的标识,并将所述标识以及所述缓存版本列表存于站点列表。上述一种基础数据缓存方法,优选地,所述客户端的侦听模块更新所述缓存版本列表的过程包括:I)所述服务器遍历所述推送列表,将所述推送列表中的基础数据及其对应的版本号推送到所述客户端;2)所述客户端的侦听模块将接收到推送的基础数据及其对应的版本号存储于本地,并更新所述缓存版本列表;3)所述服务器端更新所述客户端对应标识的客户端版本列表。上述一种基础数据缓存方法,优选地,所述推送的基础数据及其对应的版本号为所述推送列表中任一项基础数据和其版本号。上述一种基础数据缓存方法,优选地,所述推送的基础数据及其对应的版本号为所述推送列表中所有的基础数据及其对应的版本号。上述一种基础数据缓存方法,优选地,若基础数据发生变更或修改,则所述服务器端修改所述基础数据,更新其对应的版本号,并根据所述更新的版本号,更新所述服务器端的服务器端版本列表;遍历所述站点列表,获取所述基础数据对应的客户端标识,将所述基础数据推送给所述客户端。为了解决上述问题,本专利技术还提供了一种基础数据缓存装置,装置包括客户端,以及通过通讯连接的服务器端,优选地,所述客户端包括本地存储模块、与所述本地存储模块连接的第一注册模块和侦听模块;所述服务器端包括第二注册模块和推送模块。上述一种基础数据缓存装置,优选地,所述客户端包括第一撤销注册模块,所述服务器端包括第二撤销注册模块。与现有技术相比,本专利技术客户端在登录时注册版本号,并从服务器取得新版本的基础数据,因此,客户端从第一次登录系统后,不再需要重新获取已有的基础数据,减少了客户端同服务器之间的通讯数据量,提告了页面响应速度,减轻了服务器负担;进一步地,采用服务器推送最新版本基础数据到客户端,只有基础数据发生改变时才将基础数据推送到客户端,进一步减少客户端同服务器之间的通讯与交互,且同时保证客户端一直使用最新的基础数据,避免了使用脏的基础数据而引起的数据正确性问题;进一步地,引入撤销注册模块,用户登录或Sess1n超时后撤销客户端的注册,避免向非需要的客户端推送数据,进一步减少了通讯量与服务器负担。【附图说明】图1所示为本专利技术实施例一种基础数据缓存方法的流程示意图;图2所示为本专利技术实施例一种基础数据缓存装置的结构示意图。【具体实施方式】在下面的描述中阐述了很多具体细节以便于充分理解本专利技术。但是本专利技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广,因此本专利技术不受下面公开的具体实施的限制。其次,本专利技术利用示意图进行详细描述,在详述本专利技术实施例时,为便于说明,所述示意图只是实例,其在此不应限制本专利技术保护的范围。下面结合附图和实施例对本专利技术一种基础数据缓存方法和装置进行详细地说明。在本实施例中,以基于本地存储,由服务器推送最新版本基础数据到客户端的Web本地缓存为例。具体地,本专利技术实施例基础数据的缓存方法如图1所示,首先,执行步骤SI,客户端的第一注册模块将所述客户端中所有基础数据的缓存版本列表发送给服务器端,其中,所述缓存版本列表包含所述基础数据以及其对应的版本号。具体地,在本实施例中,用户在登录时,客户端第一注册模块将客户端连接、客户端存储的基础数据以及客户端存储的缓存版本列表注册到服务器端,同时客户端建立用于接收服务器端发送的信息的侦听。客户端存储的基础数据为本地存储中的基础数据(即缓存基础数据),客户端需要使用时直接从缓存基础数据中获取。本地存储中的缓存基础数据设置有其对应的版本号,所有缓存基础数据的版本号形成缓存版本列表,所述缓存版本列表存储于本地存储中。所述本地存储指不因为会话结束或窗口关闭而失效,能够一直存储在客户端本地的存储方法,在本实施例中,为HTML5的Local Storage (本地存储)。接着,执行步骤S2,所述服务器端的第二注册模块接收所述缓存版本列表,并通过推送模块将所述版本列表与所述服务器端中的客户端版本列表进行比对,形成推送列表。具体地,在本实施例中,所述服务器端的第二注册模块接收到缓存基础数据以及缓存版本列表后,所述服务器端为所述客户端生成对应的标识(Sess1n)并保存该Sess1n的客户端缓存版本列表,所述Sess1n指的是服务器端为每一个客户端的会话分配或指派的唯一标识,此标识由Web服务器生成与维护。接着,服务器端当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基础数据缓存方法,其特征在于,包括如下步骤:(1)客户端的第一注册模块将所述客户端中所有基础数据的缓存版本列表发送给服务器端,其中,所述缓存版本列表包含所述基础数据以及其对应的版本号;(2)所述服务器端的第二注册模块接收所述缓存版本列表,并通过推送模块将所述版本列表与所述服务器端中的客户端版本列表进行比对,形成推送列表;(3)根据所述推送列表,所述客户端的侦听模块更新所述缓存版本列表。

【技术特征摘要】

【专利技术属性】
技术研发人员:李磊曾富来
申请(专利权)人:上海联影医疗科技有限公司
类型:发明
国别省市:上海;31

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

1