云手机均衡分配方法与系统

阅读: 评论:0

著录项
  • CN201811418251.6
  • 20181126
  • CN109561144A
  • 20190402
  • 广州微算互联信息技术有限公司
  • 陈振青;何振杰;廖松青;邱怡良;廖绍亮;李全斌
  • H04L29/08
  • H04L29/08

  • 广东省广州市海珠区江南大道南自编713号荣熙中心二号楼B301
  • 广东(44)
  • 佛山帮专知识产权代理事务所(普通合伙)
  • 颜德昊
摘要
本发明涉及网络技术领域,特别涉及一种云手机均衡分配方法,包括:接收云手机带查询条件的分配申请;根据查询条件生成Key;根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标;查询云手机获得查询对应的结果集;通过分布式锁计算获得当前应该读取的位移下标;读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。本发明还提出一种云手机均衡分配系统。本发明通过在缓存系统中设置查询结果集位移下标的方式,结合分布式锁计算了读取结果集中对应下标的云手机,实现了云手机的均衡分配,避免了当前系统分配出现冲突的情况,保证了更好的用户体验。
权利要求

1.一种云手机均衡分配方法,其特征在于,包括:

步骤1,接收云手机带查询条件的分配申请;

步骤2,根据查询条件生成Key;

步骤3,根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标;

步骤4,查询云手机获得查询对应的结果集;

步骤5,通过分布式锁计算获得当前应该读取的位移下标;

步骤6,读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。

2.如权利要求1所述云手机均衡分配方法,其特征在于,查询条件包括应用名称、应用ID、用户账户ID中的一种或多种。

3.如权利要求1所述云手机均衡分配方法,其特征在于,步骤3包括:根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标,该位移下标的初始值为预设数值。

4.如权利要求3所述云手机均衡分配方法,其特征在于,该方法在步骤6后还包括:

步骤7,将当前应该读取的位移下标以累加1的方式作为Key对应的新值并更新到缓存系统。

5.如权利要求4所述云手机均衡分配方法,其特征在于,该方法在步骤7后还包括:

步骤8,确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。

6.一种云手机均衡分配系统,其特征在于,包括:

接收模块,用于接收云手机带查询条件的分配申请;

生成模块,用于根据查询条件生成Key;

初始化模块,用于根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标;

查询模块,用于查询云手机获得查询对应的结果集;

计算模块,用于通过分布式锁计算获得当前应该读取的位移下标;

读取模块,用于读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。

7.如权利要求6所述云手机均衡分配系统,其特征在于,查询条件包括应用名称、应用ID、用户账户ID中的一种或多种。

8.如权利要求6所述云手机均衡分配系统,其特征在于,初始化模块具体用于根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标,该位移下标的初始值为预设数值。

9.如权利要求8所述云手机均衡分配系统,其特征在于,该系统还包括:

更新模块,用于将当前应该读取的位移下标以累加1的方式作为Key对应的新值,将Key对应的新值更新到缓存系统。

10.如权利要求9所述云手机均衡分配系统,其特征在于,该系统还包括:

恢复模块,用于确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。

说明书
技术领域

本发明涉及网络技术领域,特别涉及一种云手机均衡分配方法与系统。

云手机,是一个基于云计算强大虚拟应用和移动互联网的智能手机应用云平台。基于云计算在大规模计算、强大的存储能力、虚拟化应用等方面突出的优势,云平台为智能手机用户提供多元化、全方位的虚拟手机应用和服务,全面支持各种手机应用程序的展示、下载、应用与管理服务,并卓越实现全天候云端智能托管应用,让用户脱离移动终端的状态下,也能将各种应用程序托管到到云端,保持全天候在线状态,全面实现智能手机应用虚拟化。

当前云手机的后台管理系统,接收到多台云手机的分配申请时,通常情况是一个用户连接一台云手机,相互之间区分开,例如用户甲连接云手机A,用户乙连接云手机B,但是后台管理系统在初始设计上并未做准确处理,所以会出现多个用户连接到同一台云手机的情况,例如用户甲和乙都连接到云手机A的情况,这种分配不均衡的情况容易造成冲突,保证不了用户使用云手机的体验。

本发明的实施方式旨在至少解决现有技术中存在的技术问题之一。为此,本发明的实施方式需要提供一种云手机均衡分配方法与系统。

