数据处理方法、装置、服务端以及存储介质与流程

专利2022-06-30  63


本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法、装置、服务端以及存储介质。



背景技术:

随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,为了能够有效利用有限的资源来提供尽可能大的吞吐量,大多采用缓存系统来进行数据读取。目前大多缓存系统采用主从结构,在主从架构下,一般会提供主接入节点和从接入节点,但是,在这种架构下,需要业务人员硬编码去选择读取主节点或者从节点,导致灵活性很差,且成本高。



技术实现要素:

基于以上研究,本发明提供了一种数据处理方法、装置、服务端以及存储介质,以改善上述问题。

本发明的实施例可以这样实现:

第一方面,实施例提供一种数据处理方法,应用于服务端,所述服务端中配置有数据处理策略以及多个操作节点,所述方法包括:

接收客户端发出的命令,对所述命令进行解析;

根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

在可选的实施方式中,所述多个操作节点中包括多个读操作节点以及多个写操作节点,所述多个读操作节点按顺序存储于读节点列表中,所述多个写操作节点按顺序存储于写节点列表中;

所述接收客户端发出的命令,对所述命令进行解析的步骤包括:

接收所述客户端发出的命令,判断所述命令是否为写命令或者是否为读命令;

所述根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理的步骤包括:

在判定所述命令为写命令时,根据所述数据处理策略选取所述写节点列表中所有的所述写操作节点,使所有的所述写操作节点按照在所述写节点列表中的顺序依次执行所述写命令;

在判定所述命令为读命令时,根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点,以执行所述读命令。

在可选的实施方式中,所述数据处理策略包括只读读节点策略以及读节点优先策略;

所述根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点的步骤包括:

当所述数据处理策略为只读读节点策略时,根据所述只读读节点策略从所述读节点列表中随机选择一个所述读操作节点;

当所述数据处理策略为读节点优先策略时,判断所述读节点列表是否为空,若所述读节点列表不为空,从所述读节点列表随机选择一个所述读操作节点,若所述读节点列表为空,从所述写节点列表中任意选择一个所述写操作节点。

在可选的实施方式中,所述数据处理策略包括只读写节点策略以及写节点优先策略;

所述根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点的步骤包括:

当所述数据处理策略为只读写节点策略时,根据所述只读写节点策略从所述写节点列表中随机选择一个所述写操作节点;

当所述数据处理策略为写节点优先策略时,判断所述写节点列表是否为空,若所述写节点列表不为空,从所述写节点列表随机选择一个所述写操作节点,若所述写节点列表为空,从所述读节点列表中任意选择一个所述读操作节点。

在可选的实施方式中,每个所述操作节点与缓存集群中的节点一一对应,所述方法还包括:

针对每个操作节点,通过该操作节点向该操作节点对应的缓存集群中的节点发送心跳包;

在接收到对应的缓存集群中的节点返回的反馈消息时,记录发送所述心跳包的时间与接收到所述反馈消息的时间之间的延迟时间;

在未接收到对应的缓存集群中的节点返回的反馈信息时,从所述多个操作节点中删除该操作节点。

在可选的实施方式中,所述数据处理策略包括最小延迟策略;所述根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点的步骤包括:

若解析后的命令为读命令,根据所述最小延迟策略,从所述多个操作节点中选取所述延迟时间最小的操作节点。

在可选的实施方式中,每个所述操作节点配置有连接池,所述执行解析后的命令的步骤包括:

基于所述连接池,通过选择的操作节点将解析后的命令发送至该操作节点对应的缓存集群中的节点,以使对应的缓存集群中的节点执行所述解析后的命令。

第二方面,实施例提供一种数据处理装置,应用于服务端,所述服务端配置有数据处理策略以及多个操作节点,所述装置包括解析模块以及选择模块;

所述解析模块用于接收客户端发出的命令,对所述命令进行解析;

所述选择模块用于根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

第三方面,实施例提供一种服务端,所述服务端配置有数据处理策略以及多个操作节点,所述服务端用于:

接收客户端发出的命令,对所述命令进行解析;

根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

第四方面,实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述前述实施方式中任意一项所述的数据处理方法。

本发明实施例提供的数据处理方法、装置、服务端以及存储介质,在接收到客户端发出的命令后,对命令进行解析,根据解析后的命令以及配置的数据处理策略从多个操作节点中选择操作节点,以执行解析后的命令,无需业务人员编码去选择节点,灵活性高,简单便捷,且成本低。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例所提供的数据处理方法的一种应用场景示意图。

图2为本发明实施例所提供的数据处理方法的一种流程示意图。

图3为本发明实施例所提供的数据处理方法的另一种流程示意图。

图4为本发明实施例所提供的数据处理装置的一种方框示意图。

图标:100-负载均衡缓存系统;10-客户端;20-服务端;21-数据处理装置;211-解析模块;212-选择模块;30-缓存集群。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。

随着互联网的普及,内容信息越来越复杂,用户数和访问量越来越大,导致应用需要支撑更多的并发量,同时应用服务器和数据库服务器所做的计算也越来越多。但是往往应用服务器资源是有限的,且技术变革是缓慢的,数据库服务器每秒能接受的请求次数也是有限的(或者文件的读写也是有限的),为了能够有效利用有限的资源来提供尽可能大的吞吐量,大多采用缓存系统来进行数据读取,其每个环节中的请求均可以从缓存系统中直接获取目标数据并返回,从而减少计算量,有效提升响应速度,让有限的资源服务更多的用户。

目前,大多数的缓存系统是采用主从结构,在主从架构下,一般都提供主接入节点和从接入节点,比如亚马逊云服务(amazonwebservice,aws)提供的主从架构elasticcache。在这种架构下,需要业务人员硬编码选择读取主节点还是从节点,灵活性很差,而且如果读的是主节点,在主节点故障期间,整个服务不可用,如果读的是从节点,从节点没有故障迁移能力,故障期间也会导致服务不可用。除此之外,由于软硬件升级和容量规划,缓存系统迁移是常见的操作,一般需要业务开发人员在每个写缓存系统的地方全部改成双写,工作量大,并且容易出错。

基于上述研究,本实施例提供了一种数据处理方法,以改善上述问题。

请参阅图1,图1为本实施例所提供的一种数据处理方法的可选应用场景的示意图,数据处理方法可以应用于负载均衡缓存系统100。所述负载均衡缓存系统100包括客户端10、服务端20以及缓存集群30。

其中,客户端10指业务方所使用的用户终端。所述客户端10可以是,但不限于,个人电脑(personalcomputer,pc)、平板电脑、个人数字助理(personaldigitalassistant,pda)、移动上网设备(mobileinternetdevice,mid)等。

在本实施例中,缓存集群30可以为主从架构的缓存集群,例如redis集群,memcached等。其中,主从架构的缓存集群至少包括一个主节点以及至少一个从节点,且在一个缓存集群中,主节点与从节点的数据是同步的。所述主节点用于进行数据的读写处理,所述从节点用于进行数据的读处理。

在本实施例中,服务端20可以为负载均衡缓存系统100的中间件,与缓存集群30以及客户端10连接。

其中,服务端20配置有数据处理策略以及多个操作节点,每个操作节点与缓存集群30中的节点一一对应,且每个操作节点与对应的缓存集群30中的节点通信连接。

可选的,本实施例可根据业务方的业务需求配置数据处理策略以及操作节点。在具体地实施方式中,业务方根据业务需求提供所需的操作节点以及数据处理策略,服务方根据提供的操作节点以及数据处理策略构建服务端20。

作为一种可选的实施方式,本实施例中,服务端20可以集成于客户端10,即可将服务端20部署于客户端10,通过客户端10调用服务端20,使服务端20执行本实施例所提供的数据处理方法。当服务端20集成于客户端10时,可通过java注解技术和springboot框架封装成缓存系统负载均衡库,客户端10引入该缓存系统负载均衡库,在实施时,只需要引入注解,即可使用该缓存系统负载均衡库,通过该缓存系统负载均衡库执行本实施例所提供的数据处理方法。

作为另一种可选的实施方式,在本实施例中,服务端20还可以独立于客户端10进行部署,即单独部署服务端20。当服务端20独立于客户端10部署时,服务端20与客户端10通信连接,以对客户端10发出的请求、命令等进行处理。

