数据存储方法、应用服务器及远程存储服务器技术

技术编号:15767425 阅读:118 留言:0更新日期:2017-07-06 15:25
本申请涉及计算机技术领域,尤其涉及一种数据存储方法、应用服务器及远程存储服务器,在一种数据存储方法中,应用服务器集群中的某一应用服务器在确定待写入数据之后,首先将待写入数据存储到本地缓存中。之后向远程存储服务器发送远程调用请求,远程存储服务器在接收到远程调用请求之后,将待写入数据存储到远程存储服务器对应的存储单元中。由此可以看出,本申请是同时结合了本地缓存及远程存储两种方式,来对数据进行存储,由此,既可以提高整个应用服务器集群的数据的访问效率,又可以避免数据热点的问题。

Data storage method, application server and remote storage server

The invention relates to the field of computer technology, especially relates to a method for storing data, the application server and the remote storage server in a data storage method, application server cluster in an application server after determining to write data, the first data storage will be written to the local cache. After that, a remote call request is sent to the remote storage server, and the remote storage server stores the pending data stored in the corresponding storage unit of the remote storage server after the remote call request is received. It can be seen that this application is combined with the local cache and remote storage two ways to store the data, thus, not only can improve the access efficiency of the entire application server cluster data, and can avoid the problem of hot data.