本发明实施方式的云手机均衡分配方法,其特征在于,包括:

步骤1,接收云手机带查询条件的分配申请;

步骤2,根据查询条件生成Key;

步骤3,根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标;

步骤4,查询云手机获得查询对应的结果集;

步骤5,通过分布式锁计算获得当前应该读取的位移下标;

步骤6,读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。

一种实施方式中,查询条件包括应用名称、应用ID、用户账户ID中的一种或多种。

一种实施方式中,步骤3包括:根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标,该位移下标的初始值为预设数值。

一种实施方式中,该方法在步骤6后还包括:

步骤7,将当前应该读取的位移下标以累加1的方式作为Key对应的新值并更新到缓存系统。

一种实施方式中,该方法在步骤7后还包括:

步骤8,确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。

本发明还提出一种云手机均衡分配系统,其特征在于,包括:

接收模块,用于接收云手机带查询条件的分配申请;

生成模块,用于根据查询条件生成Key;

初始化模块,用于根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标;

查询模块,用于查询云手机获得查询对应的结果集;

计算模块,用于通过分布式锁计算获得当前应该读取的位移下标;

读取模块,用于读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。

一种实施方式中,查询条件包括应用名称、应用ID、用户账户ID中的一种或多种。

一种实施方式中,初始化模块具体用于根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标,该位移下标的初始值为预设数值。

一种实施方式中,该系统还包括:

更新模块,用于将当前应该读取的位移下标以累加1的方式作为Key对应的新值,将Key对应的新值更新到缓存系统。

一种实施方式中,该系统还包括:

恢复模块,用于确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。

本发明实施方式的云手机均衡分配方法与系统,通过在缓存系统中设置查询结果集位移下标的方式,结合分布式锁计算了读取结果集中对应下标的云手机,实现了云手机的均衡分配,避免了当前系统分配出现冲突的情况,保证了更好的用户体验。

本发明的附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

本发明的实施方式的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本发明实施方式的云手机均衡分配方法的流程示意图;

图2是本发明实施方式的云手机均衡分配系统的组成示意图;

图3是本发明实施方式的云手机分配申请的示意图。

下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅可用于解释本发明的实施方式,而不能理解为对本发明的实施方式的限制。

请参阅图1,本发明实施方式的云手机均衡分配方法,包括:

步骤1,接收云手机带查询条件的分配申请。

步骤2,根据查询条件生成Key。

步骤3,根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标。

步骤4,查询云手机获得查询对应的结果集。

步骤5,通过分布式锁计算获得当前应该读取的位移下标。

步骤6,读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。

请参阅图2,本发明实施方式的云手机均衡分配系统,包括:

接收模块,用于接收云手机带查询条件的分配申请。

生成模块,用于根据查询条件生成Key。

初始化模块,用于根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标。

查询模块,用于查询云手机获得查询对应的结果集。

计算模块,用于通过分布式锁计算获得当前应该读取的位移下标。

读取模块,用于读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。

在该实施方式中,云手机均衡分配方法以云手机均衡分配系统作为步骤的执行对象,或者以系统内的各个模块作为步骤的执行对象。具体地,步骤1以接收模块作为步骤的执行对象,步骤2以生成模块作为步骤的执行对象,步骤3以初始化模块作为步骤的执行对象,步骤4以查询模块作为步骤的执行对象,步骤5以计算模块作为步骤的执行对象,步骤6以读取模块作为步骤的执行对象。

云手机均衡分配系统则设置于云手机对应的服务器上。

在步骤1中,接收模块接收云手机带查询条件的分配申请。用户使用云手机时,是通过自己的终端手机来访问获得云手机的,例如用户喜欢玩“王者荣耀”这款手机游戏,则可以以终端手机发出请求申请获得一台装有“王者荣耀”的手游,接收模块则接收这种分配申请。

具体地,接收的分配申请中查询条件包括应用名称、应用ID、用户账户ID中的一种或多种。可以理解为,终端手机体验“王者荣耀”时,能够以游戏ID作为查询条件向服务器发出云手机分配申请,服务器上云手机均衡分配系统的接收模块则可以接收这种带包括游戏ID的查询条件的分配申请。当然,查询条件还可以进一步包括应用名称和/或用户账户ID等内容,相对于游戏ID这种应用ID,应用名称本身更为简单直接,并且加上用户账户ID可以便于服务器明确分配申请的来源等内容。

