掌桥专利:专业的专利平台
掌桥专利
首页

一种云对象存储方法和系统

文献发布时间:2023-06-19 18:53:06


一种云对象存储方法和系统

【技术领域】

本发明属于数据存储领域,尤其涉及一种云对象存储方法和系统。

【背景技术】

云计算系统中就需要配置大量的存储设备,是将储存资源放到云上供人存取的一种新兴方案。它将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。所以云存储是一个以数据存储和管理为核心的云计算系统。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。

当游戏服务器进行数据访问时,存储服务器集群提供实际的数据传输服务,数据压力分布在存储服务器云中的各云服务器之间。那么云存储运算和处理的核心是大量数据的存储和管理。对于游戏服务器来说,会存在大量的瞬间增长的数据量,存在很严峻的多用户、多并发的访问要求。但现有技术的云存储系统大都是串行存储方法,其访问响应、读写性能也在逐渐变差,无法应对多客户的密集海量存储读写需求。这必然会使得游戏玩家的使用体验大大降低。

现有技术中存在第一个问题是,提前将后续的游戏数据提前加载到和玩家接近的缓存空间中,但是,游戏数据往往数量很巨大,覆盖了全部的缓存空间,而这些缓存空间如果发生短期失效,就会引发大量缓存穿透,所有的数据获取都落在云服务器上,造成缓存雪崩,对云服务器的cpu和内存造成巨大压力,从而引发宕机。从而对游戏玩家的用户体验造成很大影响,且很多用户玩家的数据可能就会丢失了。在硬件层面,当缓存击穿后,可能导致硬件过度使用,导致功耗异常、硬件损坏、甚至服务器大面积宕机。第二个问题是,现有技术中对于游戏数据的加载都集中在针对一个玩家属性的预测上,没有充分的利用玩家组以及大数据带来的有效信息,从而无法支撑在线游戏的缓存空间有效利用。

本发明不仅考虑玩家自身还考虑玩家组对未来场景出现可能的影响,形成场景数据和云对象数据的分层次存储,确保场景中的关键云对象数据能够及时被获取到,从而提高了玩家和玩家组的数据使用效率。

【发明内容】

为了解决现有技术中的上述问题,本发明提出了一种云对象存储方法和系统,所述方法包含:

步骤S1:获取当前玩家组中每个玩家的属性;基于玩家属性获取后续场景预测参数集合;所述基于玩家属性获取后续场景预测参数集合,具体为:对于每个玩家属性,基于玩家属性的重要性以及玩家属性的关联关系将玩家属性选择一个或者多个玩家属性和/或玩家属性组合,并设置其参数权重值,以作为后续场景预测参数;

步骤S2:获取当前玩家组中每个组合的玩家子组合的历史数据,基于所述历史数据获取后续场景序列集合;其中:所述集合中包含分别对应后续的Q个场景的后续场景序列;每个后续场景序列中包含M个按照顺序排列的后续场景;其中:玩家子组合的个数为Q;

