数据访问的方法和装置的制造方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种数据访问的方法和装置。
【背景技术】
[0002]交易网站给人们的生活带来了很多便利,其访问量也是日益剧增,高并发的数据访问给这类网站带来了巨大的压力。具体地,对网络带宽产生很大的压力,以及数据平台需要存储各种大量的交易数据,且长期保存这些交易数据。为了给使用数据平台的用户提供较好的用户体验,需要对数据平台的性能进行优化,相关技术中,采用高性能的数据库、高性能的web容器或者高性能的服务器达到优化数据平台性能的目的,但是这几种方式的投入成本较高,且扩展性低,系统维护困难。
【发明内容】
[0003]有鉴于此,本发明提供一种数据访问的方法和装置,能够优化数据平台性能,且投入成本低,扩展性高。
[0004]具体地,本发明是通过如下技术方案实现的:
根据本发明一方面,提供一种数据访问的方法,所述方法包括:
接收客户端的数据访问请求;
获取所述数据访问请求中的访问关键字;
根据所述访问关键字查找本地缓存的数据映射表,所述数据映射表包括多个访问关键字与数据信息的对应关系;
当从所述数据映射表中查找到所述访问关键字时,将与所述数据访问请求中的访问关键字对应的数据信息发送给所述客户端。
[0005]示例性地,所述方法还包括:
当没有从所述数据映射表中查找到所述数据访问请求中的访问关键字时,将所述数据访问请求发送给数据服务器,从所述数据服务器获取数据信息;
建立所述数据访问请求中的访问关键字与所述数据信息的对应关系;
将所述对应关系存储到本地缓存中的数据映射表。
[0006]示例性地,在所述建立所述数据访问请求中的访问关键字与所述数据信息的对应关系之后,所述方法还包括:
判断所述本地缓存的存储空间是否不小于预设空间;
若是,则将所述对应关系存储到所述本地缓存中的数据映射表。
[0007 ] 示例性地,所述方法还包括:
当到达预设时间时,清除所述对应关系。
[0008]示例性地,所述方法还包括:
设置本地缓存空间的大小,并确定存储的数据映射表包括的表项个数;
建立数据映射表。
[0009]示例性地,所述数据映射表为HashMap数据表。
[0010]根据本发明的另一个方面,提供一种数据访问的装置,所述装置包括:
接收单元,用于接收客户端的数据访问请求;
第一获取单元,用于获取所述数据访问请求中的访问关键字;
查找单元,用于根据所述访问关键字查找本地缓存的数据映射表,所述数据映射表包括多个访问关键字与数据信息的对应关系;
第一发送单元,用于当从所述数据映射表中查找到所述访问关键字时,将与所述数据访问请求中的访问关键字对应的数据信息发送给所述客户端。
[0011 ] 示例性地,所述装置还包括:
第二发送单元,用于当没有从所述数据映射表中查找到所述数据访问请求中的访问关键字时,将所述数据访问请求发送给数据服务器,以从所述数据服务器获取数据信息;
关系建立单元,用于建立所述数据访问请求中的访问关键字与所述数据信息的对应关系;
第一存储单元,用于将所述对应关系存储到本地缓存中的数据映射表。
[0012]示例性地,所述装置还包括:
判断单元,用于在所述建立所述数据访问请求中的访问关键字与所述数据信息的对应关系之后,判断所述本地缓存的存储空间是否不小于预设空间;
第二存储单元,用于当所述判断单元确定所述本地缓存的存储空间不小于所述预设空间时,将所述对应关系存储到所述本地缓存中的数据映射表。
[0013]示例性地,所述装置还包括:
清除单元,用于当到达预设时间时,清除所述对应关系。
[0014]应用本发明实施例,可以在本地缓存访问数据,通过关键字匹配从本地缓存中获取对应的访问数据,提高数据访问的速度,实现优化数据平台的目的,实现投入成本低,扩展性尚。
【附图说明】
[0015]图1是本发明一示例性实施例示出的一种数据访问的方法的流程示意图;
图2是本发明一示例性实施例示出的一种数据访问的装置所在设备的一硬件结构框图;
图3是本发明一示例性实施例示出的一种数据访问的装置的结构框图。
【具体实施方式】
[0016]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0017]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0018]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0019]本发明实施例提供的数据访问的方法,对于经常被访问且访问量较大的页面,在首次访问过程时,可以将获得的数据信息存储在本地缓存中,当下次进行访问时,无需再查询数据服务器,提高访问速度,减小数据服务器的负载压力。
[0020]图1是本发明一示例性实施例示出的一种数据访问的方法的流程示意图。
[0021 ]如图1所示,一种数据访问的方法,该方法包括如下步骤:
步骤110,接收客户端的数据访问请求。
[0022]客户端可以是集成在如手机、个人电能或者平板等终端设备的浏览器、APP或者购物网站等。用户可以通过操作客户端发起数据访问请求。客户端所在设备的处理器,比如CPU,可以接收该数据访问请求,且不会理解将该请求发送给数据服务器。
[0023 ]步骤120,获取数据访问请求中的访问关键字。
[0024]数据访问请求中的一些字段可以包括其访问的关键字,比如,访问百度时,其URL为WWW.baidu.com,则可以将baidu作为关键字,且作为对应字段的值。当接收到客户端发出的数据访问请求时,比如请求报文,从请求报文中的对应字段获取访问关键字。
[0025]步骤130,根据访问关键字查找本地缓存的数据映射表,数据映射表包括多个访问关键字与数据信息的对应关系。
[0026]作为一个示例,可以在客户端所在设备的本地内存中开设一个缓存区域,建立数据映射表。示例性地,首先可以对该缓存区域进行初始化设置,设置该缓存区域的空间大小,以及设置数据映射表的任一个表项的大小,从而确定该缓存空间可以存储多少个表项的数据映射表。示例性地,该数据映射表为HashMap数据表,HashMap是JDK的一个实用工具,能够将存入对象映射起来,实现“键一一值”对应的快速存取,因此,在本发明实施例中,能够实现“访问关键词一一数据信息“的快速存取。此外,提前分配缓存区域并设置表项的个数,能够提高HashMap数据表的存取效率。
[0027]步骤140,当从数据映射表中查找到访问关键字时,将与数据访问请求中的访问关键字对应的数据信息发送给客户端。
[0028]在本步骤中,当在步骤130中查找到访问关键字时,将访问关键字对应的数据信息发送给客户端,例如,当查找到baidu时,可以将百度对应的网页数据相应发送给客户端,以使客户端接收到网页数据后,显示相应的网页,这样,数据在本地进行传输,减少了网络带宽的浪费,提高了访问速度。
[0029]作为另一个示例,如果步骤130中没有从数据映射表中查找到访问关键字时,将数据访问请求发送给数据服务器,从数据服务器获取数据信息。在获取到数据信息后,建立访问关键字与该数据信息的对应关系,