本实施例所提供的数据处理方法,应用于负载均衡缓存系统100中的服务端20中。可选的,为了便于数据的处理以及提高数据处理的响应速率,本实施例将服务端20集成于客户端10。

基于上述负载均衡缓存系统100的架构,请结合参阅图2,图2为本实施例所提供的数据处理方法的一种流程示意图。下面对图2所示的流程示意图中的步骤进行详细阐述。

步骤s10:接收客户端发出的命令,对所述命令进行解析。

步骤s20:根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

由于本实施例所提供的服务端中配置有数据处理策略以及多个操作节点,因此,在接收客户端发出的命令,对命令进行解析后,即可根据解析后的命令以及配置的数据处理策略从多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理,无需人工编码去选择节点,对业务人员编写业务代码侵入小,提高了节点选择的灵活性,且方案实现简单,成本低。

为了便于操作节点的选择,在本实施例中,根据操作节点所对应的功能,将操作节点分为写操作节点以及读操作节点,即本实施例中的多个操作节点中包括多个读操作节点以及多个写操作节点。

为了便于操作节点的维护,在本实施例中,所述多个读操作节点按顺序存储于读节点列表中,所述多个写操作节点按顺序存储于写节点列表中。

其中,读操作节点和写操作节点的顺序可以任意设定,本实施例不做限定。

在一种可选的实施方式中,多个读操作节点以及多个写操作节点也可以按顺序存储于同一节点列表,但为了区分读操作节点和写操作节点,需要在该节点列表中标示操作节点的角色,例如,若某操作节点为读操作节点,则在该节点列表中将该操作节点标示为读操作节点,以此在同一节点列表中区分读操作节点和写操作节点,进而便于操作节点的选择。其中,标示读操作节点和写操作节点的方式可以灵活选择,如可以通过不同的标识信息、不同的字段进行标识。

基于上述对操作节点的设置,在接收到客户端发送的命令,对命令进行解析后,即可根据解析后的命令以及配置的数据处理策略,在节点列表选择操作节点。

可选的,在本实施例中,客户端发出的命令包括写命令和读命令,因此,服务端接收客户端发出的命令,对命令进行解析的步骤可以包括以下过程:

接收所述客户端发出的命令,判断所述命令是否为写命令或者是否为读命令。

相应地,所述根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理的过程包括:

在判定所述命令为写命令时,根据所述数据处理策略选取所述写节点列表中所有的所述写操作节点,使所有的所述写操作节点按照在所述写节点列表中的顺序依次执行所述写命令。

在判定所述命令为读命令时,根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点,以执行所述读命令。

在本实施例中,在根据解析后的命令以及配置的数据处理策略从节点列表中选取操作节点后,即可基于选择的操作节点执行该解析后的命令,进行数据处理。

在可选的实施方式中,所述执行解析后的命令的步骤可以包括:

基于所述连接池,通过选择的操作节点将解析后的命令发送至该操作节点对应的缓存集群中的节点,以使对应的缓存集群中的节点执行所述解析后的命令。

其中,连接池是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对目标进行访问,省略了创建连接和销毁连接的过程,提高了数据处理的性能,因此,在本实施例中,每个操作节点均配置有连接池,以使每个操作节点通过连接池与对应的缓存集群中的节点进行通联。

在一种示例性的实施方式中,在从节点列表中选择操作节点后,被选择的操作节点则可通过连接池将解析后的命令发送至对应的缓存集群中的节点,由对应的缓存集群中的节点执行解析后的命令,即从连接池中选择已创建好的连接,通过该连接向对应的缓存集群中的节点发送解析后的命令,而缓存集群中的节点在接收到该解析后的命令后,执行该解析后的命令。

例如,在解析得到的为读命令时,从读节点列表中选择一读操作节点后,该读操作节点则将读命令通过连接池发送至对应的缓存集群中的节点,而缓存集群中的节点则根据读命令执行数据读取操作。