在步骤2中,生成模块根据查询条件生成Key。即服务器上云手机均衡分配系统的生成模块接收到分配申请后,根据用户体验的游戏生成Key,Key可以设置为包括用户账户ID、游戏ID和机房在内的内容。

步骤3中,初始化模块根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统。即初始化模块先在缓存系统查询是否存在缓存记录,如果不存在,则进行初始化工作,即初始化Key对应的值到缓存系统,Key对应的值则是设置的云手机查询结果集位移下标。

具体地,步骤3包括:根据Key确定缓存系统不存在缓存记录时,初始化Key对应的值到缓存系统;其中,Key对应的值为结果集位移下标,该位移下标的初始值为预设数值。即位移下标的初始值可以是数值0、数值1或者其他适合的初始预设数值,本发明实施方式中,以0作为默认值进行阐述接下来的技术内容。

步骤4中,查询模块查询云手机获得查询对应的结果集。此处查询模块在服务器上的数据库内,根据Key查询对应的云手机,获得查询的结果集。例如,Key=用户账户ID为Alex+游戏ID为wzry+广州机房,其中wzry对应游戏“王者荣耀”,查询模块根据上述Key在数据库内查询对应的云手机然后获得对应的云手机搜索结果集。

步骤5中,计算模块通过分布式锁计算获得当前应该读取的位移下标。

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论中“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证“最终一致性”,只要这个最终时间是在用户可以接受的范围内即可。在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式锁等。有的时候,需要保证一个方法在同一时间内只能被同一个线程执行。即以该方式锁住某个方法或资源,满足相应的要求。本发明实施方式中,可以是基于缓存(redis,memcached,tair)实现分布式锁也可以是基于Zookeeper实现分布式锁,在此并不限制。

例如,完成上述初始化后,计算获得当前应该读取的位移下标为0。

步骤6中,读取模块读取并返回当前应该读取的位移下标对应的云手机,完成本次分配申请。即读取模块读取“0”这个位移下标对应的云手机,然后返回给步骤1请求分配云手机的终端手机,完成本次分配申请。

进一步地,云手机均衡分配方法在步骤6后还包括:

步骤7,将当前应该读取的位移下标以累加1的方式作为Key对应的新值并更新到缓存系统。

云手机均衡分配方法在步骤7后还包括:

步骤8,确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。

对应地,云手机均衡分配系统还包括:

更新模块,用于将当前应该读取的位移下标以累加1的方式作为Key对应的新值,将Key对应的新值更新到缓存系统。

恢复模块,用于确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。

步骤7和步骤8可以由云手机均衡分配系统作为步骤的执行对象,也可以由系统内的模块作为步骤的执行对象。具体地,步骤7由更新模块作为步骤的执行对象,步骤8由恢复模块作为步骤的执行对象。

步骤7中,更新模块将当前应该读取的位移下标以累加1的方式作为Key对应的新值,将Key对应的新值更新到缓存系统。步骤6分配了“0”这个位移下标对应的云手机后,步骤7中则将当前应该读取的位移下标以累加1的方式作为Key对应的新值,即0+1=1,Key对应的新值为位移下标1,此处新是相对于之前一次分配,本身还是指Key的值,为了描述的方便做了对应的区分。

步骤8中,恢复模块确定位移下标的数量超过云手机数量时,将位移下标恢复为初始值。按照前面的步骤,每个分配申请可以根据位移下标获取对应的云手机。请参阅图3,假设云手机的数量为8台,即有8台云手机装了“王者荣耀”手游,根据前面的分配申请处理后一步步更新Key在缓存系统中对应的值,初始化的时候位移下标从0开始,即原本的位移下标(0至7)的数量为8个,但是如果当前应该读取的位移下标以累加方式则可能出现位移下班为8,此时位移下标的数量(0-8总共9个)超过云手机的数量,则将位移下标做归零处理,恢复为0而不是在缓存系统中更新为8。如果位移下标的初始值为1,则此处恢复为1。

本发明实施方式的云手机均衡分配方法与系统,通过在缓存系统中设置查询结果集位移下标的方式,结合分布式锁计算了读取结果集中对应下标的云手机,实现了云手机的均衡分配,避免了当前系统分配出现冲突的情况,保证了更好的用户体验。

在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

本文发布于:2023-04-15 10:32:44,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87745.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图