CN108259526A - 一种数据传输方法和装置 - Google Patents

一种数据传输方法和装置 Download PDF

Info

Publication number
CN108259526A
CN108259526A CN201611238097.5A CN201611238097A CN108259526A CN 108259526 A CN108259526 A CN 108259526A CN 201611238097 A CN201611238097 A CN 201611238097A CN 108259526 A CN108259526 A CN 108259526A
Authority
CN
China
Prior art keywords
server
data
snapshot
state
degraded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611238097.5A
Other languages
English (en)
Other versions
CN108259526B (zh
Inventor
李晓伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Singapore Holdings Pte Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201611238097.5A priority Critical patent/CN108259526B/zh
Publication of CN108259526A publication Critical patent/CN108259526A/zh
Application granted granted Critical
Publication of CN108259526B publication Critical patent/CN108259526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种数据传输方法和装置,该方法包括:在接收到来自客户端的请求消息后,若所述服务端满足降级条件,则从指定存储位置选取快照产生的数据;将选取的数据返回给所述客户端;若所述服务端不满足降级条件,则获取与所述请求消息匹配的数据;将获取的数据返回给所述客户端。通过本申请的技术方案,可以保证用户体验,避免服务超时、服务异常、服务无法使用等问题。可以避免服务端的资源被耗尽,避免服务端完全不可用的问题。在服务端恢复后,可以重新基于个性化推荐算法计算数据,降级过程和自动恢复过程均无需人工干预,不会造成较大的数据延迟。

Description

一种数据传输方法和装置
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据传输方法和装置。
背景技术
随着互联网技术的日益发展,越来越多的应用场景,需要使用个性化推荐技术向用户推荐个性化数据。针对不同的用户,推荐的个性化数据不同,甚至一个用户多次刷新页面时,向该用户推荐的个性化数据也会发生改变。例如,服务端通过使用个性化推荐技术,在客户端的首页推荐用户感兴趣的商品。
服务端每次接收到来自客户端的请求时,都会基于个性化推荐算法,计算与该请求匹配的个性化数据,并将该个性化数据推荐给客户端。但是,由于服务端的资源(如内存资源、CPU(Central Processing Unit,中央处理器)资源等)有限,而“基于个性化推荐算法,计算与该请求匹配的个性化数据”的过程,又是一个非常消耗资源的过程,且服务端还有其它任务需要执行,因此,服务端的资源可能会耗尽,从而影响服务端的稳定性和可用性,影响用户的体验。
例如,在服务端的资源被耗尽后,可能导致如下问题:服务超时(即客户端向服务端发送请求后,长时间没有收到响应)、服务异常(即客户端向服务端发送请求后,服务端直接返回错误)、服务无法使用(即客户端找不到服务)。
发明内容
本申请提供一种数据传输方法,应用于服务端,所述方法包括:
在接收到来自客户端的请求消息后,若所述服务端满足降级条件,则从指定存储位置选取快照产生的数据;
将选取的数据返回给所述客户端;
若所述服务端不满足降级条件,则获取与所述请求消息匹配的数据;
将获取的数据返回给所述客户端。
所述方法进一步包括:
若所述服务端的状态是未降级状态,则获取所述服务端的性能信息;
根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件;
或者,
若所述服务端的状态是降级状态,则判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值;
如果未达到,则确定所述服务端满足降级条件。
所述方法进一步包括:
在根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件之后,若所述服务端满足降级条件,则将所述服务端的状态修改为降级状态;
在判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值之后,若达到预设时间阈值,则将所述服务端的状态修改为未降级状态。
所述获取与所述请求消息匹配的数据之后,所述方法进一步包括:
根据采样比率判断是否对所述数据进行快照处理;
如果是,则对所述数据进行快照处理;
将快照产生的数据存储在所述指定存储位置。
所述将快照产生的数据存储在所述指定存储位置的过程,具体包括:
确定快照产生的数据对应的业务属性;
将所述业务属性与快照产生的数据存储在所述指定存储位置。
所述从指定存储位置选取快照产生的数据的过程,具体包括:
确定所述请求消息对应的业务属性;
从所述指定存储位置存储的所有快照产生的数据中,选取与所述业务属性匹配的快照产生的数据。
所述业务属性包括以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性。
本申请提供一种数据传输装置,应用于服务端,所述装置包括:
判断模块,用于在接收到来自客户端的请求消息后,判断所述服务端是否满足降级条件;
选取模块,用于当所述判断模块的判断结果为所述服务端满足降级条件时,则从指定存储位置选取快照产生的数据;
第一发送模块,用于将选取的数据返回给所述客户端;
获取模块,用于当所述判断模块的判断结果为所述服务端不满足降级条件时,则获取与所述请求消息匹配的数据;
第二发送模块,用于将获取的数据返回给所述客户端。
所述判断模块,具体用于在判断所述服务端是否满足降级条件的过程中,若所述服务端的状态是未降级状态,则获取所述服务端的性能信息;根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件;或者,
若所述服务端的状态是降级状态,则判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值;如果未达到,确定所述服务端满足降级条件。
所述判断模块,还用于在根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件后,若所述服务端满足降级条件,将所述服务端的状态修改为降级状态;在判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值之后,若达到预设时间阈值,将所述服务端的状态修改为未降级状态。
所述判断模块,还用于在所述获取模块获取与所述请求消息匹配的数据之后,根据采样比率判断是否对所述数据进行快照处理;
所述装置还包括:
处理模块,用于当判断结果为是时,则对所述数据进行快照处理;
存储模块,用于将快照产生的数据存储在所述指定存储位置。
所述存储模块,具体用于在将快照产生的数据存储在所述指定存储位置的过程中,确定快照产生的数据对应的业务属性;
将所述业务属性与快照产生的数据存储在所述指定存储位置。
所述选取模块,具体用于在从指定存储位置选取快照产生的数据的过程中,确定所述请求消息对应的业务属性;从所述指定存储位置存储的所有快照产生的数据中,选取与所述业务属性匹配的快照产生的数据。
所述业务属性包括以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性。
基于上述技术方案,本申请实施例中,在服务端发生异常时,服务端可以进行降级处理,将快照产生的数据(如个性化数据等)返回给客户端,而不再基于个性化推荐算法计算数据。这样,可以保证用户体验,避免服务超时、服务异常、服务无法使用等问题。可以避免服务端的资源被耗尽,避免服务端完全不可用的问题。在服务端恢复后,可以重新基于个性化推荐算法计算数据,上述降级过程和自动恢复过程均无需人工干预,不会造成较大的数据延迟。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的数据传输方法的流程图;
图3是本申请一种实施方式中的应用场景示意图;
图4A-图4C是本申请另一种实施方式中的数据传输方法的示意图;
图5是本申请一种实施方式中的服务端的硬件结构图;
图6是本申请一种实施方式中的数据传输装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或者“当……时”,或者“响应于确定”。
本申请实施例中提出了一种数据传输方法,该方法可以应用于包括客户端和服务端的系统中,如图1所示,为该系统的结构示意图。其中,该客户端可以是终端设备(如PC(Personal Computer,个人计算机)、笔记本电脑、移动终端等)上的APP(Application,应用)或者浏览器等,对此客户端的类型不做详加限制,所有能够访问服务端的客户端,均在本申请实施例的保护范围之内。服务端是具有数据推荐功能的设备,如服务端可以是PC、笔记本电脑、数据平台、电商平台等,对此服务端的类型不做详加限制,所有具有数据推荐功能的设备,均在本申请实施例的保护范围之内。参见图2所示,为该数据传输方法的流程图,该方法可以应用于服务端,该方法可以包括以下步骤:
步骤201,在接收到来自客户端的请求消息后,判断服务端是否满足降级条件。如果是,则执行步骤202;如果否,则执行步骤204。
步骤202,从指定存储位置选取快照产生的数据。
步骤203,将选取的数据返回给客户端。
步骤204,获取与该请求消息匹配的数据。
步骤205,将获取的数据返回给客户端。
在一个例子中,上述执行顺序只是为了方便描述所给出的一个示例,在实际应用中,还可以改变各步骤之间的执行顺序,对此执行顺序不做限制。
在一个例子中,上述数据可以为个性化数据,也可以为其它类型的数据,如业务数据、商品数据等,对此数据类型不做限制,所有数据类型均在本申请保护范围之内。为了方便描述,后续以数据为个性化数据为例进行说明。
针对步骤201,在一个例子中,用户在打开客户端之后,为了向用户展示个性化数据,客户端可以向服务端发送用于请求个性化数据的请求消息。服务端在接收到该请求消息之后,先判断本服务端当前是否满足降级条件。
在一个例子中,针对“判断服务端是否满足降级条件”的过程,可以包括但不限于如下方式:若服务端的状态是未降级状态,则获取该服务端的性能信息,并根据该性能信息确定该服务端满足降级条件或者不满足降级条件。或者,若服务端的状态是降级状态,则判断该服务端处于降级状态的持续时间是否已经达到预设时间阈值;如果未达到,则确定该服务端满足降级条件。
进一步的,在根据该性能信息确定该服务端满足降级条件或者不满足降级条件之后,若该服务端满足降级条件,则可以将该服务端的状态修改为降级状态。此外,在判断该服务端处于降级状态的持续时间是否已经达到预设时间阈值之后,若达到预设时间阈值,则可以将该服务端的状态修改为未降级状态。
其中,服务端的状态可以是未降级状态或者降级状态。在服务端的状态是未降级状态时,针对接收到的每个请求消息,服务端均会根据当前的性能信息确定服务端是否满足降级条件。如果不满足降级条件,则服务端的状态继续是未降级状态,如果满足降级条件,则可以将服务端的状态修改为降级状态。
在服务端的状态是降级状态时,则降级状态会持续一段时间(即持续预设时间阈值,如1秒等,可以根据经验进行配置),在这个时间段内,服务端不用根据性能信息确定服务端是否满足降级条件,而是直接确定服务端满足降级条件,即针对这个时间段内接收到的每个请求消息,均可以直接确定服务端满足降级条件。在降级状态的持续时间已经达到预设时间阈值时,先将服务端的状态修改为未降级状态,然后根据当前的性能信息确定服务端是否满足降级条件,如果不满足降级条件,则服务端的状态继续是未降级状态,如果满足降级条件,则可以将服务端的状态修改为降级状态,以此类推,后续不再赘述。
在一个例子中,上述性能信息可以包括但不限于以下之一或者任意组合:RT(Response Time,响应时间)、CPU使用率、内存使用率、服务状况等。其中,该RT表示从请求到返回响应所经历的时间,RT一般使用毫秒为单位,而且,RT越高代表服务性能越差,RT越低代表服务性能越好。服务状况可以为服务异常或者服务正常,而且,由于网络故障、服务变更、代码bug、服务端定时任务、请求量超过服务压力上限等原因,可能导致服务状况为服务异常。
在一个例子中,针对“根据性能信息确定服务端是否满足降级条件”的过程,若性能信息为RT,则当RT大于预设时间阈值时,确定服务端满足降级条件,否则,确定服务端不满足降级条件。若性能信息为CPU使用率,则当CPU使用率大于预设CPU使用率阈值时,确定服务端满足降级条件,否则,确定服务端不满足降级条件。若性能信息为内存使用率,则当内存使用率大于预设内存使用率阈值时,确定服务端满足降级条件,否则,确定服务端不满足降级条件。若性能信息为服务状况,则当服务状况为服务异常时,确定服务端满足降级条件,当服务状况为服务正常时,则确定服务端不满足降级条件。
针对步骤202和步骤203,在一个例子中,服务端可以使用指定存储位置(如缓存)存储快照产生的个性化数据。具体的,针对每个请求消息,服务端在获取到与该请求消息匹配的个性化数据后,根据采样比率判断是否对该个性化数据进行快照处理。如果是,则对该个性化数据进行快照处理,并将快照产生的个性化数据存储在指定存储位置。如果否,则不对该个性化数据进行快照处理。
其中,对个性化数据进行快照处理是指:将服务端返回给客户端的个性化数据复制一份,并将复制的个性化数据(其称为快照产生的个性化数据)存储到指定存储位置。但是,若针对所有个性化数据均进行快照处理,则会导致存储量大,影响服务端性能等问题,因此,服务端可以采取随机采样快照,即设定采样比率,并根据采样比率对个性化数据进行快照处理。例如,采样比率为1/10000,其表示针对10000个个性化数据,只对一个个性化数据进行快照处理。
其中,针对“服务端根据采样比率判断是否对该个性化数据进行快照处理”的过程,假设采样比率为1/N,N为大于1的正整数,如10000等。
在一个例子中,可以对服务端生成的所有个性化数据(即针对所有请求消息生成的个性化数据)进行计数,服务端可以对第N个个性化数据进行快照处理、对第2N个个性化数据进行快照处理、对第3N个个性化数据进行快照处理,以此类推。此外,对于其它的个性化数据,则服务端不进行快照处理。
在另一个例子中,针对当前生成的个性化数据,服务端从范围[1,N]选取一个随机数,若选取的随机数是N,服务端对当前生成的个性化数据进行快照处理,若选取的随机数不是N,服务端不对当前生成的个性化数据进行快照处理。
在另一个例子中,针对当前生成的个性化数据,服务端任意选取一个随机数,且选取的随机数为正整数。基于此,若选取的随机数除以N的余数是0,则服务端可以对当前生成的个性化数据进行快照处理,若选取的随机数除以N的余数不是0,则服务端可以不对当前生成的个性化数据进行快照处理。
当然,上述只是给出了“根据采样比率判断是否对该个性化数据进行快照处理”的几个示例,实际应用中并不局限于上述方式,在此不再赘述。
综上所述,由于指定存储位置中存储有快照产生的个性化数据,因此,在服务端满足降级条件时,服务端可以自动降级,此时,服务端直接从指定存储位置选取快照产生的个性化数据,并将选取的个性化数据返回给客户端,而不是基于个性化推荐算法,计算与请求消息匹配的个性化数据,从而可以节省服务端的性能,避免服务端的资源被耗尽。并且,由于推荐给客户端的仍然是之前缓存的个性化数据,因此,不会对用户体验产生很大影响,只是失去个性化。
针对步骤204和步骤205,在一个例子中,在服务端不满足降级条件时,服务端不需要降级,因此,服务端可以基于个性化推荐算法,获取与请求消息匹配的个性化数据,并将获取的个性化数据返回给客户端。其中,针对“基于个性化推荐算法,获取与请求消息匹配的个性化数据”的过程,可以基于用户的历史浏览数据、用户属性(如性别、年龄、收入、家庭情况等)、当前热卖商品等,获取与请求消息匹配的个性化数据,对此过程不做限制,在此不再赘述。
在一个例子中,针对当前获取的个性化数据,在获取与请求消息匹配的个性化数据之后,服务端还可以根据采样比率判断是否对该个性化数据进行快照处理。如果是,则可以对该个性化数据进行快照处理,并将快照产生的个性化数据存储在指定存储位置。如果否,则不对该个性化数据进行快照处理。
在一个例子中,假设服务端需要对该个性化数据进行快照处理,则针对“将个性化数据返回给客户端”的过程,可以采取同步方式或者异步方式。
针对同步方式,则相应的处理过程为:服务端在获取与请求消息匹配的个性化数据之后,先对该个性化数据进行快照处理,并将快照产生的个性化数据存储在指定存储位置。待将个性化数据成功存储到指定存储位置之后,服务端才将该个性化数据返回给客户端。这样,只用一个进程就可以完成上述操作。
针对异步方式,则相应的处理过程为:服务端在获取与请求消息匹配的个性化数据后,执行两个进程,这两个进程可以并行执行,也可以先后执行。一个进程用于对该个性化数据进行快照处理,并将快照产生的个性化数据存储在指定存储位置。另一个进程用于将该个性化数据返回给客户端。这两个进程之间没有先后顺序关系,即快照的过程与返回个性化数据的过程可以同时执行,也可以有先后顺序关系。针对此异步方式,可以使用两个进程完成上述操作。
在上述过程中,针对“将快照产生的个性化数据存储在指定存储位置”的过程,可以包括但不限于如下方式:服务端先确定快照产生的个性化数据对应的业务属性,然后,将该业务属性与快照产生的个性化数据存储在指定存储位置。进一步的,在步骤202中,针对“从指定存储位置选取快照产生的个性化数据”的过程,可以包括但不限于如下方式:服务端先确定请求消息对应的业务属性(请求消息中携带业务属性的信息),然后,从指定存储位置存储的所有快照产生的个性化数据中,选取与该业务属性匹配的快照产生的个性化数据。
其中,在存储个性化数据时,可以将个性化数据的业务属性作为索引,存储业务属性与个性化数据的对应关系。这样,在后续降级过程中,会先判断请求消息对应的业务属性,然后,只从指定存储位置选取该业务属性对应的个性化数据,使得选取的个性化数据可以与业务属性相匹配,可以更好的做个性化推荐,避免选取的个性化数据与业务属性不匹配导致的用户体验降低等问题。
其中,服务端在接收到来自客户端的请求消息之后,可以从该请求消息中解析出业务属性。进一步的,服务端在获取到与该请求消息匹配的个性化数据之后,就可以得到该业务属性与该个性化数据之间的对应关系。
在一个例子中,上述业务属性可以包括但不限于以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性(即客户端当前使用的版本)等。
如表1所示,为在指定存储位置存储的业务属性与个性化数据的一个示例,在表1中,以业务属性是语种属性为例进行说明,对于其它业务属性的处理,与语种属性的处理类似,后续不再赘述。基于此,在步骤202和步骤203中,服务端先确定请求消息对应的业务属性,假设该业务属性为英语。然后,服务端通过该业务属性查询表1,得到该业务属性对应有个性化数据A和个性化数据B,因此,服务端从个性化数据A和个性化数据B中选取一个个性化数据,假设服务端选取个性化数据A,则服务端将个性化数据A返回给客户端。
表1
语种属性 个性化数据
英语 个性化数据A
英语 个性化数据B
汉语 个性化数据C
汉语 个性化数据D
汉语 个性化数据E
俄语 个性化数据F
基于上述技术方案,本申请实施例中,在服务端发生异常时,服务端可以进行降级处理,将快照产生的个性化数据返回给客户端,而不再基于个性化推荐算法计算个性化数据。这样,可以保证用户体验,避免服务超时、服务异常、服务无法使用等问题。可以避免服务端的资源被耗尽,避免服务端完全不可用的问题。而且,返回给客户端的数据仍然是个性化数据(即快照产生的个性化数据),而不是静态配置的数据(如初始状态下,任意配置的数据),该个性化数据可以最大化的反映问题发生前的线上数据,即使问题发生后也可以自动切换到快照数据,对用户的影响也只是数据失去个性化,对用户体验的影响较小。而且,在服务端恢复后,可以重新基于个性化推荐算法计算个性化数据,上述降级过程和自动恢复过程均无需人工干预,不会造成较大的数据延迟。
以下结合具体的应用场景,对本申请实施例的上述技术方案进行详细说明。
如图3所示,为本申请实施例的应用场景示意图,服务端可以包括个性化数据推荐模块、静态降级模块、采样快照模块、服务监控模块、控制模块。当然,上述模块的划分方式只是一个示例,实际应用中并不局限于上述划分方式。
如图3所示,客户端向服务端发送请求消息,控制模块在接收到请求消息后,向服务监控模块查询服务端是否满足降级条件。服务监控模块将服务端满足降级条件或者不满足降级条件的查询结果返回给控制模块。若服务端不满足降级条件,控制模块将请求消息提供给个性化数据推荐模块,由个性化数据推荐模块向客户端提供个性化数据。若服务端满足降级条件,控制模块将请求消息提供给静态降级模块,由静态降级模块向客户端提供快照产生的个性化数据。
而且,如图3所示,在个性化数据推荐模块向客户端提供个性化数据的过程中,采样快照模块还可以判断是否对该个性化数据进行快照处理,并在判断结果为是时,对该个性化数据进行快照处理,并存储快照产生的个性化数据。此外,在静态降级模块向客户端提供快照产生的个性化数据的过程中,采样快照模块还可以将自身存储的快照产生的个性化数据提供给静态降级模块。
如图4A所示,为服务监控模块维护服务端是否满足降级条件的流程图。
步骤4011、在接收到控制模块的查询请求时,服务监控模块获取服务端的性能信息。该性能信息可以包括但不限于以下之一或者任意组合:RT、CPU使用率、内存使用率、服务状况等,该服务状况可以为服务异常或者服务正常。
步骤4012、服务监控模块根据该性能信息确定服务端是否满足降级条件。如果不满足降级条件,则执行步骤4013;如果满足降级条件,则执行步骤4014。
在一个例子中,若性能信息为RT,当RT大于预设时间阈值时,确定服务端满足降级条件,否则,确定服务端不满足降级条件。若性能信息为CPU使用率,当CPU使用率大于预设CPU使用率阈值时,确定服务端满足降级条件,否则,确定服务端不满足降级条件。若性能信息为内存使用率,当内存使用率大于预设内存使用率阈值时,确定服务端满足降级条件,否则,确定服务端不满足降级条件。若性能信息为服务状况,当服务状况为服务异常时,确定服务端满足降级条件,当服务状况为服务正常时,确定服务端不满足降级条件。
步骤4013、服务监控模块将不满足降级条件的查询结果返回给控制模块。在下一次接收到控制模块的查询请求时,返回步骤4011,重新获取服务端的性能信息。
步骤4014、服务监控模块将满足降级条件的查询结果返回给控制模块。
步骤4015、服务监控模块将服务端的状态修改为降级状态。在下一次接收到控制模块的查询请求时,执行步骤4016,而不是重新获取服务端的性能信息。
步骤4016、服务监控模块判断服务端处于降级状态的持续时间是否已经达到预设时间阈值。如果未达到,则执行步骤4017;如果达到,则执行步骤4018。
步骤4017、服务监控模块将满足降级条件的查询结果返回给控制模块。在下一次收到控制模块的查询请求时,执行步骤4016,而不是重新获取服务端的性能信息。
步骤4018、服务监控模块将服务端的状态修改为未降级状态,之后执行步骤4011。其中,在持续时间已经达到预设时间阈值时,服务监控模块并不能直接确定出服务端是否满足降级条件,而是先将服务端的状态修改为未降级状态,然后执行步骤4011和步骤4012,根据性能信息确定出服务端是否满足降级条件。
如图4B所示,为个性化数据推荐模块向客户端提供个性化数据的流程图。
步骤4021、基于个性化推荐算法,个性化数据推荐模块获取与请求消息匹配的个性化数据。其中,对此个性化数据的获取方式,在此不再详加赘述。
步骤4022、个性化数据推荐模块将该个性化数据返回给客户端。
步骤4023、采样快照模块判断是否对该个性化数据进行快照处理。
如果否,则不对该个性化数据进行快照处理。如果是,则执行步骤4024。
在一个例子中,采样快照模块可以根据采样比率判断是否对该个性化数据进行快照处理。例如,假设采样比率为1/N,N为大于1的正整数,则采样快照模块任意选取一个随机数,且选取的随机数为正整数。若选取的随机数除以N的余数是0,则采样快照模块确定对个性化数据进行快照处理,若选取的随机数除以N的余数不是0,则采样快照模块确定不对个性化数据进行快照处理。
步骤4024、采样快照模块对该个性化数据进行快照处理。其中,对个性化数据进行快照处理是指:采样快照模块将返回给客户端的个性化数据复制一份。
步骤4025、采样快照模块确定个性化数据对应的业务属性(携带于请求消息)。
步骤4026、采样快照模块将该业务属性与个性化数据存储在指定存储位置。
在一个例子中,该业务属性可以包括但不限于以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性(即客户端当前使用的版本)等。
如图4C所示,为静态降级模块向客户端提供个性化数据的流程图。
步骤4031、静态降级模块确定请求消息对应的业务属性(携带于请求消息)。
在一个例子中,该业务属性可以包括但不限于以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性(即客户端当前使用的版本)等。
步骤4032、静态降级模块从指定存储位置存储的所有个性化数据中,选取与该业务属性匹配的个性化数据(如一个或者多个个性化数据)。
步骤4033、静态降级模块将选取的个性化数据返回给客户端。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据传输装置120,该数据传输装置120应用在服务端10上。数据传输装置120可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的服务端10的处理器11,读取非易失性存储器12中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为服务端10的一种硬件结构图,除图5所示的处理器11、非易失性存储器12外,服务端10还可以包括其它硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,服务端10还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图6所示,为数据传输装置的结构图,所述装置包括:
判断模块1201,用于在接收到来自客户端的请求消息后,判断所述服务端是否满足降级条件;
选取模块1202,用于当所述判断模块1201的判断结果为所述服务端满足降级条件时,则从指定存储位置选取快照产生的数据;
第一发送模块1203,用于将选取的数据返回给所述客户端;
获取模块1204,用于当所述判断模块1201的判断结果为所述服务端不满足降级条件时,则获取与所述请求消息匹配的数据;
第二发送模块1205,用于将获取的数据返回给所述客户端。
所述判断模块1201,具体用于在判断所述服务端是否满足降级条件的过程中,若所述服务端的状态是未降级状态,则获取所述服务端的性能信息;根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件;或者,
若所述服务端的状态是降级状态,则判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值;如果未达到,确定所述服务端满足降级条件。
在一个例子中,所述判断模块1201,还用于在根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件之后,若所述服务端满足降级条件,则将所述服务端的状态修改为降级状态;
在判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值之后,若达到预设时间阈值,则将所述服务端的状态修改为未降级状态。
所述判断模块1201,还用于在所述获取模块1204获取与所述请求消息匹配的数据之后,根据采样比率判断是否对所述数据进行快照处理;
所述装置还包括(在图中未体现):
处理模块,用于当判断结果为是时,则对所述数据进行快照处理;
存储模块,用于将快照产生的数据存储在所述指定存储位置。
在一个例子中,所述存储模块,具体用于在将快照产生的数据存储在所述指定存储位置的过程中,确定快照产生的数据对应的业务属性;
将所述业务属性与快照产生的数据存储在所述指定存储位置。
所述选取模块1202,具体用于在从指定存储位置选取快照产生的数据的过程中,确定请求消息对应的业务属性;从所述指定存储位置存储的所有快照产生的数据中,选取与所述业务属性匹配的快照产生的数据。
在一个例子中,所述业务属性可以包括但不限于以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可以采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本申请可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种数据传输方法,应用于服务端,其特征在于,该方法包括:
在接收到来自客户端的请求消息后,若所述服务端满足降级条件,则从指定存储位置选取快照产生的数据;
将选取的数据返回给所述客户端;
若所述服务端不满足降级条件,则获取与所述请求消息匹配的数据;
将获取的数据返回给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
若所述服务端的状态是未降级状态,则获取所述服务端的性能信息;
根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件;
或者,
若所述服务端的状态是降级状态,则判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值;
如果未达到,则确定所述服务端满足降级条件。
3.根据权利要求2所述的方法,其特征在于,所述方法进一步包括:
在根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件之后,若所述服务端满足降级条件,则将所述服务端的状态修改为降级状态;
在判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值之后,若达到预设时间阈值,则将所述服务端的状态修改为未降级状态。
4.根据权利要求1所述的方法,其特征在于,
所述获取与所述请求消息匹配的数据之后,所述方法进一步包括:
根据采样比率判断是否对所述数据进行快照处理;
如果是,则对所述数据进行快照处理;
将快照产生的数据存储在所述指定存储位置。
5.根据权利要求4所述的方法,其特征在于,
所述将快照产生的数据存储在所述指定存储位置的过程,具体包括:
确定快照产生的数据对应的业务属性;
将所述业务属性与快照产生的数据存储在所述指定存储位置。
6.根据权利要求1所述的方法,其特征在于,
所述从指定存储位置选取快照产生的数据的过程,具体包括:
确定所述请求消息对应的业务属性;
从所述指定存储位置存储的所有快照产生的数据中,选取与所述业务属性匹配的快照产生的数据。
7.根据权利要求5或6所述的方法,其特征在于,所述业务属性包括以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性。
8.一种数据传输装置,应用于服务端,其特征在于,该装置包括:
判断模块,用于在接收到来自客户端的请求消息后,判断所述服务端是否满足降级条件;
选取模块,用于当所述判断模块的判断结果为所述服务端满足降级条件时,则从指定存储位置选取快照产生的数据;
第一发送模块,用于将选取的数据返回给所述客户端;
获取模块,用于当所述判断模块的判断结果为所述服务端不满足降级条件时,则获取与所述请求消息匹配的数据;
第二发送模块,用于将获取的数据返回给所述客户端。
9.根据权利要求8所述的装置,其特征在于,
所述判断模块,具体用于在判断所述服务端是否满足降级条件的过程中,若所述服务端的状态是未降级状态,则获取所述服务端的性能信息;根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件;或者,
若所述服务端的状态是降级状态,则判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值;如果未达到,确定所述服务端满足降级条件。
10.根据权利要求9所述的装置,其特征在于,所述判断模块,还用于在根据所述性能信息确定所述服务端满足降级条件或者不满足降级条件之后,若所述服务端满足降级条件,则将所述服务端的状态修改为降级状态;
在判断所述服务端处于降级状态的持续时间是否已经达到预设时间阈值之后,若达到预设时间阈值,则将所述服务端的状态修改为未降级状态。
11.根据权利要求8所述的装置,其特征在于,
所述判断模块,还用于在所述获取模块获取与所述请求消息匹配的数据之后,根据采样比率判断是否对所述数据进行快照处理;
所述装置还包括:
处理模块,用于当判断结果为是时,则对所述数据进行快照处理;
存储模块,用于将快照产生的数据存储在所述指定存储位置。
12.根据权利要求11所述的装置,其特征在于,
所述存储模块,具体用于在将快照产生的数据存储在所述指定存储位置的过程中,确定快照产生的数据对应的业务属性;
将所述业务属性与快照产生的数据存储在所述指定存储位置。
13.根据权利要求8所述的装置,其特征在于,
所述选取模块,具体用于在从指定存储位置选取快照产生的数据的过程中,确定所述请求消息对应的业务属性;从所述指定存储位置存储的所有快照产生的数据中,选取与所述业务属性匹配的快照产生的数据。
14.根据权利要求12或13所述的装置,其特征在于,所述业务属性包括以下之一或者任意组合:语种属性、国家属性、币种属性、版本属性。
CN201611238097.5A 2016-12-28 2016-12-28 一种数据传输方法和装置 Active CN108259526B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611238097.5A CN108259526B (zh) 2016-12-28 2016-12-28 一种数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611238097.5A CN108259526B (zh) 2016-12-28 2016-12-28 一种数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN108259526A true CN108259526A (zh) 2018-07-06
CN108259526B CN108259526B (zh) 2021-04-27

Family

ID=62720396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611238097.5A Active CN108259526B (zh) 2016-12-28 2016-12-28 一种数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN108259526B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472034A (zh) * 2018-11-02 2019-03-15 深圳壹账通智能科技有限公司 基于数据分区的语种转换方法、装置、设备及存储介质
CN111245873A (zh) * 2018-11-28 2020-06-05 北京京东尚科信息技术有限公司 服务降级方法、装置、设备及存储介质
CN111611480A (zh) * 2020-05-07 2020-09-01 广州酷狗计算机科技有限公司 推荐策略生成方法、装置、计算机设备及存储介质
CN112463452A (zh) * 2020-12-03 2021-03-09 深圳市欢太科技有限公司 一种数据服务方法、装置和存储介质
CN112732757A (zh) * 2020-12-30 2021-04-30 北京奇艺世纪科技有限公司 一种降级数据的处理方法、系统、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183364A (zh) * 2006-11-24 2008-05-21 腾讯科技(深圳)有限公司 一种信息搜索方法、搜索引擎客户端/服务器及系统
CN102799607A (zh) * 2012-05-31 2012-11-28 新奥特(北京)视频技术有限公司 一种快照方式处理数据的方法
US20140114683A1 (en) * 2007-11-20 2014-04-24 General Electric Company Systems and methods for delivering media content and improving diagnostic reading efficiency
CN105100059A (zh) * 2015-06-10 2015-11-25 努比亚技术有限公司 一种大并发量请求处理方法、装置及系统
CN105282237A (zh) * 2015-09-16 2016-01-27 广州亚美信息科技有限公司 一种app数据传输方法
CN105677924A (zh) * 2016-03-29 2016-06-15 努比亚技术有限公司 数据搜索装置和方法
US20160188445A1 (en) * 2014-12-30 2016-06-30 Spirent Communications, Inc. Conducting performance snapshots during test and using feedback to control test based on customer experience parameters

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183364A (zh) * 2006-11-24 2008-05-21 腾讯科技(深圳)有限公司 一种信息搜索方法、搜索引擎客户端/服务器及系统
US20140114683A1 (en) * 2007-11-20 2014-04-24 General Electric Company Systems and methods for delivering media content and improving diagnostic reading efficiency
CN102799607A (zh) * 2012-05-31 2012-11-28 新奥特(北京)视频技术有限公司 一种快照方式处理数据的方法
US20160188445A1 (en) * 2014-12-30 2016-06-30 Spirent Communications, Inc. Conducting performance snapshots during test and using feedback to control test based on customer experience parameters
CN105100059A (zh) * 2015-06-10 2015-11-25 努比亚技术有限公司 一种大并发量请求处理方法、装置及系统
CN105282237A (zh) * 2015-09-16 2016-01-27 广州亚美信息科技有限公司 一种app数据传输方法
CN105677924A (zh) * 2016-03-29 2016-06-15 努比亚技术有限公司 数据搜索装置和方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472034A (zh) * 2018-11-02 2019-03-15 深圳壹账通智能科技有限公司 基于数据分区的语种转换方法、装置、设备及存储介质
CN109472034B (zh) * 2018-11-02 2022-04-15 深圳壹账通智能科技有限公司 基于数据分区的语种转换方法、装置、设备及存储介质
CN111245873A (zh) * 2018-11-28 2020-06-05 北京京东尚科信息技术有限公司 服务降级方法、装置、设备及存储介质
CN111611480A (zh) * 2020-05-07 2020-09-01 广州酷狗计算机科技有限公司 推荐策略生成方法、装置、计算机设备及存储介质
CN111611480B (zh) * 2020-05-07 2024-05-24 广州酷狗计算机科技有限公司 推荐策略生成方法、装置、计算机设备及存储介质
CN112463452A (zh) * 2020-12-03 2021-03-09 深圳市欢太科技有限公司 一种数据服务方法、装置和存储介质
CN112732757A (zh) * 2020-12-30 2021-04-30 北京奇艺世纪科技有限公司 一种降级数据的处理方法、系统、装置、设备及存储介质
CN112732757B (zh) * 2020-12-30 2023-07-25 北京奇艺世纪科技有限公司 一种降级数据的处理方法、系统、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108259526B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN108259526A (zh) 一种数据传输方法和装置
EP3252591B1 (en) Group chat method and device
US10783211B2 (en) Page processing method and device thereof
US10956684B2 (en) Topic kernelization for real-time conversation data
CN107038186A (zh) 生成标题、搜索结果展示、标题展示的方法及装置
CN106943747B (zh) 虚拟角色名称推荐方法、装置、电子设备和存储介质
CN107071066A (zh) 页面访问方法及装置
US20120290947A1 (en) Methods and systems to filter and display electronic messages
CN107656988A (zh) 文档编辑方法及系统
US11269684B1 (en) Distributed streaming system supporting real-time sliding windows
US10460628B2 (en) Tile map service device and method
CN105871959A (zh) 一种消息传递的方法、系统和装置
KR102192862B1 (ko) 키워드 제시 방법 및 장치
CN107402950A (zh) 基于分库分表的文件处理方法和装置
CN110046036A (zh) 一种操作请求分配方法、装置及设备
CN107016045A (zh) 一种分页数据查询的方法及装置
CN110377268A (zh) 流水号生成方法、装置及存储介质
CN107479868A (zh) 一种界面加载方法、装置及设备
CN105302907A (zh) 一种请求的处理方法及装置
CN107908482A (zh) 一种信息传送方法、设备及计算机可读介质
WO2017105808A1 (en) Providing relevance based dynamic hashtag navigation
CN113961510A (zh) 一种文件处理方法、装置、设备及存储介质
CN106033433B (zh) 一种信息搜索方法和装置
AU2017268604A1 (en) Accumulated retrieval processing method, device, terminal, and storage medium
CN109460312A (zh) 请求失败的处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1257326

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240201

Address after: # 01-21, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Patentee after: Alibaba Singapore Holdings Ltd.

Country or region after: Singapore

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: United Kingdom

TR01 Transfer of patent right