CN108924244B - 分布式***以及用于该***的流量分配方法和装置 - Google Patents

分布式***以及用于该***的流量分配方法和装置 Download PDF

Info

Publication number
CN108924244B
CN108924244B CN201810821660.4A CN201810821660A CN108924244B CN 108924244 B CN108924244 B CN 108924244B CN 201810821660 A CN201810821660 A CN 201810821660A CN 108924244 B CN108924244 B CN 108924244B
Authority
CN
China
Prior art keywords
user
node
service
service nodes
management node
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.)
Active
Application number
CN201810821660.4A
Other languages
English (en)
Other versions
CN108924244A (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 China Co Ltd
Original Assignee
Alibaba China Co 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 China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201810821660.4A priority Critical patent/CN108924244B/zh
Publication of CN108924244A publication Critical patent/CN108924244A/zh
Application granted granted Critical
Publication of CN108924244B publication Critical patent/CN108924244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种分布式***以及用于该***的流量分配方法和装置。该分布式***包括管理节点和多个服务节点,该方法包括:管理节点接收分别来自多个服务节点的心跳报告,心跳报告包括分配给服务节点的用户分组的用户分组信息;管理节点根据心跳报告,生成用户分配表,用户分配表用于记录多个服务节点和分配给各个服务节点的用户分组的对应关系;响应于存在连接状态发生变化的服务节点,管理节点基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。由此,通过引入管理节点来对当前所有服务节点上的用户信息进行归一整理,在服务器集群发生变化的情况下,重新进行用户分配和相关用户缓存数据的迁移,进而实现缓存命中率的最大化。

Description

分布式***以及用于该***的流量分配方法和装置
技术领域
本发明涉及分布式***技术领域,特别涉及一种分布式***以及用于该***的流量分配方法和装置、计算设备和存储介质。
背景技术
目前,推荐***已广泛应用于诸多领域,其主要是根据用户的历史访问、信息需求、兴趣等向用户进行个性化推荐。一般,在推荐***中都会将用户的访问历史、用户画像、推荐结果等用户信息进行缓存,以快速准确地向用户推送推荐结果。
在用户信息数据量较大的情况下,如果直接将用户信息写入分布式的缓存***,将会给后续的基于用户信息的推荐行为带来较大的网络开销。
现有技术中,往往采用在推荐***的服务器进程中缓存用户信息的方式,以减少推荐服务的网络开销。这一技术存在的缺陷是,当***进行升级或是节点(机器)异常退出时,进程中缓存的用户信息将被自动清除,对于机器重新启动或是有新的机器上线的情况下,在进程初始化后进程中没有缓存用户信息,在进行推荐服务时,无法在进程中查找到用户信息,缓存命中率降低,造成进程启动时间延迟、推荐效果变差等情况。
因此,仍然需要一种能够最大化缓存命中率的数据管理方案。
发明内容
为了解决如上技术问题,本发明提出了一种分布式***以及用于该***的流量分配方法和装置,其能够在服务器集群发生变化的情况下,以较低的迁移成本实现缓存命中率的最大化。
根据本发明的一个方面,提供了一种用于分布式***的流量分配方法,分布式***包括管理节点和多个服务节点,该方法包括:管理节点接收分别来自多个服务节点的心跳报告,心跳报告包括分配给服务节点的用户分组的用户分组信息;管理节点根据心跳报告,生成用户分配表,用户分配表用于记录多个服务节点和分配给各个服务节点的用户分组的对应关系;响应于存在连接状态发生变化的服务节点,管理节点基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。
由此,实时监控服务节点的连接状态,在集群信息变化时,重新分配用户,以提高缓存命中率,保证服务质量。并且,通过引入管理节点收集所有的用户分组信息,保证了整个集群路由信息的一致性和完整性;
可选地,该方法还可以包括:将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点,其中,心跳报告包括分配给服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息。
由此,在进行服务前首先进行用户缓存数据迁移,以提高缓存命中率,保证服务质量、减少网络开销。并且,以最低的迁移成本完成用户相关缓存数据的迁移。
可选地,该方法还可以包括:管理节点根据心跳报告,确定该心跳报告对应的服务节点的连接状态是否发生变化。连接状态发生变化的服务节点包括:先前可用而在预定时间期间内管理节点未收到其心跳报告的服务节点;以及/或者先前不可用而管理节点当前收到其心跳报告的新服务节点。
由此,通过心跳报告实现对服务节点连接状态的监控。
可选地,对至少一个服务节点重新分配用户的步骤可以包括:将当前未分配服务节点的用户分组,分配给当前所分配的用户分组数量最少的服务节点。
可选地,对至少一个服务节点重新分配用户的步骤可以包括:将被分配给至少两个服务节点的用户分组分配给至少两个服务节点中当前分配的用户分组数量最少的服务节点。
可选地,对至少一个服务节点重新分配用户的步骤可以包括:管理节点将所分配的用户分组数量较多的第一服务节点的部分用户分组分配给所分配的用户分组数量较少的第二服务节点。
由此,根据用户分组的具体场景执行不同的分配策略。
可选地,分布式***还可以包括多个路由节点,路由节点用于向服务节点转发用户服务请求,方法还可以包括:将用户分配表发送给路由节点,路由节点基于更新后的用户分配表转发用户服务请求。
由此,路由节点可基于更新后的用户分配表完成流量选择的操作,保证了服务质量。
可选地,用户分组信息可以是用户标识相应的用户哈希值。
根据本发明的另一个方面,还提供了一种用于分布式***的流量分配装置,分布式***包括管理节点和多个服务节点,该流量分配装置设置在管理节点,该流量分配装置包括:心跳接收装置,用于接收分别来自多个服务节点的心跳报告,心跳报告包括分配给服务节点的用户分组的用户分组信息;分配表生成装置,用于根据心跳报告,生成用户分配表,用户分配表用于记录多个服务节点和分配给各个服务节点的用户分组的对应关系;用户分配装置,用于响应于存在连接状态发生变化的服务节点,管理节点基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。
可选地,该装置还可以包括:数据迁移装置,用于将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点,其中,心跳报告包括分配给服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息。
根据本发明的另一方面,还提供了一种分布式***,包括管理节点和多个服务节点,其中,多个服务节点分别向管理节点发送心跳报告,心跳报告包括分配给服务节点的用户分组的用户分组信息;管理节点根据心跳报告,生成用户分配表,用户分配表用于记录多个服务节点和分配给各个服务节点的用户分组的对应关系;响应于存在连接状态发生变化的服务节点,管理节点基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。
可选地,管理节点还可用于将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点,其中,心跳报告包括分配给服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息。
根据本发明的另一方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上的方法。
根据本发明的另一方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上的方法。
由此,通过本发明的分布式***以及用于分布式***的流量分配方法和装置,通过引入管理节点来对当前所有服务节点上的用户信息进行归一整理,在服务器集群发生变化的情况下,重新进行用户分配和相关用户缓存数据的迁移,以最低的迁移成本实现缓存命中率的最大化。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示出了现有一致性哈希分配用户的例子。
图2示出了用于实现本发明一个实施例的分布式***的功能框图。
图3示出了根据本发明一实施例的分布式***的流量分配方法的示意性流程图。
图4示出了根据本发明一个实施例的流量分配方法的流程示意图。
图5示出了根据本发明一个实施例的用于分布式***的流量分配装置的结构的示意性框图。
图6A-6B示出了根据本发明一个应用例。
图7示出了根据本发明一实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
推荐***是根据用户的信息需求、兴趣等,将用户感兴趣的信息、产品等推荐给用户的个性化信息推荐***。在推荐***中,向每一个用户返回的结果都是与该用户直接相关的。
一般在推荐***中都会对用户的访问历史、用户画像、历史推荐结果等数据进行缓存,如果这些数据都直接写到一个分布式的推荐***中,往往会对一次访问写入大量的数据。当用户的访问历史、用户画像等用户数据特别大时,直接写到分布式的缓存***,会导致在后续推荐服务中的网络开销很大。因此,对于用户数据特别大的情况,推荐***中往往会通过在自己的进程中缓存用户数据,从而减少推荐推荐服务的网络开销。
现有技术中,为了实现在***进程中对用户数据进行缓存,多数的推荐***往往采用一致性哈希(hash)方法。如图1所示,某一个推荐***集群拥有N台机器,则分别根据用户标识(例如用户ID)计算哈希(hash)值,通过一致性哈希环,将用户均匀地分配给这N台机器。这样,在进行推荐服务时,即可根据不同的用户标识,将例如用户服务请求等流量分配到与用户标识相对应的服务节点上。
上述方法简单易懂,在正常情况下,各个机器的负载比较均衡,不会出现流量突增或突降的情况。
但是,在进程中缓存用户数据会存在一个显著的缺陷:当***进行升级或者是异常退出时,进程中缓存的用户数据就会自动清除,用户服务请求会被转发到其他的节点(机器)上,当该机器重新启动成功后,缓存需要重新再刷新进行,造成进程启动的初始时间访问延迟增大、效果变差等情况。
在其中,当有新的机器加入推荐***或是旧的机器重新启动而重新加入推荐***时,在其进程初始化阶段,这些机器上没有缓存用户的用户数据。通过一致性哈希方法虽然能够将一些用户以及该用户的服务请求分配到新加入的机器上,但是由于该机器上并不存在相应的用户数据,如用户相关缓存数据,会导致推荐结果延迟或是推荐效果变差,给用户带来很不好的体验。
有鉴于此,本发明提出了一种分布式***以及用于该分布式***的流量分配方案,通过引入管理节点来对当前所有机器上的用户信息进行归一整理,在服务器集群发生变化的情况下,重新进行用户分配和相关用户缓存数据的迁移,以实现缓存命中率的最大化。并且,本发明的流量分配方案还能够最大程度降低数据迁移成本,提高效率。
如下将结合附图及实施例详细说明本发明的分布式***以及用于该分布式***的流量分配方案。
图2示出了用于实现本发明一个实施例的分布式***的功能框图。
如图2所示,分布式***200可以包括管理节点210和多个服务节点220。在这里,“节点”可以是指分布式***中运行“进程”的载体,该分布式***例如可以是推荐***。
管理节点210和服务节点均可以部署在分布式***200下的服务器集群中。其中,在一个服务器上可以部署一个服务节点220,也可以部署两个或更多个服务器节点220。管理节点可以部署在不同于服务节点220的一个独立的服务器中,也可以和其中一个或多个服务节点部署在同一个服务器中。
附图中的连线表示管理节点210和服务节点220之间存在信息交互,上述连线可以是有线连接、无线连接,或是能够进行传送的任何形式的连接。
服务节点220能够利用其所在的服务器提供的资源运行任务,多个服务节点220所运行的任务可以分属于不同的应用或应用组,每个应用组中的服务节点可以用于特定应用,也可以应用于非特定应用。这里,“应用组”可以指示同一应用的一组服务节点。
例如,分布式***200可以是针对推荐业务的分布式推荐***,针对不同的对象,可以设置不同的推荐应用组,如可以设置图片推荐应用组、视频推荐应用组、小说推荐应用组等,***中的服务节点虽然都可应用于执行推荐业务,但不同推荐应用组中的服务节点可以执行对应类别的推荐任务。另外,虽然图中未示出各自涉及服务节点的多个应用,但应该理解本发明的分布式***可以用于任意多个应用,每个应用可以各自涉及一个或多个服务节点,并且用于不同应用的服务节点数量可以相同也可以不同。
另外,本发明的分布式***还可以包括多个路由节点,每个路由节点维持与多个服务节点之间的链接,路由节点能够将用户服务请求转发给与该用户对应的服务节点。
在***初始化设置阶段,可以基于一致性哈希方法,对用户分组(如对用户ID进行哈希计算后取模),并以用户分组为单位,将用户均匀地分配给多个服务节点。或者,也可以在每次接收到用户服务请求时,从多个服务节点中选择一个服务节点来进行查询,以将对应于该用户服务请求的用户分配给这个服务节点。
多个服务节点120能够分别向管理节点110发送心跳报告。该心跳报告中可以包括分配给该服务节点的用户分组的用户分组信息。
在一个实施例中,服务节点120可以以心跳汇报的方式、周期性地向管理节点发送上述心跳报告,心跳汇报的周期例如可以是2s。心跳报告可以证明连接节点的存活,即该连接节点正常连接在分布式***中,因此,还可以被称为是“心跳信息”。
用户分组信息例如可以是用户标识相应的用户哈希值(user id hash)。
用户标识是用于标识用户身份的信息,例如可以是用户账号(ID)、用户IP等信息。考虑到不同用户的上述信息的不统一,还可以对上述用户标识进行归一化处理,例如可以采用统一的哈希算法计算用户标识的哈希值(hash),以用户哈希值表示该用户标识。
由于用户哈希值较大,还可以将其做进一步处理,例如可以将用户哈希值做取余数运算,以用户哈希值作为被除数,以预定数值作为除数,以此余数作为用户分组信息,以将所有用户均匀地分配给这多个服务节点。其中,预定数值可以是任意数值,在一个实施例中,例如该数值可以是216(25536)。
管理节点210能够接收分别来自多个服务节点的心跳报告,并能够根据心跳报告,生成用户分配表。
用户分配表可以用于记录多个服务节点和分配给各个服务节点的用户分组的对应关系。其中,该用户分配表中记录的服务节点或用户分组可以不特定方式对应,例如可以为一对空、一对一、一对多、多对一、空对一。
在一个优选实施例中,用户分配表可以包括第一用户分配表和第二用户分配表,第一用户分配表也可称为正向对应表,用以记录服务节点到用户分组的对应,该第一用户分配表可以是通过对各个服务节点上报的用户分组进行整理得到的。第二用户分配表也可称为反向对应表,用以记录用户分组到服务节点的对应,该第二用户分配表也可以是基于第一用户分配表反向计算得到的。
由于存在机器宕机或机器故障而不可用的情况,即不可用服务节点。此时,该不可用服务节点将无法向管理节点发送报告,或者发送的心跳报告不能被管理节点接收,先前分配在此不可用服务节点的用户分组信息将无法被报告至管理节点。
因此,管理节点110还能够周期性地收集和整理所有服务节点报告的用户分组信息,并结合当前各个心跳报告,生成用户分配表。其中,收集周期可以大于或等于服务节点发送心跳报告的时间间隔,例如可以是30s或10s。
该分布式***还可以包括多个路由节点(图中未示出),路由节点可以用于向服务节点转发用户服务请求。
管理节点210能够将上述生成的用户分配表(特别是第二用户分配表)发送给路由节点,路由节点能够根据该用户分配表,特别是第二用户分配表中所记录的用户分组与服务节点的对应关系,将用户服务请求转发至与该用户对应的服务节点。这样,该服务节点就可以基于该服务节点缓存的与该用户对应的用户相关缓存数据向该用户提供服务(例如推荐服务)。
此外,管理节点还可以根据心跳报告,确定该心跳报告对应的服务节点的连接状态是否发生变化。
这里,连接状态表示管理节点能否接收到服务节点的心跳报告的情况。当管理节点能够接收到服务节点发送的心跳报告时,表示该服务节点与管理节点的正常连接;当管理节点无法接收到服务节点发送的心跳报告时,表示该服务节点与管理节点未正常连接。
连接状态发生变化的服务节点可以包括:第一服务节点,即先前可用而在预定时间期间内管理节点未收到其心跳报告的服务节点,以及,第二服务节点,即先前不可用而管理节点当前收到其心跳报告的新服务节点。
在其中,“可用”表示服务节点可正常运行且管理节点能接收到其心跳报告。“不可用”表示服务节点未正常运行或是管理节点不能接收到其心跳报告。第一服务节点可以包括未正常运行的不可用服务节点,第二服务节点可以包括***新增服务节点、以及重新恢复为可用的先前不可用服务节点。
在存在连接状态发生变化的服务节点的情况下,响应于存在连接状态发生变化的服务节点,管理节点还可以基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户,以将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点。
在其中,管理节点可以基于上述分配策略下发迁移指令,以使上述至少一个服务节点,从该被重新分配的用户分组原属服务节点下载或者获取相应的用户缓存数据,以实现数据迁移。
或者,也可由管理节点从该被重新分配的用户分组原属服务节点获取相应的用户的用户相关缓存数据,并发送到为该用户分组新分配的服务节点。
或者,也可由管理节点从数据库获取该被重新分配的用户分组的用户的用户相关缓存数据,发送到为该用户分组新分配的服务节点。
迁移完成后,各服务节点仍然会以心跳汇报的方式向管理节点发送心跳报告,心跳报告中包括分配给服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息。
管理节点根据心跳报告生成用户分配表,并将用户分配表发送给路由节点,以便于路由节点基于更新后的用户分配表转发用户服务请求,以完成流量选择的操作。
如上重新分配用户的策略可以是基于上述的用户分配表,特别是第二用户分配表确定,对于不同的用户,所执行的重新分配策略不同。
对于机器宕机或故障而不可用的不可用服务节点(如下简称不可用节点),先前分配在此不可用节点的用户分组信息无法被报告至管理节点,即当前未分配服务节点的用户分组。管理节点可以将先前分配在此不可用节点的用户分组重新分配给其它服务节点,例如将此用户分组分配给当前所分配的用户分组数量最少的服务节点。
在其中,管理节点例如可以通过查询用户分配表特别是第二用户分配表的方式,确定是否存在未分配服务节点的用户分组。如果判断结果为是,即存在未分配服务节点的用户分组信息,此时,管理节点可以这样的用户分组分配给当前所分配的用户分组数量最少的服务节点,并进行相应的用户相关缓存数据的迁移。
对于不可用服务节点重新启动的情况,先前分配给该不可用节点的用户分组被重新分配给了其它服务节点后该不可用节点又恢复为可用。这种情况下,用户分配表特别是第二用户分配表中,存在被分配给了至少两个服务节点的用户分组,此时,管理节点可以将被分配给至少两个服务节点的用户分组分配给至少两个服务节点中当前分配的用户分组数量最少的服务节点。
在其中,管理节点也可以通过查询用户分配表特别是第二用户分配表,判断是否存在被分配了至少两个服务节点的用户分组。如果判断结果为是,则将该用户分组分配给至少两个服务节点中当前分配的用户分组数量最少的服务节点,并进行相应的用户相关缓存数据的迁移。
对于新增服务节点,即新的服务节点加入该分布式***,这种情况下,可以根据各个服务节点的用户分组的数量进行排序,将所分配的用户分组数量最多的第一服务节点的部分用户分组分配给所分配的用户分组数量最少的第二服务节点。
此外,还可以将所分配的用户分组数量较多的第一服务节点的部分用户分组分配给所分配的用户分组数量较少的第二服务节点,以实现负载均衡。
由此,通过本发明的分布式***,通过引入管理节点来对当前所有服务节点上的用户分组信息进行归一整理,从而生成全局路由的信息,以最小的迁移成本,实现用户缓存的命中率的最大化。
本发明的流量分配方案还可以实现为一种用于分布式***的流量分配方法。
图3示出了根据本发明一个实施例的用于分布式***的流量分配方法的流程示意图。该方法可由图2所示的管理节点210实现。
如图3所示,在步骤S310中,接收分别来自所述多个服务节点的心跳报告,心跳报告包括分配给所述服务节点的用户分组的用户分组信息。用户分组信息是用户标识相应的用户哈希值。
步骤S320中,根据心跳报告生成用户分配表,所述用户分配表用于记录所述多个服务节点和分配给各个服务节点的用户分组的对应关系。
在其中,还可以根据所述心跳报告,确定该心跳报告对应的服务节点的连接状态是否发生变化。
步骤S330中,响应于存在连接状态发生变化的服务节点,基于所述用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。
连接状态发生变化的服务节点包括先前可用而在预定时间期间内所述管理节点未收到其心跳报告的服务节点,以及,先前不可用而所述管理节点当前收到其心跳报告的新服务节点。
对至少一个服务节点重新分配用户可以包括:将当前未分配服务节点的用户分组,分配给当前所分配的用户分组数量最少的服务节点:也可以包括将被分配给至少两个服务节点的用户分组分配给所述至少两个服务节点中当前分配的用户分组数量最少的服务节点;还可以包括将所分配的用户分组数量较多的第一服务节点的部分用户分组分配给所分配的用户分组数量较少的第二服务节点。
之后,将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点。
迁移完成后,服务节点向管理节点发送的心跳报告中,还可以包括分配给服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息。管理节点能够根据心跳报告生成用户分配表,并将用户分配表发送给所述路由节点,以便于路由节点基于更新后的所述用户分配表转发用户服务请求。
至此,已经结合附图3详细介绍了本发明的用于分布式***的流量分配方法,其具体实现还可参见如上结合附图2的相关描述,在此不再赘述。
为了更好地理解本发明的技术方案,如下将结合图4所示的用于分布式的推荐***的流量分配方法的流程示意图进行详细说明。在其中,推荐服务节点即为服务节点。
图4示出了根据本发明一个实施例的流量分配方法的流程示意图。
如图4所示,在步骤S410,进行分布式***初始化。假设有N个推荐服务节点,M个路由(Router)节点,1个管理(Admin)节点。每一个Router节点都会维持与所有的N个推荐服务节点之间的链接。每次请求Router节点都会从N列个推荐服务节点中选择一个节点来进行查询,完成流量初始分配。
在步骤S420中,各个服务节点分别向管理节点发送心跳报告。每一个推荐服务节点都会将自己的心跳信息汇报到管理(Admin)节点上,在汇报心跳的同时,会将自己所缓存的用户id的hash分组信息进行汇报(hash分组信息可以是将用户id进行hash然后除65536的余数)。
在步骤S430中,管理节点基于心跳报告生成用户分配表。Admin节点收到这些机器汇报的user id分组信息后进行决策分析,然后生成一个流量分配的路由表,即用户分配表。
其中,Admin节点收集到所有的推荐服务节点汇报上来的user id的hash值,将最近一段时间(可以是30s或者是10s等)的所有user id进行整理,生成每一个推荐服务节点到对应user id hash值的对应表,即第一用户分配表,以及user id hash到推荐服务节点的反向对应表,即第二用户分配表。
在步骤S440中,判断是否存在连接状态发生变化的服务节点。如果判断结果为是,则进入步骤S460。如果判断结果为否,则进入步骤S450。
在步骤S450中,将用户分配表发送至路由节点。
在步骤S460中,路由节点基于用户分配表转发至用户服务请求。
在步骤S470中,管理节点响应于存在连接状态发生变化的服务节点,基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。
对对至少一个服务节点重新分配用户包括:将当前未分配服务节点的用户分组,分配给当前所分配的用户分组数量最少的服务节点。即,找出未分配服务节点的user idhash分组、没有任何服务节点报告的user id分组,优先选择当前持有user id hash最少的机器进行分配。
或者,将被分配给至少两个服务节点的用户分组分配给所述至少两个服务节点中当前分配的用户分组数量最少的服务节点。即对user id hash值进行去重,对于同时在两个服务节点的user id hash进行选择,优先将所分配的user id hash较多的服务节点的user id对应的数据进行迁移走。
或者,将所分配的用户分组数量较多的第一服务节点的部分用户分组分配给所分配的用户分组数量较少的第二服务节点。即,均匀分配给各个服务节点的user id hash,首选对当前的每一台机器持有的user id hash进行排序,每次从数量最多的user id hash挑选一个hash值到持有数量最少的一个服务节点。
在步骤S480中,将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点。
对于两个或多个服务节点分配有重复的user id hash,在步骤S470决策出该userid hash应该分配的服务节点,则生成一台执行命令,将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点。
新分配出的user id hash对应到的服务节点,无需执行数据迁移。该服务节点可从数据库获取相关的用户相关缓存数据。
对于需要从用户分组数量较多的服务节点迁移用户分组数量较少的服务节点,执行服务节点之间的数据迁移操作。
之后,进入步骤S320-S480的循环,以便于路由节点能够基于更新后的用户分配表转发用户服务请求。
换言之,当迁移完成后,每一个服务节点会汇报新的用户分组信息,以生成新的用户分配表,并将该用户分配表发送到Router节点上,供Router节点进行流量分配。Router从Admin节点中获取更新后的用户分配表及用户分组信息,根据该用户分组信息,对传入用户服务请求的user id进行计算hash值,确定该用户所属的推荐服务节点,然后将该用户服务请求转发到相应的推荐服务节点,完成流量选择的操作。
由此,使得user id hash尽可能的均匀分布到各个机器上,但是又尽量的减少数据的迁移,防止对集群网络造成不必要的负载。
此外,本发明的用于分布式***的流量分配方法还可由一种流量分配装置实现。
图5示出了根据本发明一个实施例的用于分布式***的流量分配装置的结构的示意性框图。这里的分布式***可以是如图2所示的***,该***可以包括管理节点和多个服务节点。
如图5所示,本发明的流量分配装置可以设置在管理节点,该流量分配装置500可以包括心跳接收装置510、分配表生成装置520和用户分配装置530。
心跳接收装置510可以用于接收分别来自多个服务节点的心跳报告,心跳报告包括分配给服务节点的用户分组的用户分组信息。用户分组信息是用户标识相应的用户哈希值。
分配表生成装置520可以用于根据心跳报告,生成用户分配表,用户分配表用于记录多个服务节点和分配给各个服务节点的用户分组的对应关系。
在一个优选实施例中,本发明的流量分配装盒子还可以包括状态监控装置(图中未示出),该状态监控装置可以根据所述心跳报告,确定该心跳报告对应的服务节点的连接状态是否发生变化。
所述连接状态发生变化的服务节点包括:先前可用而在预定时间期间内所述管理节点未收到其心跳报告的服务节点;以及/或者先前不可用而所述管理节点当前收到其心跳报告的新服务节点。
用户分配装置530可以用于响应于存在连接状态发生变化的服务节点,管理节点基于用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户。
用户分配装置530可以将当前未分配服务节点的用户分组,分配给当前所分配的用户分组数量最少的服务节点。或者,用户分配装置530可以将被分配给至少两个服务节点的用户分组分配给所述至少两个服务节点中当前分配的用户分组数量最少的服务节点。或者,用户分配装置530可以将所分配的用户分组数量较多的第一服务节点的部分用户分组分配给所分配的用户分组数量较少的第二服务节点。
在一个优选实施例中,本发明的流量分配装置还可以包括数据迁移装置(图中未示出)。数据迁移装置可以用于将属于被重新分配的用户分组的用户的用户相关缓存数据,迁移到为该用户分组新分配的服务节点,其中,心跳报告包括分配给服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息。
管理节点可以将上述用户分配表发送给分布式***的多个路由节点,路由节点基于更新后的用户分配表转发用户服务请求。
上文已经参考附图详细描述了根据本发明的分布式***以及用于该分布式***的流量分配方法和装置。
综上,本发明中,分布式***的各个服务节点以心跳汇报的方式向管理节点汇报其上缓存的用户的用户信息给管理节点,管理节点进行动态计算,每当有服务节点连接状态变化时,重新进行用户分配和用户缓存数据迁移,以实现服务节点负载的相对均衡。在需要进行服务、流量分配时,将用户服务请求对应到缓存有该用户的用户信息的服务节点,以提高缓存命中率。并且,本发明还能够以较小的数据迁移成本实现用户缓存数据的迁移和同步,提高管理效率。
【应用例】
如图6A所示,假设用户分组信息(user id hash)为1-10,即每一个user的id进行hash后对10求余数的结果。如图6所示,当前有4台机器,即4个服务节点,每个服务节点都汇报有自己所分配的用户分组。
当新加入一台机器的时候,一般的做法是将一部分的用户分组直接分配到这台新增主机上。这样,就会造成实际上有一些用户可以分配到主机1-4的某一台机器,能够有用户相关缓存数据的,却落到了新增主机,造成无用户相关缓存数据,导致缓存命中率下降。
本实施例中,首先进行用户相关缓存数据的迁移,将一部分有缓存的数据迁移到了新增机器上,然后再进行实际的服务,很好地解决了新增机器无缓存的问题。
具体地,首先Admin节点会进行决策,发现新增机器的心跳报告中的用户分组信息为空,则将用户分组数量最多的主机1和主机2的数据进行迁移到新增主机上,当数据迁移完成后,如下图6B的分布,将下图对应的流量分配信息同步到Router节点上,由Router节点进行流量分配和选择。
由此,在推荐***集群发生变化时,对于新加入的机器不立即进行服务,而是进行用户相关缓存数据的同步后再进行推荐服务,保证了推荐***服务的质量。基于本发明如上所述的用户分配决策,能够保证已存在的用户相关缓存数据不被忽略,在机器集群信息变化的情况下,尽可能的保证用户缓存的命中率。通过引入管理节点收集所有的用户缓存的信息,保证了整个集群路由信息的一致性和完整性。
图7示出了根据本发明一实施例可用于实现上述用于分布式***的流量分配方法的计算设备的结构示意图。
参见图7,计算设备700包括存储器710和处理器720。
处理器720可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器720可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器720可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器710可以包括各种类型的存储单元,例如***内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器720或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器710可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器710可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器710上存储有可执行代码,当可执行代码被处理器720处理时,可以使处理器720执行上文述及的用于分布式***的流量分配方法。
上文中已经参考附图详细描述了根据本发明的分布式***以及用于该分布式***的流量分配方法和装置。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (12)

1.一种用于分布式推荐***的流量分配方法,所述分布式推荐***包括管理节点和多个服务节点,该方法包括:
以用户分组为单位,将用户分配给所述多个服务节点;
所述管理节点接收分别来自所述多个服务节点的心跳报告,所述心跳报告包括分配给所述服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息;
所述管理节点根据所述心跳报告,生成用户分配表,所述用户分配表用于记录所述多个服务节点和分配给各个服务节点的用户分组的对应关系;
响应于存在连接状态发生变化的服务节点,所述管理节点基于所述用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户,
其中,所述连接状态发生变化的服务节点包括先前不可用而所述管理节点当前收到其心跳报告的新服务节点,所述管理节点将所分配的用户分组数量最多的第一服务节点的部分用户分组分配给所述新服务节点,并将所述部分用户分组的用户的用户相关缓存数据,迁移到所述新服务节点。
2.根据权利要求1所述的方法,其中,还包括:
所述管理节点根据所述心跳报告,确定该心跳报告对应的服务节点的连接状态是否发生变化。
3.根据权利要求2所述的方法,其中,所述连接状态发生变化的服务节点包括:
先前可用而在预定时间期间内所述管理节点未收到其心跳报告的服务节点。
4.根据权利要求3所述的方法,其中,所述对至少一个服务节点重新分配用户的步骤包括:
将当前未分配服务节点的用户分组,分配给当前所分配的用户分组数量最少的服务节点。
5.根据权利要求3所述的方法,其中,所述对至少一个服务节点重新分配用户的步骤包括:
将被分配给至少两个服务节点的用户分组分配给所述至少两个服务节点中当前分配的用户分组数量最少的服务节点。
6.根据权利要求1所述的方法,其中,所述对至少一个服务节点重新分配用户的步骤包括:
所述管理节点将所分配的用户分组数量较多的第一服务节点的部分用户分组分配给所分配的用户分组数量较少的第二服务节点。
7.根据权利要求1所述的方法,其中,所述分布式推荐***还包括多个路由节点,所述路由节点用于向所述服务节点转发用户服务请求,所述方法还包括:
将所述用户分配表发送给所述路由节点,所述路由节点基于更新后的所述用户分配表转发所述用户服务请求。
8.根据权利要求1所述的方法,其中,所述用户分组信息是用户标识相应的用户哈希值。
9.一种用于分布式推荐***的流量分配装置,所述分布式推荐***包括管理节点和多个服务节点,该流量分配装置设置在所述管理节点,该流量分配装置包括:
用户分配装置,用于以用户分组为单位,将用户分配给所述多个服务节点;
心跳接收装置,用于接收分别来自所述多个服务节点的心跳报告,所述心跳报告包括分配给所述服务节点且已在本地缓存用户相关缓存数据的用户分组的用户分组信息;
分配表生成装置,用于根据所述心跳报告,生成用户分配表,所述用户分配表用于记录所述多个服务节点和分配给各个服务节点的用户分组的对应关系;
用户分配装置,用于响应于存在连接状态发生变化的服务节点,所述管理节点基于所述用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户,
其中,所述连接状态发生变化的服务节点包括先前不可用而所述管理节点当前收到其心跳报告的新服务节点,该流量分配装置还包括数据迁移装置,用于将所分配的用户分组数量最多的第一服务节点的部分用户分组分配给所述新服务节点,并将所述部分用户分组的用户的用户相关缓存数据,迁移到所述新服务节点。
10.一种分布式推荐***,包括管理节点和多个服务节点,其中,
以用户分组为单位,将用户分配给所述多个服务节点;
所述多个服务节点分别向所述管理节点发送心跳报告,所述心跳报告包括分配给所述服务节点的用户分组的用户分组信息;
所述管理节点根据所述心跳报告,生成用户分配表,所述用户分配表用于记录所述多个服务节点和分配给各个服务节点的用户分组的对应关系;
响应于存在连接状态发生变化的服务节点,所述管理节点基于所述用户分配表,以用户分组为单位,对至少一个服务节点重新分配用户,
其中,所述连接状态发生变化的服务节点包括先前不可用而所述管理节点当前收到其心跳报告的新服务节点,所述管理节点将所分配的用户分组数量最多的第一服务节点的部分用户分组分配给所述新服务节点,并将所述部分用户分组的用户的用户相关缓存数据,迁移到所述新服务节点。
11.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-8中任何一项所述的方法。
12.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-8中任一项所述的方法。
CN201810821660.4A 2018-07-24 2018-07-24 分布式***以及用于该***的流量分配方法和装置 Active CN108924244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810821660.4A CN108924244B (zh) 2018-07-24 2018-07-24 分布式***以及用于该***的流量分配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810821660.4A CN108924244B (zh) 2018-07-24 2018-07-24 分布式***以及用于该***的流量分配方法和装置

Publications (2)

Publication Number Publication Date
CN108924244A CN108924244A (zh) 2018-11-30
CN108924244B true CN108924244B (zh) 2022-02-25

Family

ID=64416374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810821660.4A Active CN108924244B (zh) 2018-07-24 2018-07-24 分布式***以及用于该***的流量分配方法和装置

Country Status (1)

Country Link
CN (1) CN108924244B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629013B (zh) * 2019-02-27 2024-06-18 北京奇虎科技有限公司 一种业务节点管理的方法、装置和节点网络
CN110888735A (zh) * 2019-11-12 2020-03-17 厦门网宿有限公司 基于一致性哈希的分布式消息分发方法、装置和调度节点
CN110909048A (zh) * 2019-12-03 2020-03-24 北京明略软件***有限公司 数据查询方法、装置、服务器、客户端及存储介质
CN111031126B (zh) * 2019-12-10 2022-08-12 江苏满运软件科技有限公司 集群缓存共享方法、***、设备及存储介质
CN113032588B (zh) * 2019-12-25 2024-03-08 北京达佳互联信息技术有限公司 多媒体推荐***、方法、装置及设备
CN111679916B (zh) * 2020-08-11 2020-11-27 北京搜狐新媒体信息技术有限公司 一种视频推荐方法、目标服务提供端、服务调用端及***
CN113778730B (zh) * 2021-01-28 2024-04-05 北京京东乾石科技有限公司 分布式***的服务降级方法和装置
CN113542775B (zh) * 2021-07-15 2023-09-19 广州安思创信息技术有限公司 直播保活服务***、直播保活管理方法、服务器及介质
CN115510125A (zh) * 2022-09-27 2022-12-23 阿里云计算有限公司 流量数据查询方法、设备、***及存储介质
CN115658368B (zh) * 2022-11-11 2023-03-28 北京奥星贝斯科技有限公司 一种故障处理方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
CN104917784A (zh) * 2014-03-10 2015-09-16 华为技术有限公司 一种数据迁移方法、装置及计算机***
CN107018041A (zh) * 2017-03-31 2017-08-04 杭州数梦工场科技有限公司 集群中数据迁移方法和装置
CN108156243A (zh) * 2017-12-26 2018-06-12 北京百度网讯科技有限公司 分布式缓存***中虚拟节点迁移的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769823B2 (en) * 2001-09-28 2010-08-03 F5 Networks, Inc. Method and system for distributing requests for content
US10740353B2 (en) * 2010-12-23 2020-08-11 Mongodb, Inc. Systems and methods for managing distributed database deployments
US10375194B2 (en) * 2015-10-30 2019-08-06 The Nielsen Company (Us), Llc Methods and apparatus to prevent illicit proxy communications from affecting a monitoring result
CN108234575A (zh) * 2016-12-22 2018-06-29 上海新飞凡电子商务有限公司 用于线下场景的推荐***及推荐方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
CN104917784A (zh) * 2014-03-10 2015-09-16 华为技术有限公司 一种数据迁移方法、装置及计算机***
CN107018041A (zh) * 2017-03-31 2017-08-04 杭州数梦工场科技有限公司 集群中数据迁移方法和装置
CN108156243A (zh) * 2017-12-26 2018-06-12 北京百度网讯科技有限公司 分布式缓存***中虚拟节点迁移的方法及装置

Also Published As

Publication number Publication date
CN108924244A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
CN108924244B (zh) 分布式***以及用于该***的流量分配方法和装置
JP4068473B2 (ja) ストレージ装置、分担範囲決定方法及びプログラム
US20190394284A1 (en) Zone redundant computing services using multiple local services in distributed computing systems
US20190034084A1 (en) Selecting controllers based on affinity between access devices and storage segments
CN109313564B (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理***
US20210405902A1 (en) Rule-based provisioning for heterogeneous distributed systems
CN104202375A (zh) 同步数据的方法及***
CA2916258C (en) Producer system partitioning among leasing agent systems
US20220057947A1 (en) Application aware provisioning for distributed systems
US9350801B2 (en) Managing client access to a plurality of computing systems
US11128698B2 (en) Producer system registration
US9369518B2 (en) Producer system partitioning among leasing agent systems
EP3442201A1 (en) Cloud platform construction method and cloud platform
US20190004844A1 (en) Cloud platform construction method and cloud platform
US10880367B2 (en) Load balancing stretched clusters in a distributed network
US10387195B2 (en) Method, apparatus, and computer-readable medium for performing a data exchange on a data exchange framework
US9780993B2 (en) Producer computing system leasing on behalf of consumer computing system
CN107948229B (zh) 分布式存储的方法、装置及***
CN114745358A (zh) 负载均衡服务中的ip地址管理方法、***及控制器
CN107491270B (zh) 一种多控存储***的资源访问方法及装置
JP6758479B2 (ja) 統計を集約するための方法および分散ストレージシステム
US11803448B1 (en) Faster restart of task nodes using periodic checkpointing of data sources
CN112347036B (zh) 一种云存储***的云间迁移方法及装置
CN107168646B (zh) 一种分布式数据存储控制方法及服务器
CN105404545A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200810

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 13 layer self unit 01

Applicant before: Guangdong Shenma Search Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant