一种读写数据的方法和应用服务器的制造方法

文档序号:7782998阅读:219来源:国知局
一种读写数据的方法和应用服务器的制造方法
【专利摘要】本发明实施例提供一种读写数据的方法和应用服务器,涉及通信【技术领域】,能够提高该应用服务器读写数据的速度,减短了该应用服务器的响应时间。该方法包括:应用服务器接收客户端发送的数据请求消息,并在确定CDN缓存设备内存储有该数据请求消息中的标识信息对应的目标数据时,对该目标数据进行读操作或写操作;在确定该CDN缓存设备内没有存储该目标数据时,从存储有该目标数据的设备处获取该目标数据,将获取的该目标数据存储到该CDN缓存设备内,并在获取的该目标数据存储到该CDN缓存设备内后,对该CDN缓存设备内存储的该目标数据进行该数据请求消息所指示的读操作或写操作。本发明实施例用于读写数据。
【专利说明】一种读写数据的方法和应用服务器
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种读写数据的方法和应用服务器。
【背景技术】
[0002]随着互联网技术的不断普及,互联网上传输的数据量出现了爆发式的增长,其中,应用服务器从数据库中读取数据并在浏览器中显示,许多网络应用也都将数据保存到数据库中。随着数据量的增大、访问的集中,增加了数据库的负担并造成了数据库的响应恶化,网站显示延迟等影响。
[0003]现有技术中,应用服务器在接收到客户端的数据请求消息时,会对该数据请求消息进行分析和处理,而后对数据库中相应的数据进行数据请求消息所指示的读操作或写操作。并且该应用服务器在下一次接收到相同的数据请求消息时,会再次对该数据请求消息进行分析和处理,并对数据库中相应的数据进行数据请求消息所指示的读操作或写操作。由于数据库往往设置在距离应用服务器较远的地方,应用服务器每次完成对数据库的访问都需要花费较多的处理资源且需要较长的处理时间,这样,在存在高并发数据请求而使得该应用服务器短时间内接收到大量的数据请求消息时,该应用服务器需针对每一个数据请求消息对数据库进行相应的访问,从而导致该应用服务器的响应时间过长的问题。

【发明内容】