【技术实现步骤摘要】
数据存储方法、应用服务器及远程存储服务器
本申请涉及计算机存储
,尤其涉及一种数据存储方法、应用服务器及远程存储服务器。
技术介绍
传统技术中,为了提高数据的访问效率,应用服务器通常会对部分数据进行存储,其存储数据的方式主要有如下两种:第一种方式是,本地缓存的方式,也即应用服务器将上述数据存储到本地缓存(也即内存)中,然而,由于内存中的数据不能实现共享,因此,即便是与该应用服务器属于同一应用服务器集群的其它应用服务器也不能访问上述数据,事实上,同一应用服务器集群中的各应用服务器共同用于部署同一业务系统时,其存储和读取所需的数据是完全一致的。由此可以看出,该种数据存储的方式只能提高当前应用服务器的数据的访问效率,而无法提高整个应用服务器集群的数据的访问效率。第二种方式是,远程存储的方式,也即将上述数据存储到远程存储服务器上。当应用服务器想要访问该数据时,通过向远程存储服务器发送远程过程调用(RemoteProcedureCall,RPC)请求的方式来读取该数据。在该种数据存储方式中,虽然,远程存储服务器上的数据可以被同一应用服务器集群中的所有应用服务器所访问,但是,当同时有多个应用服务器想要访问远程存储服务器上的同一数据时,就会出现远程存储服务器的访问瓶颈的问题,也即出现热点数据问题,这会降低远程服务器的性能。
技术实现思路
本申请描述了一种数据存储方法、应用服务器及远程存储服务器,可以提高整个应用服务器集群的数据的访问效率。第一方面,提供了一种数据存储方法,包括:第一应用服务器确定待写入数据,所述第一应用服务器为用于部署同一业务系统的应用服务器集群中的任一应用服务器;将所述待写入数据存储到本地缓存中;向远程存储服务器发送第一远程调用请求,所述第一远程调用请求包括所述待写入数据,所述第一远程调用请求用于指示所述远程存储服务器将所述待写入数据存储到所述远程存储服务器对应的存储单元中。第二方面,提供了一种数据存储方法,包括:远程存储服务器接收第一应用服务器在将待写入数据存储到本地缓存之后发送的第一远程调用请求,所述第一应用服务器为用于部署同一业务系统的应用服务器集群中的任一应用服务器,所述第一远程调用请求包括所述待写入数据;根据所述第一远程调用请求,将所述待写入数据存储到所述远程存储服务器对应的存储单元中。第三方面,提供了一种应用服务器,包括:确定单元,用于确定待写入数据;存储单元,用于将所述确定单元确定的所述待写入数据存储到本地缓存中;发送单元,用于向远程存储服务器发送第一远程调用请求,所述第一远程调用请求包括所述待写入数据,所述第一远程调用请求用于指示所述远程存储服务器将所述待写入数据存储到所述远程存储服务器中。第四方面,提供了一种远程存储服务器,包括:接收单元,用于接收第一应用服务器在将待写入数据存储到本地缓存之后发送的第一远程调用请求,所述第一应用服务器为用于部署同一业务系统的应用服务器集群中的任一应用服务器,所述第一远程调用请求包括所述待写入数据;存储单元,用于根据所述第一远程调用请求,存储所述待写入数据。本申请提供的数据存储方法、应用服务器及远程存储服务器,应用服务器集群中的某一应用服务器在确定待写入数据之后,首先将待写入数据存储到本地缓存中。之后向远程存储服务器发送远程调用请求,远程存储服务器在接收到远程调用请求之后,将待写入数据存储到远程存储服务器对应的存储单元中。由此可以看出,本申请是同时结合了本地缓存及远程存储两种方式,来对数据进行存储,由此,既可以提高整个应用服务器集群的数据的访问效率,又可以避免数据热点的问题。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本申请提供的数据存储方法的应用场景示意图;图2为本申请一种实施例提供的数据存储方法流程图;图3为本申请另一种实施例提供的数据存储方法流程图;图4为本申请一种实施例提供的应用服务器的示意图;图5为本申请另一种实施例提供的远程存储服务器的示意图。具体实施方式下面结合附图,对本专利技术的实施例进行描述。本申请实施例提供的数据存储方法、应用服务器及远程存储服务器,适用于应用服务器集群中的应用服务器存储数据的场景,该应用服务器集群用于部署同一业务系统(如,淘宝交易系统以及支付宝账户系统等),其可以包括两个以上的应用服务器。图1为本申请提供的数据存储方法的应用场景示意图,图1中,同一业务系统同时部署在两个应用服务器上,也即应用服务器集群10可以包括两个应用服务器,该两个应用服务器分别为:应用服务器101和应用服务器102,其中,应用服务器101的互联网协议地址(InternetProtocolAddress,IP)为:IP1,应用服务器102的IP为:IP2。该两个应用服务器的组成结构相同,以应用服务器101为例来说,其可以包括缓存组件(component)和本地缓存(也称内存或者本地数据中心),缓存组件中同时封装了本地缓存的相关组件以及远程缓存的相关组件,其用于在本地缓存中存储数据,还用于在远程存储服务器中存储数据。在一个例子中,缓存组件在本地缓存中是以键值对(Key-Vlaue)的形式来存储数据的,如,<key1,data1>,<key2,data2>,…,<keyn,datan>,其中,data1,data2,…,datan是指存储的实实在在的数据,而key1,key2,…,keyn是指上述数据的标识,其通常是由业务系统根据业务最常用的使用条件来设定的。如,在应用服务器集群10上部署的业务系统为淘宝交易系统时,数据的标识可以为商品的唯一标识(identifier,ID),而在应用服务器集群10上部署的业务系统为支付宝账户系统时,上述数据的标识可以为用户的ID(user_id)。图1中的远程存储服务器20可以包括控制单元201(也称控制中心)和存储单元202(也称数据中心),控制单元201用于记录与远程存储服务器已建立连接的应用服务器的地址,并用于记录远程存储服务器与该应用服务器的通讯通道的通道标识。在一个例子中,上述地址与通道标识可以对应存储。存储单元202用于存储应用服务器发送的数据,其可以是指内存也可以是指外存,当存储单元202为外存时,该外存可以为磁盘等。可以理解的是,存储单元202中的数据也可以是以键值对的形式存储的。图2为本申请一种实施例提供的数据存储方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如图1中的应用服务器。如图2所示,所述方法具体可以包括:步骤210,第一应用服务器确定待写入数据。此处的第一应用服务器可以为用于部署同一业务系统的应用服务器集群中的任一应用服务器。如,可以为用于部署淘宝交易系统的应用服务器集群中的任一应用服务器,也可以为用于部署支付宝账户系统的应用服务器集群中的任一应用服务器。步骤210中,第一应用服务器可以通过两种方式来确定待写入数据:第一种方式是,第一应用服务器想要提高某一数据的访问效率,则可以将该数据确定为待写入数据。本文档来自技高网...
数据存储方法、应用服务器及远程存储服务器

