发明名称 以用户为中心且基于多级缓存的海洋时空数据访问方法
摘要 本发明公开了一种以用户为中心且基于多级缓存的海洋时空数据访问方法,进行海洋时空数据访问的步骤为:(1)用户通过客户端指定查询条件,客户端向中间服务器发出查询请求;(2)中间服务器接收查询请求,根据请求数据的位置,为该用户指定数据服务器,被指定的数据服务器根据缓存列表判断该用户的请求数据是否有访问记录;如果有访问记录,则从缓存池中读取该数据并返回给用户;否则,则跳转至第(3)步,并更新缓存列表;(3)检查缓存池中是否存在请求数据;如果缓存池中有请求数据,则将该请求数据返回给用户;否则,从该数据服务器的数据库中读取请求数据并返回给用户,同时更新缓存池。本发明以用户为中心,提高数据访问的效率。
申请公布号 CN103390061B 申请公布日期 2016.12.28
申请号 CN201310328432.0 申请日期 2013.07.31
申请人 浙江大学 发明人 汪飞;郑文庭;徐晓刚;鲍虎军;张宏鑫
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州天勤知识产权代理有限公司 33224 代理人 胡红娟
主权项 一种以用户为中心且基于多级缓存的海洋时空数据访问方法,其特征在于,所述海洋时空数据存放于多台数据服务器中,每台数据服务器中建立有:数据库,用于存放海洋时空数据;缓存池,用于存放数据库中被用户访问过的数据;缓存列表,用于存放该数据服务器的各用户的访问记录;进行海洋时空数据访问的步骤为:(1)用户通过客户端指定查询条件,客户端向中间服务器发出查询请求;(2)中间服务器接收查询请求,根据请求数据的位置,为该用户指定数据服务器,被指定的数据服务器根据缓存列表判断该用户的请求数据是否有访问记录;如果有访问记录,则从缓存池中读取该数据并返回给用户;否则,则跳转至步骤(3),并更新缓存列表;本步骤中,中间服务器接收查询请求,判断请求数据所在的数据服务器,当请求数据存在于多台数据服务器时,优先指定空闲的数据服务器;数据服务器定时向中间服务器发送心跳信息,中间服务器根据心跳信息判断各数据服务器的空闲状态;(3)检查缓存池中是否存在请求数据;如果缓存池中有请求数据,则将该请求数据返回给用户;否则,从该数据服务器的数据库中读取请求数据并返回给用户,同时更新缓存池;步骤(3)中更新缓存池时,首先检查缓存池的剩余容量,如果剩余容量可以容纳需要更新的数据,则将需要更新的数据载入缓存池,完成更新;否则,计算缓存池内所有数据项的权值,按照权值由小至大的次序,将缓存池内原有的数据项取出缓存池,直至缓存池的剩余容量能够容纳需要更新的数据,将需要更新的数据载入缓存池,完成更新;步骤(3)中,从数据库中读取数据前,判断所读取数据对应的地理位置,以地理位置为中心,按照预定的半径确定地理范围,读取与该地理范围相对应的所有同类型数据,并更新缓存池,同时仅将用户请求的数据返回给用户。
地址 310027 浙江省杭州市西湖区浙大路38号