一种远程数据的访问方法技术

技术编号:7473004 阅读:178 留言:0更新日期:2012-07-03 01:23
本发明专利技术涉及数据传输领域,本发明专利技术公开了一种远程数据的访问方法,其具体包含以下步骤:步骤1.在客户端的磁盘上建立一个数据库,称为本地缓存数据库;步骤2.客户端连接到服务器,在服务器数据库中查询该客户端的客户端维护表,根据客户端维护表的内容进行客户端本地缓存数据库的更新;步骤3.客户端需要访问数据库的某个数据项时,先查询本地缓存数据库,如果本地缓存数据库中没有该数据项,则向服务器请求该数据项。利用本地缓存和数据更新主动推进,把大部分网络数据的访问本地化,并且只在需要更新本地数据项的时候才更新本地数据项,减少了远程数据传输次数、总传输流量,提高了数据访问效率。

【技术实现步骤摘要】

本专利技术涉及数据传输领域,尤其涉及。技术背景传统的网络数据库数据访问请求,是通过客户机client先通过网络连接到服务器,然后请求某条数据,再由服务器将请求的数据传输给client。但不可避免,同一个 client会在不同时间请求相同的数据项,比如今天和明天均请求服务器的第二项数据,传统方法是服务器通过网络重复传送该项数据。重复传送相同的数据项显然是浪费资源并影响效率的。其模型如附附图说明图1所示的传统网络数据库访问流程示意图。对于网络数据库的访问,无论采用单台数据库服务器还是分布式数据库服务器来构建数据库,无论服务器的硬件速度多快,都无法避免通过网络来传输客户端请求的每条数据。众所周知,通过网络传输数据的总时耗与网络带宽及需传输的总数据量有关。网络带宽越大则传输的速度越快,耗时越少;传输的总数据量越大则总传输时间越长,在网络传输的过程中发生阻塞和丢包的可能性也越大。
技术实现思路
本专利技术的目的是针对现有技术中传统远程数据访问方法存在效率效率低下的技术问题,提供。本专利技术的目的通过下述技术方案来实现 ,其具体包含以下步骤步骤1.在客户端的磁盘上建立一个数据库,称为本地缓存数据库,所述数据库是客户端经常访问的数据项集合,所述数据库中的每个数据项还包括两个字段,其中一个表示该数据项是否为最新状态,另外一个表示该数据项被访问的次数;步骤2.客户端连接到服务器,客户端向服务器发送本机的唯一网络编码,服务器接收到客户端的网络编码后,在服务器数据库中查询该客户端的客户端维护表,根据客户端维护表的内容进行客户端本地缓存数据库的更新;所述客户端维护表包括两个字段,一个为本地缓存数据库所有数据项的ID,另外一个为服务器上该ID代表的数据项是否有更新;步骤3.客户端需要访问数据库的某个数据项时,先查询本地缓存数据库,如果本地缓存数据库中没有该数据项,则向服务器请求该数据项,然后在本地缓存数据库中增加该数据项,同时数据项被访问次数设置为1 ;如果本地缓存数据库中有该数据项,但其标志表示为非最新状态,则向服务器请求该数据项并更新该数据项,同时数据项被访问次数加1 ;如果本地缓存数据库中有该数据项且标志表示为最新状态,则直接使用该数据项,同时数据项被访问次数加1。优选地,上述方法还包括客户端定期删除本地缓存数据库中访问量靠后的数据项。优选地,上述步骤2具体还包括当服务器的数据库更新了某数据项时,服务器自动更新所有的客户端维护表,一旦客户端连接到服务器,如果服务器中其客户端维护表不为空,则服务器主动向客户端发送该客户端维护表,客户端根据该表对本地缓存数据库中表示该数据项是否为最新状态的标志位进行更新。优选地,上述步骤2还包括客户端在根据客户端维护表更新本地缓存数据库后, 向服务器发起确认信息,服务器收到该确认信息后清空该客户端维护表。本专利技术的有益效果利用本地缓存和数据更新主动推进,把大部分网络数据的访问本地化,并且只在需要更新本地数据项的时候才更新本地数据项,减少了远程数据传输次数、总传输流量,提高了数据访问效率。说明书附1为传统网络数据库访问流程示意图。图2为本专利技术的远程数据的访问方法示意图。图3为数据访问流程图。具体实施方式下面结合具体实施例和附图对本专利技术作进一步的说明。如图2所示的本专利技术的远程数据的访问方法示意图,其具体包含以下步骤 步骤1.在客户端的磁盘上建立一个数据库,称为本地缓存数据库,所述数据库是客户端经常访问的数据项集合,所述数据库中的每个数据项还包括两个字段,其中一个表示该数据项是否为最新状态,另外一个表示该数据项被访问的次数。这两个字段可以分别用enewStatus禾口 AccessCount表示,RenewStatus为true标明该数据项最新状态,false 表示不是最新状态,AccessCoimt标明该数据项被访问的次数,该数据项每被访问一次, AccessCount+10步骤2.客户端连接到服务器,客户端向服务器发送本机的唯一网络编码,服务器接收到客户端的网络编码后,在服务器数据库中查询该客户端的客户端维护表,根据客户端维护表的内容进行客户端本地缓存数据库的更新;所述客户端维护表包括两个字段,一个为本地缓存数据库所有数据项的ID,另外一个为服务器上该ID代表的数据项是否有更新。这里指的更新是现有数据项的更改和删除,新插入的数据项在本文范围内不被认为是数据项的更新,而被认为是整个数据库的更新。步骤3.客户端需要访问数据库的某个数据项时,先查询本地缓存数据库,如果本地缓存数据库中没有该数据项,则向服务器请求该数据项,然后在本地缓存数据库中增加该数据项,同时数据项被访问次数设置为1 ;如果本地缓存数据库中有该数据项,但其标志表示为非最新状态,则向服务器请求该数据项并更新该数据项,同时数据项被访问次数加 1 ;如果本地缓存数据库中有该数据项且标志表示为最新状态,则直接使用该数据项,同时数据项被访问次数加1。利用本地缓存和数据更新主动推进,把大部分网络数据的访问本地化,并且只在需要更新本地数据项的时候才更新本地数据项,减少了远程数据传输次数、总传输流量,提高了数据访问效率。优选地,客户端定期删除本地缓存数据库中访问量靠后的数据项。以使本地缓存数据库不会太大。删除的项数可以依照客户端磁盘的大小进行合理设定。优选地,所述步骤2具体还包括当服务器的数据库更新了某数据项时,服务器自动更新所有的客户端维护表,一旦客户端连接到服务器,如果其客户端维护表不为空,则主动向客户端发送该客户端维护表,客户端根据该表对本地缓存数据库中表示该数据项是否为最新状态的标志位进行更新。即修改Renew^atus字段,标明某些数据项已经不是最新状态,但并不立即向客户端请求更新这些数据项,直到客户端访问本地的那些不是最新状态的数据表时,客户端才向服务器请求该项数据,并更新本地缓存数据库中的该数据项。更新完毕后,把该数据项的状态置为最新,具体流程如附图3所示的数据访问流程图。优选地,所述步骤2还包括客户端在根据客户端维护表更新本地缓存数据库后, 向服务器发起确认信息,服务器收到该确认信息后清空该客户端维护表。以上上述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。权利要求1.,其具体包含以下步骤步骤1.在客户端的磁盘上建立一个数据库,称为本地缓存数据库,所述数据库是客户端经常访问的数据项集合,所述数据库中的每个数据项还包括两个字段,其中一个表示该数据项是否为最新状态,另外一个表示该数据项被访问的次数;步骤2.客户端连接到服务器,客户端向服务器发送本机的唯一网络编码,服务器接收到客户端的网络编码后,在服务器数据库中查询该客户端的客户端维护表,根据客户端维护表的内容进行客户端本地缓存数据库的更新;所述客户端维护表包括两个字段,一个为本地缓存数据库所有数据项的ID,另外一个为服务器上该ID代表的数据项是否有更新;步骤3.客户端需要访问数据库的某个数据项时,先查询本地缓存数据库,如果本地缓存数据库中没有该数据项,则向服务器请求该数据项,然后在本地缓存数据库中增加该数据项,同时数据项被访问次数设置为1 ;如果本地缓存数据库中有该数据项,但其标志表示为非最本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:黄中华
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:

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

1
相关领域技术