【技术保护点】
一种数据存储方法,其特征在于,包括:第一应用服务器确定待写入数据,所述第一应用服务器为用于部署同一业务系统的应用服务器集群中的任一应用服务器;将所述待写入数据存储到本地缓存中;向远程存储服务器发送第一远程调用请求,所述第一远程调用请求包括所述待写入数据,所述第一远程调用请求用于指示所述远程存储服务器将所述待写入数据存储到所述远程存储服务器对应的存储单元中。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:第一应用服务器确定待写入数据,所述第一应用服务器为用于部署同一业务系统的应用服务器集群中的任一应用服务器;将所述待写入数据存储到本地缓存中;向远程存储服务器发送第一远程调用请求,所述第一远程调用请求包括所述待写入数据,所述第一远程调用请求用于指示所述远程存储服务器将所述待写入数据存储到所述远程存储服务器对应的存储单元中。2.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据存储到本地缓存中,包括:判断所述本地缓存的队列的长度是否超过预设阈值;若超过预设阈值,则按照预设的数据移除算法,对所述队列中的数据进行移除;将所述待写入数据存储到移除数据后的队列中。3.根据权利要求1所述的方法,其特征在于,还包括:接收调用方发送的读数据请求,所述读数据请求包括待读取数据的第一标识;根据所述第一标识,从所述本地缓存中查找所述待读取数据;若未查找到所述待读取数据,则向所述远程存储服务器发送第二远程调用请求,所述第二远程调用请求包括所述第一标识,所述第二远程调用请求用于指示所述远程存储服务器根据所述第一标识,从所述存储单元中查找所述待读取数据;接收所述远程存储服务器发送的所述待读取数据;将所述待读取数据存储到所述本地缓存中,并向所述调用方返回所述待读取数据。4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:确定待删除数据的第二标识;根据所述第二标识,从所述本地缓存中查找所述待删除数据,并删除所述待删除数据;向所述远程存储服务器发送第三远程调用请求,所述第三远程调用请求包括所述第二标识,所述第三远程调用请求用于指示所述远程存储服务器根据所述第二标识,从所述存储单元中查找并删除所述待删除数据,确定所述远程存储服务器与其它应用服务器之间的通讯通道,并通过所述通讯通道向所述其它服务器发送指示消息,所述指示消息用于指示所述其它应用服务器从对应的本地缓存中删除所述待删除数据;所述其它应用服务器是指所述应用服务器集群中与所述远程存储服务器已建立连接的应用服务器。5.一种数据存储方法,其特征在于,包括:远程存储服务器接收第一应用服务器在将待写入数据存储到本地缓存之后发送的第一远程调用请求,所述第一应用服务器为用于部署同一业务系统的应用服务器集群中的任一应用服务器,所述第一远程调用请求包括所述待写入数据;根据所述第一远程调用请求,将所述待写入数据存储到所述远程存储服务器对应的存储单元中。6.根据权利要求5所述的方法,其特征在于,所述第一远程调用请求还包括所述第一应用服务器的地址;所述根据所述第一远程调用请求,将所述待写入数据存储到所述远程存储服务器对应的存储单元中,包括:根据所述地址,从所述远程存储服务器的控制单元中查找所述第一应用服务器;若查找到所述第一应用服务器,则将所述待写入数据存储到所述远程存储服务器对应的存储单元中;若未查找到所述第一应用服务器,则建立与所述第一应用服务器的通讯通道,为所述通讯通道分配通道标识,并在所述控制单元中记录所述地址与所述通道标识的对应关系,将所述待写入数据存储到所述远程存储服务器对应的存储单元中。7.根据权利要求5所述的方法,其特征在于,还包括:接收所述第一应用服务器在根据调用方发送的待读取数据的第一标识,从所述本地缓存中未查找到所述待读取数据时发送的第二远程调用请求,所述第二远程调用请求包括所述第一标识;根据所述第一标识,从所述存储单元中查找所述待读取数据;若查找到所述待读取数据,则向所述第一应用服务器返回所述待读取数据,以用于所述第一应用服务器将所述待读取数据存储到所述本地缓存中,并向所述调用方返回所述待读取数据。8.根据权利要求7所述的方法,其特征在于,所述第二远程调用请求还包括所述第一应用服务器的地址;所述根据所述第一标识,从所述存储单元中查找所述待读取数据,包括:根据所述地址,从所述远程存储服务器的控制单元中查找所述第一应用服务器;若查找到所述第一应用服务器,则根据所述第一标识,从所述存储单元中查找所述待读取数据;若未查找到所述第一应用服务器,则建立与所述第一应用服务器的通讯通道,为所述通讯通道分配通道标识,并在所述控制单元中记录所述地址与所述通道标识的对应关系,根据所述第一标识,从所述存储单元中查找所述待读取数据。9.根据权利要求6或8所述的方法,其特征在于,还包括:接收所述第一应用服务器在根据待删除数据的第二标识,从所述本地缓存中查找并删除所述待删除数据之后发送的第三远程调用请求,所述第三远程调用请求包括所述第二标识;根据所述第二标识,从所述存储单元中查找并删除所述待删除数据;从所述控制单元中获取所述应用服务器集群中与所述远程存储服务器已建立连接的其它应用服务器的地址,并获取所述地址对应的通道标识;通过所述通道标识对应的通讯通道向所述其它应用服务器发送指示消息,所述指示消息用于指示所述其它应用服务器从对应的本地缓存中查找并删除所述待删除数据。10.一种应用服务器,其特征在于,包括:确定单元,用于确定待写入数据;存储单元,用于将所...

【专利技术属性】
技术研发人员:华洁
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1