在本实施例中,读操作节点对应于缓存集群中的从节点,写操作节点对应于缓存集群中的主节点。因此,本实施例可通过配置多个写操作节点,将每个写操作节点对应于不同缓存集群中的主节点,以此完成缓存集群中数据的迁移。

在一种示例性的实施方式中,在解析得到的为写命令时,从写节点列表中选择所有的写操作节点后,所有的写操作节点按照在写节点列表中的顺序向对应的缓存集群中的主节点发送写命令,使对应的缓存集群中的主节点执行数据的写操作,即缓存数据。在所有的缓存集群中的主节点的缓存数据同步以后,则可以删掉需要下调的主节点,以此完成多写迁移操作。

例如,a写操作节点、b写操作节点依次存储于写节点列表中,其中,a写操作节点对应于a缓存集群中的主节点,b写操作节点对应于b缓存集群中的主节点,则在解析得到的为写命令时,a写操作节点、b写操作节点依次向对应的缓存集群中的主节点发送写命令,即a写操作节点向对应的a缓存集群中的主节点、b写操作节点向对应的b缓存集群中的主节点发送写命令,以使a缓存集群中的主节点、b缓存集群中的主节点执行数据缓存操作,在a缓存集群中的主节点、b缓存集群中的主节点中的数据缓存同步以后,若需要下调a缓存集群中的主节点,则对a缓存集群中的主节点进行删除,而a缓存集群中的主节点的数据也迁移至b缓存集群中的主节点中。

可以理解地,在本实施例中,在对应的缓存集群中的节点执行完命令后,也可通过连接池将执行的结果返回至对应的操作节点,由对应的操作节点返回至客户端。

本实施例所提供的数据处理方法,当客户端发出的命令为写命令时,根据数据处理策略,使写节点列表中的所有的写操作节点按照在写节点列表中的顺序依次以执行写命令,以完成数据的多写迁移操作,操作简单,工作量少,不容易出错。当客户端发出的命令为读命令时,根据数据处理策略,从写节点列表选取写操作节点或从读节点列表中选取读操作节点,以执行读命令,灵活性高,响应时间快。

在可选的实施方式中,本实施例所提供的数据处理策略包括只读读节点策略、读节点优先策略、只读写节点策略以及写节点优先策略。

相应地,所述根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点的过程包括:

当所述数据处理策略为只读读节点策略时,根据所述只读读节点策略从所述读节点列表中随机选择一个所述读操作节点。

当所述数据处理策略为读节点优先策略时,判断所述读节点列表是否为空,若所述读节点列表不为空,从所述读节点列表随机选择一个所述读操作节点,若所述读节点列表为空,从所述写节点列表中任意选择一个所述写操作节点。

当所述数据处理策略为只读写节点策略时,根据所述只读写节点策略从所述写节点列表中随机选择一个所述写操作节点。

当所述数据处理策略为写节点优先策略时,判断所述写节点列表是否为空,若所述写节点列表不为空,从所述写节点列表随机选择一个所述写操作节点,若所述写节点列表为空,从所述读节点列表中任意选择一个所述读操作节点。

其中,节点列表为空,表示服务端未配置相应的操作节点,例如,读节点列表为空,则表示服务端未配置读操作节点,当写节点列表为空,则表示服务端未配置写操作节点。

在本实施例中,当配置的数据处理策略为只读读节点策略或只读写节点策略时,在解析到读命令时,则只从读节点列表随机选择读操作节点或者只从写节点列表中随机选择写操作节点。当配置的数据处理策略为读节点优先策略时,在读节点列表不为空的情况下,从读节点列表随机选择一个读操作节点,若读节点列表为空,则从写节点列表中任意选择一个写操作节点。当配置的数据策略为写节点优先策略时,在写节点列表不为空的情况下,从写节点列表中随机选择一个写操作节点,若写节点列表为空,则从读节点列表中任意选择一个读操作节点,以此,提高了节点选择的灵活性以及服务的可用性。

需要说明的是,在本实施例中,只读读节点策略、读节点优先策略、只读写节点策略以及写节点优先策略分别与判定为写命令时的数据处理策略并行,即当判定为写命令时,根据数据处理策略选择写节点列表中所有的操作节点,当判定为读命令时,则根据当前配置的只读读节点策略、读节点优先策略、只读写节点策略或写节点优先策略,从读节点列表中选择读操作节点或者从写节点列表中选择写操作节点。