步骤S3:基于后续场景预测参数集合和后续场景序列集合{SQ

步骤S4:根据场景序列集合{S

步骤S5:基于玩家属性确定场景数据中的云对象数据,将云对象数据分别存储到每个玩家终端的第二存储空间中;其中:所述第一存储空间的访问速度低于所述第二存储空间。

进一步的,所述玩家属性是多维度玩家属性。

进一步的,所述玩家是游戏玩家,玩家组中的所有玩家在同样的场景中进行同一款游戏。

进一步的,所述步骤S5还包括:将场景序列集合中的第一个场景序列中的所有云对象数据加载并存储到第二存储空间中。

进一步的,用户属性包括:性别、年龄、游戏偏好、搭档偏好、云对象类型偏好中的一个或其组合。

一种云对象存储系统,所述系统包含:

参数获取模块,用于获取当前玩家组中每个玩家的属性;基于玩家属性获取后续场景预测参数集合;所述基于玩家属性获取后续场景预测参数集合,具体为:对于每个玩家属性,基于玩家属性的重要性以及玩家属性的关联关系将玩家属性选择一个或者多个玩家属性和/或玩家属性组合,并设置其参数权重值,以作为后续场景预测参数;

后续场景序列集合获取模块,用于获取当前玩家组中每个组合的玩家子组合的历史数据,基于所述历史数据获取后续场景序列集合;其中:所述集合中包含分别对应后续的Q个场景的后续场景序列;每个后续场景序列中包含M个按照顺序排列的后续场景;其中:玩家子组合的个数为Q;

场景序列集合获取模块,用于基于后续场景预测参数集合和后续场景序列集合{SQ

场景数据加载模块,用于根据场景序列集合{S

云对象数据加载模块,用于基于玩家属性确定场景数据中的云对象数据,将云对象数据分别存储到每个玩家终端的第二存储空间中;其中:所述第一存储空间的访问速度低于所述第二存储空间。。

进一步的,所述玩家属性是多维度玩家属性。

一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述的云对象存储方法。

一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行所述的云对象存储方法。

一种执行设备,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现所述的云对象存储方法。

本发明的有益效果包括:

(1)在预测参数提取的过程中完成用户属性数据预处理,在此过程中考虑属性之间的强关联关系和重要程度,从而大大提高了后续预测效率;

(2)不仅考虑玩家自身还考虑玩家组对未来场景出现可能的影响,从而形成场景数据和云对象数据的分层次存储,保障玩家组的群体用户体验,此外确保场景中的关键云对象数据能够及时被获取到,从而提高了玩家和玩家组的数据使用效率;

(3)通过场景作场景的预测和面数据也就是场景数据的提前存储,基于场景和云对象的包含关系作点数据也就是云对象数据的精准存储,从而提高了基于用户和用户组的游戏体验;

【附图说明】

此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:

图1为本发明的云对象存储方法示意图。

【具体实施方式】

下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。

如附图1所示,本发明提出一种云对象存储方法,所述方法包括如下步骤:

步骤S1:获取当前玩家组中每个玩家的属性;基于玩家属性获取后续场景预测参数集合;

优选的:所述玩家是游戏玩家,玩家组中的所有玩家在同样的场景中进行同一款游戏;

优选的:所述玩家属性是多维度玩家属性;

所述基于玩家属性获取后续场景预测参数集合,具体为:对于每个玩家属性,基于玩家属性的重要性以及玩家属性的关联关系将玩家属性选择一个或者多个玩家属性和/或玩家属性组合,并设置其参数权重值,以作为后续场景预测参数;用户属性包括:性别、年龄、游戏偏好、搭档偏好等;其中:玩家属性组合中玩家属性之间具有较强的关联关系;参数权重值越高则表示对场景的预测能力强,该参数权重值可以人工设置或者通过预设对应关系设置;

优选的:所述基于玩家属性获取后续场景预测参数集合,选择部分未加入后续场景预测参数集合的组合中的玩家属性放入后续场景预测参数集合中;具体包括如下步骤:

步骤S1A1:获取一未处理玩家作为当前玩家;

步骤S1A2:按照参数权重值高低的顺序从预置属性组合列表中获取一未处理玩家属性组合作为当前玩家属性组合;其中:属性组合列表按照组合的参数权重值从高到低存储一个或多个属性组合;所述参数权重值是属性组合用于预测后续场景的权重;参数权重值高则有较高的预测能力和表示能力;

步骤S1A3:判断针对当前玩家来说,当前玩家属性组合中的每个玩家属性是否均存在且有效;如果是,则将该当前玩家属性组合作为后续场景预测参数集合中的元素;

步骤S1A4:判断是否所有玩家属性组合均处理完毕,如果是,进入下一步,否则,返回步骤S1A2;

步骤S1A5:对于每个属性值存在且有效的当前玩家属性,判断所述当前玩家属性是否出现在后续场景预测参数集合的当前玩家属性组合中,如果是,则判断组合中的每个当前玩家属性的参数权重值的求和值是否大于其所在当前玩家属性组合的参数权重值,如果是,则不将所述当前玩家属性设置为后续场景预测参数,并将其所在当前玩家属性组合从集合中删除,将其所在当前玩家属性组合中的所有当前玩家属性均设置为后续场景预测参数;否则,将当前玩家属性设置为后续场景预测参数;重复步骤S1A5直到所有属性值存在且有效的当前玩家属性均处理完毕位置;

步骤S1A6:如果所有玩家均处理完毕,则结束,否则返回步骤S1A1;

本发明在预测参数提取的过程中完成用户属性数据预处理,在此过程中考虑属性之间的强关联关系和重要程度,从而大大提高了后续预测效率;

步骤S2:获取当前玩家组中每个组合的玩家子组合的历史数据,基于所述历史数据获取后续场景序列集合;其中:所述集合中包含分别对应后续的Q个场景的后续场景序列;每个后续场景序列中包含M个按照顺序排列的后续场景;所述步骤S2具体包括如下步骤:

步骤S21:获取当前玩家组的一个未处理玩家子组合作为当前玩家子组合;设置玩家子组合的个数为Q;其中:玩家子组合中玩家的个数大于等于2;

优选的:对当前玩家组中的玩家作任意组合以构成玩家子组合;子组合中的玩家的排列是无序的;

步骤S22:获取当前玩家子组合的子组合历史数据,所述子组合历史数据是当前玩家子组合中所有玩家均参与游戏且在当前场景时的后续场景数据;这里的当前场景根据场景标识或场景类型作区分;

步骤S23:从所述后续场景数据中获取从当前场景开始步长为P范围内的所有后续场景;其中:步长P是从当前场景开始的后续场景长度;

步骤S24:将所述所有后续场景按照出现次数排序以得到对应当前玩家子组合的长度为M的子组合场景序列SSC

步骤S25:判断是否所有玩家子组合均处理完,如果是,则进入下一步,否则,返回步骤S21;

步骤S26:对Q个玩家子组合的子组合场景序列SSC

优选的:计算值f1等于对应的第一权重值和第二权重值的加和或者乘积;也就是,计算值f1等于ωa

其中:第q个玩家子组合的第一权重值是ωa

所述将所有Q个玩家子组合对应的子组合场景序列SC

步骤S3:基于后续场景预测参数集合和后续场景序列集合{SQ

所述步骤S3具体包括如下步骤:

步骤S31:计算场景序列集合中的每个后续场景的场景权重值ω

优选的:采用下式计算其场景权重值ω

其中,att是后续场景预测参数,ω1

可替换的:

其中:f1是计算值;

优选的:所述匹配是指参数值和属性值相等或相似;

步骤S32:按照场景权重值ω

步骤S4:根据场景序列集合{S

优选的:所述选择为,确定场景权重值大于预设值的后续场景作为目标场景,加载目标场景的场景数据;其中:预设值分别和场景序列的位置对应;也就是说,m值小的靠前的场景序列的预设值小于靠后者;因为,后续场景序列集合中序列的位置对应其场景出现的顺序,靠前的场景必然会先出现,因此其加载优先级也较高,可为其分配更多的存储资源;

优选的:所述加载目标场景的场景数据,具体为:将场景数据加载到游戏玩家组中各个游戏玩家均接近的第一存储空间;例如:游戏玩家组中玩家的共享存储云存储空间;

优选的:所述加载目标场景的场景数据,具体为:将场景数据加载到游戏玩家组中各个游戏玩家接近的第一存储空间;例如:游戏玩家组中每个玩家终端的第一存储空间中;所述第一存储空间是玩家终端的低速存储空间;例如:硬盘存储空间等;

优选的:所述加载目标场景的场景数据,具体为:将场景数据加载到游戏玩家组中每个玩家终端的私有云存储空间中;第一存储空间是所述私有云存储空间;

优选的:所述加载目标场景的场景数据,具体为:提前为场景数据作云存储资源使用预授权,使得场景数据能够快速使用到所述预授权的云存储空间;第一存储空间是所述预授权的云存储空间

步骤S5:基于玩家属性确定场景数据中的云对象数据,将云对象数据分别存储到每个玩家终端的第二存储空间中;具体为:针对每个玩家,基于玩家属性确定玩家属性偏好的云对象类型,将所述第一存储空间的场景数据中所述偏好的云对象类型的云对象数据存储到玩家终端的第二存储空间中;其中:所述第一存储空间的访问速度低于所述第二存储空间且所述第一存储空间的尺寸大于所述第二存储空间;

优选的:所述第二存储空间是玩家终端的终端内存储空间;终端内存储空间的访问速度相对于云存储空间来说更快且尺寸更小;

优选的:所述第二存储空间是玩家终端的高速存储空间,例如:缓存空间、内存空间、cache空间;

本发明通过场景作场景的预测和面数据也就是场景数据的提前存储,基于场景和云对象的包含关系作点数据也就是云对象数据的精准存储,从而提高了基于用户和用户组的游戏体验;那么在作场景切换时,即使场景数据并未被完全提前加载,其中大部分云对象数据可能已经位于第二存储空间中,而场景数据也已经被加载到第一存储空间中,玩家需要的场景能够被快速提供而不会让用户感受到卡顿;

优选的:云对象数据是做场景渲染时可以进行独立渲染的场景元素;

优选的:所述步骤S5还包括:将场景序列集合中的第一个场景序列中的所有云对象数据加载并存储到第二存储空间中;

基于相同的发明构思,本发明提供一种云对象存储系统;所述系统包括:

参数获取模块,用于获取当前玩家组中每个玩家的属性;基于玩家属性获取后续场景预测参数集合;所述基于玩家属性获取后续场景预测参数集合,具体为:对于每个玩家属性,基于玩家属性的重要性以及玩家属性的关联关系将玩家属性选择一个或者多个玩家属性和/或玩家属性组合,并设置其参数权重值,以作为后续场景预测参数;

后续场景序列集合获取模块,用于获取当前玩家组中每个组合的玩家子组合的历史数据,基于所述历史数据获取后续场景序列集合;其中:所述集合中包含分别对应后续的Q个场景的后续场景序列;每个后续场景序列中包含M个按照顺序排列的后续场景;其中:玩家子组合的个数为Q;

场景序列集合获取模块,用于基于后续场景预测参数集合和后续场景序列集合{SQ

场景数据加载模块,用于根据场景序列集合{S

云对象数据加载模块,用于基于玩家属性确定场景数据中的云对象数据,将云对象数据分别存储到每个玩家终端的第二存储空间中;其中:所述第一存储空间的访问速度低于所述第二存储空间。

术语“玩家终端”、“云存储”包涵用于处理数据的所有种类的装置、设备和机器,举例包括可编程处理器、计算机、片上系统、或者上述中的多个或其组合。所述装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件,所述装置还可以包括代码,创建用于所述计算机程序的执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行环境、虚拟机或上述一个或多个的组合的代码。该装置和执行环境可以实现各种不同计算模型基础设施,诸如web服务、分布式计算、和网格计算基础设施。

计算机程序(也被称为程序、软件、软件应用、脚本或代码)能够以编程语言的任何形式来撰写,包括汇编或解释语言、说明或过程性语言,且其可以以任何形式部署,包括作为单机程序或者作为模块、组件、子例程、对象或适于在计算环境中使用的其他单元。计算机程序可以但不必与文件系统中的文件相对应。程序能够存储在保持其他程序或数据(例如存储在标记语言文档中的一个或多个脚本)的文件的一部分中,在专用于所述程序的单个文件中,或者在多个协同文件中(例如,存储一个或多个模块、子例程或代码部分的文件)。计算机程序可以部署为在一个计算机上或位于一个站点或跨多个站点分布且由通信网络互连的多个计算机上执行。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种云主机访问对象存储服务器的方法及系统
  • 一种Hadoop对象存储高可用方法、系统、装置及可读存储介质
  • 一种基于云日志分析的云上用户行为审计系统及方法
  • 一种基于Contiki系统的智能云锁通信方法、通信系统
  • 一种提升云对象存储系统中负载性能的方法及系统
  • 一种提升云对象存储系统中负载性能的方法及系统
技术分类

06120115726347