[0004]本发明提供一种读写数据的方法和应用服务器,能够提高该应用服务器读写数据的速度,减短了该应用服务器的响应时间。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,提供一种读写数据的方法,包括:
[0007]应用服务器接收客户端发送的数据请求消息;所述数据请求消息包括目标数据的标识信息;
[0008]根据所述标识信息,查询所述应用服务器所接入的内容分发网络CDN中距离所述应用服务器最近的CDN缓存设备内是否存储有所述标识信息对应的目标数据;其中,所述CDN缓存设备用于对所述应用服务器从包括数据库在内的其他设备处获取到的数据进行缓存;
[0009]当查询到所述CDN缓存设备内存储有所述目标数据时,对所述目标数据进行所述数据请求消息所指示的读操作或写操作;
[0010]在确定所述CDN缓存设备内没有存储所述目标数据时,从存储有所述目标数据的设备处获取所述目标数据,将获取的所述目标数据存储到所述CDN缓存设备内,并在获取的所述目标数据存储到所述CDN缓存设备内后,对所述CDN缓存设备内存储的所述目标数据进行所述数据请求消息所指示的读操作或写操作。
[0011]在第一方面的第一种可能的实现方式中,所述应用服务器在确定所述CDN缓存设备内没有存储所述目标数据时,从存储有所述目标数据的设备处获取所述目标数据,包括:
[0012]所述应用服务器在确定所述CDN缓存设备内没有存储所述目标数据时,确定分布式缓存设备Cbase内是否存储有所述标识信息对应的目标数据;
[0013]若确定分布式缓存设备Cbase内存储有所述标识信息对应的目标数据,则从所述Cbase处获取所述目标数据;
[0014]若确定所述Cbase内没有存储所述标识信息对应的目标数据,则从所述数据库内获取所述目标数据。
[0015]结合第一种可能的实现方式,在第二种可能的实现方式中,所述标识信息包括数据键值Key ;则
[0016]所述应用服务器确定分布式缓存设备Cbase内是否存储有所述标识信息对应的目标数据,包括:
[0017]所述应用服务器确定所述Cbase内是否存在与所述Key对应的数据值Value ;
[0018]若确定所述Cbase内存在与所述Key对应的数据值Value,则确定所述Cbase内存储有所述目标数据;
[0019]若确定所述Cbase内不存在与所述Key对应的数据值Value,则确定所述Cbase内未存储有所述目标数据。
[0020]结合第一种可能的实现方式,在第三种可能的实现方式中,所述数据请求消息还包括与所述目标数据相关的其他目标数据的标识信息;则
[0021]所述应用服务器对所述目标数据进行所述数据请求消息所指示的读操作或写操作之后,所述方法还包括:
[0022]所述应用服务器将所述数据库内存储的所述其他目标数据存储到所述Cbase内,以便所述应用服务器在接收到包含所述其他目标数据的标识信息的数据请求消息时,将所述Cbase内存储的所述其他目标数据存储到所述CDN缓存设备内。
[0023]结合第一种可能的实现方式至第三种可能的实现方式中的任意一种可能的实现方式,在第四种可能的实现方式中,在所述应用服务器对所述目标数据进行所述数据请求消息所指示的写操作后,所述方法还包括:
[0024]所述应用服务器根据所述CDN缓存设备内的被执行了所述写操作的所述目标数据,更新所述Cbase和所述数据库。
[0025]本发明第二方面提供一种应用服务器,包括:
[0026]接收单元,用于接收客户端发送的数据请求消息;所述数据请求消息包括目标数据的标识信息;
[0027]处理单元,用于根据所述标识信息,查询所述应用服务器所接入的内容分发网络CDN中距离所述应用服务器最近的CDN缓存设备内是否存储有所述标识信息对应的目标数据;当查询到所述CDN缓存设备内存储有所述目标数据时,对所述目标数据进行所述数据请求消息所指示的读操作或写操作;其中,所述CDN缓存设备用于对所述应用服务器从包括数据库在内的其他设备处获取到的数据进行缓存;
[0028]所述处理单元还用于,在确定所述CDN缓存设备内没有存储所述目标数据时,从存储有所述目标数据的设备处获取所述目标数据,将获取的所述目标数据存储到所述CDN缓存设备内,并在获取的所述目标数据存储到所述CDN缓存设备内后,对所述CDN缓存设备内存储的所述目标数据进行所述数据请求消息所指示的读操作或写操作。
[0029]在第二方面的第一种可能的实现方式中,所述处理单元具体用于:
[0030]在确定所述CDN缓存设备内没有存储所述目标数据时,确定分布式缓存设备Cbase内是否存储有所述标识信息对应的目标数据;
[0031]若确定分布式缓存设备Cbase内存储有所述标识信息对应的目标数据,则从所述Cbase处获取所述目标数据;
[0032]若确定所述Cbase内没有存储所述标识信息对应的目标数据,则从所述数据库内获取所述目标数据。
[0033]结合第一种可能的实现方式,在第二种可能的实现方式中,所述标识信息包括数据键值Key ;则所述处理单元具体用于,确定所述Cbase内是否存在与所述Key对应的数据值 Value ;
[0034]若确定所述Cbase内存在与所述Key对应的数据值Value,则确定所述Cbase内存储有所述目标数据;
[0035]若确定所述Cbase内不存在与所述Key对应的数据值Value,则确定所述Cbase内未存储有所述目标数据。
[0036]结合第一种可能的实现方式,在第三种可能的实现方式中,所述数据请求消息还包括与所述目标数据相关的其他目标数据的标识信息;则所述处理单元还用于,将所述数据库内存储的所述其他目标数据存储到所述Cbase内,以便所述应用服务器在接收到包含所述其他目标数据的标识信息的数据请求消息时,将所述Cbase内存储的所述其他目标数据存储到所述CDN缓存设备内。
[0037]结合第一种可能的实现方式至第三种可能的实现方式中的任意一种可能的实现方式,在第四种可能的实现方式中,在所述对所述目标数据进行所述数据请求消息所指示的写操作后,所述处理单元还用于,根据所述CDN缓存设备内的被执行了所述写操作的所述目标数据,更新所述Cbase和所述数据库。
[0038]采用上述方案,应用服务器接收客户端发送的数据请求消息,并在确定CDN(Content Delivery Network,内容分发网络)缓存设备内存储有该数据请求消息中的标识信息对应的目标数据时,对该目标数据进行读操作或写操作;在确定该CDN缓存设备内没有存储该目标数据时,从存储有该目标数据的设备处获取该目标数据,将获取的该目标数据存储到该CDN缓存设备内,并在获取的该目标数据存储到该CDN缓存设备内后,对该CDN缓存设备内存储的该目标数据进行该数据请求消息所指示的读操作或写操作。这样,该应用服务器在接收到数据请求消息后,无需对该数据请求消息进行分析处理即可直接对该CDN缓存设备内的目标数据进行读操作或写操作,避免了每次都从数据库中读写数据,提高了该应用服务器读写数据的速度,减短了该应用服务器的响应时间。
【专利附图】