本实施例所提供的数据处理方法,根据配置的数据处理策略选择操作节点,以执行服务,提升了服务可用性,当主节点故障,依旧能基于从节点提供数据的读服务,当从节点故障时,依旧能基于其他的从节点或者主节点提供数据的读服务。

为了维护配置的操作节点,保证配置的操作节点的可用性,请结合参阅图3,所述方法还包括步骤s30至步骤s60。

步骤s30:针对每个操作节点,通过该操作节点向该操作节点对应的缓存集群中的节点发送心跳包。

步骤s40:判断是否接收到对应的缓存集群中的节点返回的反馈消息。

其中,在接收到对应的缓存集群中的节点返回的反馈消息时,执行步骤s50。在未接收到对应的缓存集群中的节点返回的反馈消息时,执行步骤s60。

步骤s50:记录发送所述心跳包的时间与接收到所述反馈消息的时间之间的延迟时间。

步骤s60:在未接收到对应的缓存集群中的节点返回的反馈信息时,从所述多个操作节点中删除该操作节点。

其中,本实施例通过心跳包对操作节点进行健康检查,每间隔一定时间,操作节点向对应的缓存集群中的节点发送心跳包,并判断是否接收到对应的缓存集群中的节点返回的反馈消息。

若对应的缓存集群中的节点存在,则该节点在接收到心跳包后,向发出心跳包的操作节点返回一反馈信息,而操作节点在接收到反馈信息后,对发送心跳包的时间与接收到反馈消息的时间之间的延迟时间进行记录。若操作节点未接收到对应的缓存集群中的节点返回的反馈信息,则表示对应的缓存集群中的节点不存在,该操作节点不可用,对该操作节点进行删除,以此保证了配置的操作节点的可用性。

基于上述对操作节点的健康检测,因此对每个操作节点均记录有延迟时间,为了提高数据的处理效率,本实施例所提供的数据处理策略还可以包括最小延迟策略。因此,所述根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点的步骤可以包括:

若解析后的命令为读命令,根据所述最小延迟策略,从所述多个操作节点中选取所述延迟时间最小的操作节点。

例如,配置的操作节点包括a操作节点、b操作节点、c操作节点,在进行健康检测后,a操作节点的延迟时间为0.1s,b操作节点的延迟时间为0.2s,c操作节点的延迟时间为0.3s,则在解析到读命令后,根据最小延迟策略,选择a操作节点,以执行读命令。

本实施例所提供的数据处理方法,根据配置的数据处理策略,选择操作节点,一方面无需业务人员编码去选择节点、提高了节点选择的灵活性,降低了成本,另一方面,降低了数据读取的时延,提升了服务的读取吞吐量。

在上述基础上,请结合参阅图4,本实施例还提供了一种数据处理装置21,应用于服务端20,所述服务端20配置有数据处理策略以及多个操作节点,所述装置包括解析模块211以及选择模块212。

所述解析模块211用于接收客户端发出的命令,对所述命令进行解析。

所述选择模块212用于根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据处理装置21的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。

在上述基础上,本实施例还提供一种服务端,所述服务端配置有数据处理策略以及多个操作节点,所述服务端用于接收客户端发出的命令,对所述命令进行解析,并根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

在上述基础上,本实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述实施方式中任意一项所述的数据处理方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的服务端以及存储介质的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。

综上所述,本实施例提供的数据处理方法、装置、服务端以及存储介质,在接收到客户端发出的命令后,对命令进行解析,根据解析后的命令以及配置的数据处理策略从多个操作节点中选择操作节点,以执行解析后的命令,无需业务人员编码去选择节点,灵活性高,简单便捷,且成本低。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。


技术特征:

1.一种数据处理方法,其特征在于,应用于服务端,所述服务端中配置有数据处理策略以及多个操作节点,所述方法包括:

接收客户端发出的命令,对所述命令进行解析;

根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

2.根据权利要求1所述的数据处理方法,其特征在于,所述多个操作节点中包括多个读操作节点以及多个写操作节点,所述多个读操作节点按顺序存储于读节点列表中,所述多个写操作节点按顺序存储于写节点列表中;

所述接收客户端发出的命令,对所述命令进行解析的步骤包括:

接收所述客户端发出的命令,判断所述命令是否为写命令或者是否为读命令;

所述根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理的步骤包括:

在判定所述命令为写命令时,根据所述数据处理策略选取所述写节点列表中所有的所述写操作节点,使所有的所述写操作节点按照在所述写节点列表中的顺序依次执行所述写命令;

在判定所述命令为读命令时,根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点,以执行所述读命令。

3.根据权利要求2所述的数据处理方法,其特征在于,所述数据处理策略包括只读读节点策略以及读节点优先策略;

所述根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点的步骤包括:

当所述数据处理策略为只读读节点策略时,根据所述只读读节点策略从所述读节点列表中随机选择一个所述读操作节点;

当所述数据处理策略为读节点优先策略时,判断所述读节点列表是否为空,若所述读节点列表不为空,从所述读节点列表随机选择一个所述读操作节点,若所述读节点列表为空,从所述写节点列表中任意选择一个所述写操作节点。

4.根据权利要求2所述的数据处理方法,其特征在于,所述数据处理策略包括只读写节点策略以及写节点优先策略;

所述根据所述数据处理策略从所述写节点列表选取所述写操作节点或从所述读节点列表中选取所述读操作节点的步骤包括:

当所述数据处理策略为只读写节点策略时,根据所述只读写节点策略从所述写节点列表中随机选择一个所述写操作节点;

当所述数据处理策略为写节点优先策略时,判断所述写节点列表是否为空,若所述写节点列表不为空,从所述写节点列表随机选择一个所述写操作节点,若所述写节点列表为空,从所述读节点列表中任意选择一个所述读操作节点。

5.根据权利要求1所述的数据处理方法,其特征在于,每个所述操作节点与缓存集群中的节点一一对应,所述方法还包括:

针对每个操作节点,通过该操作节点向该操作节点对应的缓存集群中的节点发送心跳包;

在接收到对应的缓存集群中的节点返回的反馈消息时,记录发送所述心跳包的时间与接收到所述反馈消息的时间之间的延迟时间;

在未接收到对应的缓存集群中的节点返回的反馈信息时,从所述多个操作节点中删除该操作节点。

6.根据权利要求5所述的数据处理方法,其特征在于,所述数据处理策略包括最小延迟策略;所述根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点的步骤包括:

若解析后的命令为读命令,根据所述最小延迟策略,从所述多个操作节点中选取所述延迟时间最小的操作节点。

7.根据权利要求5所述的数据处理方法,其特征在于,每个所述操作节点配置有连接池,所述执行解析后的命令的步骤包括:

基于所述连接池,通过选择的操作节点将解析后的命令发送至该操作节点对应的缓存集群中的节点,以使对应的缓存集群中的节点执行所述解析后的命令。

8.一种数据处理装置,其特征在于,应用于服务端,所述服务端配置有数据处理策略以及多个操作节点,所述装置包括解析模块以及选择模块;

所述解析模块用于接收客户端发出的命令,对所述命令进行解析;

所述选择模块用于根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

9.一种服务端,其特征在于,所述服务端配置有数据处理策略以及多个操作节点,所述服务端用于:

接收客户端发出的命令,对所述命令进行解析;

根据解析后的命令以及所述数据处理策略从所述多个操作节点中选择操作节点,以执行解析后的命令,进行数据处理。

10.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的数据处理方法。

技术总结
本发明的实施例提供了一数据处理方法、装置、服务端以及存储介质,涉及数据处理技术领域。本发明实施例提供的数据处理方法、装置、服务端以及存储介质,在接收到客户端发出的命令后,对命令进行解析,根据解析后的命令以及配置的数据处理策略从多个操作节点中选择操作节点,以执行解析后的命令,无需业务人员编码去选择节点,灵活性高,简单便捷,且成本低。

技术研发人员:吴晓敏
受保护的技术使用者:广州虎牙科技有限公司
技术研发日:2020.01.06
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-56632.html

最新回复(0)