【附图说明】
[0039]图1为本发明实施例提供的一种读写数据的方法的流程示意图;
[0040]图2为本发明实施例提供的另一种读写数据的方法的流程示意图;
[0041]图3为本发明实施例提供的一种应用服务器的应用场景的示意图;
[0042]图4为本发明实施例提供的一种应用服务器的结构示意图。【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]本发明实施例提供一种读写数据的方法,如图1所示,该方法包括:
[0045]S101、应用服务器接收客户端发送的数据请求消息,该数据请求消息包括目标数据的标识信息。
[0046]S102、该应用服务器根据该标识信息,查询该应用服务器所接入的内容分发网络CDN中距离该应用服务器最近的CDN缓存设备内是否存储有该标识信息对应的目标数据。
[0047]其中,该CDN缓存设备用于对该应用服务器从包括数据库在内的其他设备处获取到的数据进行缓存。
[0048]S103、当该应用服务器查询到该CDN缓存设备内存储有该目标数据时,对该目标数据进行该数据请求消息所指示的读操作或写操作。
[0049]S104、该应用服务器在确定该CDN缓存设备内没有存储该目标数据时,从存储有该目标数据的设备处获取该目标数据,将获取的该目标数据存储到该CDN缓存设备内,并在获取的该目标数据存储到该CDN缓存设备内后,对该CDN缓存设备内存储的该目标数据进行该数据请求消息所指示的读操作或写操作。
[0050]采用上述方案,应用服务器接收客户端发送的数据请求消息,并在确定CDN(Content Delivery Network,内容分发网络)缓存设备内存储有该数据请求消息中的标识信息对应的目标数据时,对该目标数据进行读操作或写操作;在确定该CDN缓存设备内没有存储该目标数据时,从存储有该目标数据的设备处获取该目标数据,将获取的该目标数据存储到该CDN缓存设备内,并在获取的该目标数据存储到该CDN缓存设备内后,对该CDN缓存设备内存储的该目标数据进行该数据请求消息所指示的读操作或写操作。这样,该应用服务器在接收到数据请求消息后,无需对该数据请求消息进行分析处理即可直接对该CDN缓存设备内的目标数据进行读操作或写操作,避免了每次都从数据库中读写数据,提高了该应用服务器读写数据的速度,减短了该应用服务器的响应时间。
[0051]为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明实施例提供的另一种读写数据的方法进行详细说明,如图2所示,该方法包括:
[0052]S201、应用服务器接收客户端发送的数据请求消息,所述数据请求消息包括目标数据的标识信息。
[0053]具体地,用户在浏览网页时,通过点击调用该网页内的应用程序,向该应用服务器发送数据请求消息,其中,该数据请求消息可以是对目标数据的写请求或者读请求,该数据请求消息包括该目标数据的标识信息。
[0054]需要说明的是,该应用服务器的应用场景如图3所示,图3包括CDN缓存设备,用于短时间缓存数据,客户端可以通过该应用服务器直接从该CDN缓存设备中调用数据,显示网页;Cbase,用于长时间缓存数据,减轻数据库的负担,提高数据访问的速度;数据库,用于存储数据的存储介质,如磁盘;应用服务器,用于根据数据请求消息查找对应的目标数据,以及对各存储空间进行维护。
[0055]S202、该应用服务器确定CDN缓存设备内是否存储有对应该标识信息的目标数据。
[0056]需要说明的是,多个⑶N缓存设备可以分布在不同的地域,则某一地域的用户在进行网页浏览时,该应用服务器可以根据接收到的数据请求消息访问离该地域最近的CDN缓存设备,另外,由于该CDN缓存设备中的数据失效时间很快,约两分钟,因此该CDN缓存设备只能短时间的存储目标数据。
[0057]若该应用服务器确定CDN缓存设备内存储有对应该标识信息的目标数据,执行步骤S203 ;若该应用服务器确定CDN缓存设备内没有存储对应该标识信息的目标数据,执行步骤S204。
[0058]S203、该应用服务器根据该数据请求消息对该CDN缓存设备内存储的该目标数据进行相应的读操作或写操作。
[0059]示例地,用户在网页中点击播放音乐时,在应用服务器接收到数据请求消息后,若该CDN缓存设备中存储有该数据请求消息对应的音乐数据,则该应用服务器可直接读取该音乐数据,并将该音乐数据发送给该网页客户端。
[0060]S204、该应用服务器确定分布式缓存设备Cbase内是否存储有对应该标识信息的目标数据。
[0061]可选地,该标识信息包括数据键值Key,若该应用服务器确定该Cbase内存在与该Key对应的数据值Value,则确定该Cbase内存储有该目标数据;若确定该Cbase内不存在与该Key对应的数据值Value,则确定该Cbase内未存储有该目标数据。
[0062]需要说明的是,数据由Key (键)和Value (值)两部分构成,其中,Key相当于数据的索引,Value是Key所代表的数据内容,一个Value可能具有多个键值,用户可以根据键值访问到数据内容。另外,该Cbase中可以持久化缓存数据。
[0063]若该应用服务器确定该Cbase内存储有对应该标识信息的目标数据,执行步骤S205 ;若该应用服务器确定该Cbase内没有存储对应该标识信息的目标数据,执行步骤S206。
[0064]S205、该应用服务器将该Cbase内存储的该目标数据存储到该CDN缓存设备内,并根据该数据请求消息对该CDN缓存设备内存储的该目标数据进行相应的读操作或写操作。
[0065]S206、该应用服务器从对应的数据库内获取该目标数据,将该目标数据存储到该CDN缓存设备和该Cbase内,并对该CDN缓存设备内存储的该目标数据进行读操作或写操作。
[0066]具体地,在该CDN缓存设备和该Cbase内都没有存储该目标数据时,该应用服务器在数据库中获取该目标数据,并将该目标数据存储到该CDN缓存设备和该Cbase中,并对该CDN缓存设备内存储的该目标数据进行读操作或写操作,完成本次数据请求,并且该应用服务器再次接收到对应该目标数据的数据请求消息时,该应用服务器能够直接根据该数据请求消息对该CDN缓存设备中存储的该目标数据进行读操作或写操作;若该应用服务器再次接收到对应该目标数据的数据请求消息时,该CDN缓存设备中存储的该目标数据失效,则该应用服务器根据该数据请求消息从该Cbase中获取到该目标数据,避免了再次从数据库中获取,这样,该应用服务器对相同的目标数据只需要进行一次计算并从数据库中获取,并在之后再次读写该目标数据时无需计算,因为,该应用服务器在通过数据请求消息从数据库中获取目标数据时,需要对多个数据库和多张表的数据通过计算以确定目标数据,消耗了较多的时间,则通过该CDN缓存设备和该Cbase 二重缓存机制,减少了该应用服务器在数据库中获取目标数据的次数,提高了该应用服务器读写数据的速度,同时减轻了数据库的负担。
[0067]需要说明的是,由于在数据库访问权限以及安全级别均高于CDN缓存设备和Cbase,因此,该应用服务器在CDN缓存设备和Cbase中访问数据的速度高于在数据库访问数据的速度。
[0068]可选地,该数据请求消息还包括与该目标数据相关的其他目标数据的标识信息,则该应用服务器在对该CDN设备内存储的该目标数据进行读操作或写操作之后,将数据库内存储的该其他目标数据存储到该Cbase内,以便该应用服务器在接收到对应该其他目标数据的数据请求消息时,将该Cbase内存储的该其他目标数据存储到该CDN缓存设备内。
[0069]具体地,有上述可知,该应用服务器在通过数据请求消息从数据库中获取目标数据时,需要耗费较长的时间,若该应用服务器在接收到该数据请求消息时再通过计算确定数据库中的目标数据,延长了该应用服务器的响应时间,因此,该应用服务器在接收到该数据请求消息之前,可以预先将该目标数据存储到该Cbase内,则该应用服务器在接收到该数据请求消息时,可以直接从该Cbase内获取到该目标数据,减短了该应用服务器的响应时间。
[0070]S207、该应用服务器该应用服务器根据该CDN缓存设备内的被执行了该写操作的该目标数据,更新该Cbase和该数据库。
[0071]示例地,该数据请求消息为写请求消息,则该应用服务器在根据该写请求消息对该CDN缓存设备内存储的目标数据进行写操作,修改该目标数据的值后,将修改后的目标数据存储到该Cbase和该数据库中。
[0072]这样,该应用服务器在接收到数据请求消息后,无需对该数据请求消息进行分析处理即可直接对该CDN缓存设备内的目标数据进行读操作或写操作,避免了每次都从数据库中读写数据,提高了该应用服务器读写数据的速度,减短了该应用服务器的响应时间。
[0073]另外,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0074]本发明实施例提供一种应用服务器40,如图4所示,包括:
[0075]接收单元41,用于接收客户端发送的数据请求消息。
[0076]该数据请求消息包括目标数据的标识信息。
[0077]处理单元42,用于根据该标识信息,查询该应用服务器所接入的内容分发网络CDN中距离该应用服务器最近的CDN缓存设备内是否存储有该标识信息对应的目标数据;当查询到该CDN缓存设备内存储有该目标数据时,对该目标数据进行该数据请求消息所指示的读操作或写操作。
[0078]其中,该CDN缓存设备用于对该应用服务器从包括数据库在内的其他设备处获取到的数据进行缓存。
[0079]该处理单元还用于,在确定该CDN缓存设备内没有存储该目标数据时,从存储有该目标数据的设备处获取该目标数据,将获取的该目标数据存储到该CDN缓存设备内,并在获取的该目标数据存储到该CDN缓存设备内后,对该CDN缓存设备内存储的该目标数据进行该数据请求消息所指示的读操作或写操作。
[0080]具体地,用户在浏览网页时,通过点击调用该网页内的应用程序,向该应用服务器发送数据请求消息,其中,该数据请求消息可以是对目标数据的写请求或者读请求,该数据请求消息包括该目标数据的标识信息。
[0081]需要说明的是,多个⑶N缓存设备可以分布在不同的地域,则某一地域的用户在进行网页浏览时,该应用服务器可以根据接收到的数据请求消息访问离该地域最近的CDN缓存设备,另外,由于该CDN缓存设备中的数据失效时间很快,约两分钟,因此该CDN缓存设备只能短时间的存储目标数据。
[0082]示例地,用户在网页中点击播放音乐时,在应用服务器接收到数据请求消息后,若该CDN缓存设备中存储有该数据请求消息对应的音乐数据,则该应用服务器可直接读取该音乐数据,并将该音乐数据发送给该网页客户端。
[0083]可选地,该处理单元42具体用于,在确定该CDN缓存设备内没有存储该目标数据时,确定分布式缓存设备Cbase内是否存储有该标识信息对应的目标数据,若确定分布式缓存设备Cbase内存储有该标识信息对应的目标数据,则从该Cbase处获取该目标数据;若确定该Cbase内没有存储该标识信息对应的目标数据,则从该数据库内获取该目标数据。
[0084]需要说明的是,数据由Key (键)和Value (值)两部分构成,其中,Key相当于数据的索引,Value是Key所代表的数据内容,一个Value可能具有多个键值,用户可以根据键值访问到数据内容。另外,该Cbase中可以持久化缓存数据。
[0085]可选地,该标识信息包括数据键值Key,则该处理单元具体用于,确定该Cbase内是否存在与该Key对应的数据值Value,若确定该Cbase内存在与该Key对应的数据值Value,则确定该Cbase内存储有该目标数据;若确定该Cbase内不存在与该Key对应的数据值Value,则确定该Cbase内未存储有该目标数据。
[0086]需要说明的是,数据由Key (键)和Value (值)两部分构成,其中,Key相当于数据的索引,Value是Key所代表的数据内容,一个Value可能具有多个键值,用户可以根据键值访问到数据内容。另外,该Cbase中可以持久化缓存数据。
[0087]可选地,该数据请求消息还包括与该目标数据相关的其他目标数据的标识信息,则该处理单元还用于,将该数据库内存储的该其他目标数据存储到该Cbase内,以便该应用服务器在接收到包含该其他目标数据的标识信息的数据请求消息时,将该Cbase内存储的该其他目标数据存储到该CDN缓存设备内。
[0088]具体地,在该CDN缓存设备和该Cbase内都没有存储该目标数据时,该应用服务器在数据库中获取该目标数据,并将该目标数据存储到该CDN缓存设备和该Cbase中,并对该CDN缓存设备内存储的该目标数据进行读操作或写操作,完成本次数据请求,并且该应用服务器再次接收到对应该目标数据的数据请求消息时,该应用服务器能够直接根据该数据请求消息对该CDN缓存设备中存储的该目标数据进行读操作或写操作;若该应用服务器再次接收到对应该目标数据的数据请求消息时,该CDN缓存设备中存储的该目标数据失效,则该应用服务器根据该数据请求消息从该Cbase中获取到该目标数据,避免了再次从数据库中获取,这样,该应用服务器对相同的目标数据只需要进行一次计算并从数据库中获取,并在之后再次读写该目标数据时无需计算,因为,该应用服务器在通过数据请求消息从数据库中获取目标数据时,需要对多个数据库和多张表的数据通过计算以确定目标数据,消耗了较多的时间,则通过该CDN缓存设备和该Cbase 二重缓存机制,减少了该应用服务器在数据库中获取目标数据的次数,提高了该应用服务器读写数据的速度,同时减轻了数据库的负担。
[0089]需要说明的是,由于在数据库访问权限以及安全级别均高于CDN缓存设备和Cbase,因此,该应用服务器在CDN缓存设备和Cbase中访问数据的速度高于在数据库访问数据的速度。
[0090]可选地,在该应用服务器对该目标数据进行该数据请求消息所指示的写操作后,该处理单元还用于,根据该CDN缓存设备内的被执行了该写操作的该目标数据,更新该Cbase和该数据库。
[0091]示例地,该数据请求消息为写请求消息,则该应用服务器在根据该写请求消息对该CDN缓存设备内存储的目标数据进行写操作,修改该目标数据的值后,将修改后的目标数据存储到该Cbase和该数据库中。
[0092]采用上述应用服务器,该应用服务器接收客户端发送的数据请求消息,并在确定CDN (Content Delivery Network,内容分发网络)缓存设备内存储有该数据请求消息中的标识信息对应的目标数据时,对该目标数据进行读操作或写操作;在确定该CDN缓存设备内没有存储该目标数据时,从存储有该目标数据的设备处获取该目标数据,将获取的该目标数据存储到该CDN缓存设备内,并在获取的该目标数据存储到该CDN缓存设备内后,对该CDN缓存设备内存储的该目标数据进行该数据请求消息所指示的读操作或写操作。这样,该应用服务器在接收到数据请求消息后,无需对该数据请求消息进行分析处理即可直接对该CDN缓存设备内的目标数据进行读操作或写操作,避免了每次都从数据库中读写数据,提高了该应用服务器读写数据的速度,减短了该应用服务器的响应时间。
[0093]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
【权利要求】
1.一种读写数据的方法,其特征在于,包括: 应用服务器接收客户端发送的数据请求消息;所述数据请求消息包括目标数据的标识信息; 根据所述标识信息,查询所述应用服务器所接入的内容分发网络CDN中距离所述应用服务器最近的CDN缓存设备内是否存储有所述标识信息对应的目标数据;其中,所述CDN缓存设备用于对所述应用服务器从包括数据库在内的其他设备处获取到的数据进行缓存; 当查询到所述CDN缓存设备内存储有所述目标数据时,对所述目标数据进行所述数据请求消息所指示的读操作或写操作; 在确定所述CDN缓存设备内没有存储所述目标数据时,从存储有所述目标数据的设备处获取所述目标数据,将获取的所述目标数据存储到所述CDN缓存设备内,并在获取的所述目标数据存储到所述CDN缓存设备内后,对所述CDN缓存设备内存储的所述目标数据进行所述数据请求消息所指示的读操作或写操作。
2.根据权利要求1所述的方法,其特征在于,所述应用服务器在确定所述CDN缓存设备内没有存储所述目标数据时,从存储有所述目标数据的设备处获取所述目标数据,包括: 所述应用服务器在确定所述CDN缓存设备内没有存储所述目标数据时,确定分布式缓存设备Cbase内是否存储有所述标识信息对应的目标数据; 若确定分布式缓存设备Cbase内存储有所述标识信息对应的目标数据,则从所述Cbase处获取所述目标数据; 若确定所述Cbase内没有存储所述标识信息对应的目标数据,则从所述数据库内获取所述目标数据。`
3.根据权利要求2所述的方法,其特征在于,所述标识信息包括数据键值Key;则 所述应用服务器确定分布式缓存设备Cbase内是否存储有所述标识信息对应的目标数据,包括: 所述应用服务器确定所述Cbase内是否存在与所述Key对应的数据值Value ; 若确定所述Cbase内存在与所述Key对应的数据值Value,则确定所述Cbase内存储有所述目标数据; 若确定所述Cbase内不存在与所述Key对应的数据值Value,则确定所述Cbase内未存储有所述目标数据。
4.根据权利要求2所述的方法,其特征在于,所述数据请求消息还包括与所述目标数据相关的其他目标数据的标识信息;则 所述应用服务器对所述目标数据进行所述数据请求消息所指示的读操作或写操作之后,所述方法还包括: 所述应用服务器将所述数据库内存储的所述其他目标数据存储到所述Cbase内,以便所述应用服务器在接收到包含所述其他目标数据的标识信息的数据请求消息时,将所述Cbase内存储的所述其他目标数据存储到所述CDN缓存设备内。
5.根据权利要求2至4任一项所述的方法,其特征在于,在所述应用服务器对所述目标数据进行所述数据请求消息所指示的写操作后,所述方法还包括: 所述应用服务器根据所述CDN缓存设备内的被执行了所述写操作的所述目标数据,更新所述Cbase和所述数据库。
6.一种应用服务器,其特征在于,包括: 接收单元,用于接收客户端发送的数据请求消息;所述数据请求消息包括目标数据的标识信息; 处理单元,用于根据所述标识信息,查询所述应用服务器所接入的内容分发网络CDN中距离所述应用服务器最近的CDN缓存设备内是否存储有所述标识信息对应的目标数据;当查询到所述CDN缓存设备内存储有所述目标数据时,对所述目标数据进行所述数据请求消息所指示的读操作或写操作;其中,所述CDN缓存设备用于对所述应用服务器从包括数据库在内的其他设备处获取到的数据进行缓存; 所述处理单元还用于,在确定所述CDN缓存设备内没有存储所述目标数据时,从存储有所述目标数据的设备处获取所述目标数据,将获取的所述目标数据存储到所述CDN缓存设备内,并在获取的所述目标数据存储到所述CDN缓存设备内后,对所述CDN缓存设备内存储的所述目标数据进行所述数据请求消息所指示的读操作或写操作。
7.根据权利要求6所述的应用服务器,其特征在于,所述处理单元具体用于: 在确定所述CDN缓存设备内没有存储所述目标数据时,确定分布式缓存设备Cbase内是否存储有所述标识信息对应的目标数据; 若确定分布式缓存设备Cbase内存储有所述标识信息对应的目标数据,则从所述Cbase处获取所述目标数据; 若确定所述Cbase内没有存储所述标识信息对应的目标数据,则从所述数据库内获取所述目标数据。
8.根据权利要求7所述的应用服务器,其特征在于,所述标识信息包括数据键值Key;则所述处理单元具体用于,确定所述Cbase内是否存在与所述Key对应的数据值Value ; 若确定所述Cbase内存在与所述Key对应的数据值Value,则确定所述Cbase内存储有所述目标数据; 若确定所述Cbase内不存在与所述Key对应的数据值Value,则确定所述Cbase内未存储有所述目标数据。
9.根据权利要求7所述的应用服务器,其特征在于,所述数据请求消息还包括与所述目标数据相关的其他目标数据的标识信息;则所述处理单元还用于,将所述数据库内存储的所述其他目标数据存储到所述Cbase内,以便所述应用服务器在接收到包含所述其他目标数据的标识信息的数据请求消息时,将所述Cbase内存储的所述其他目标数据存储到所述⑶N缓存设备内。
10.根据权利要求7至9任一项所述的应用服务器,其特征在于,在所述对所述目标数据进行所述数据请求消息所指示的写操作后,所述处理单元还用于,根据所述CDN缓存设备内的被执行了所述写操作的所述目标数据,更新所述Cbase和所述数据库。
【文档编号】H04L29/06GK103747072SQ201310745987
【公开日】2014年4月23日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】曹坤波, 张文明, 张国斌, 李爽 申请人:乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1