一种多对象缓存方法、终端装置及存储介质制造方法及图纸

技术编号:19752009 阅读:21 留言:0更新日期:2018-12-12 05:53
本发明专利技术公开了一种多对象缓存方法、终端装置及存储介质,适用于直播数据缓存。本发明专利技术提供的方法包括:定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类;当调用所述数据缓存类的实例对象时,判断需要获取的实例对象的类型并返回对应实例对象;通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据。本发明专利技术中能够大大减少代码的冗余,并使得所有实例对象共用一套逻辑缓存数据,避免“脏数据”的出现,同时便于维护。

【技术实现步骤摘要】
一种多对象缓存方法、终端装置及存储介质
本专利技术涉及软件开发领域,尤其涉及一种多对象缓存方法、终端装置及存储介质。
技术介绍
我们在观看直播过程中,为了保证数据的实时性和占用过大存储空间,往往会用到缓存技术,在不同的直播间会有各种各样的缓存数据信息,这些缓存的数据信息有时会串直播间出现,干扰直播数据的正常显示。目前,针对这类脏数据或者串直播间数据,常常会在每个直播间采用一套单独的缓存数据管理方法,即使用单例模式实现对象缓存。这种方式不仅会造成大量的代码冗余,而且业务逻辑不能共用,致使维护起来非常不便。
技术实现思路
有鉴于此,本专利技术实施例提供了一种多对象缓存方法、终端装置及存储介质,以代码冗余、维护难度大的问题。本专利技术实施例的第一方面,提供了一种多对象缓存方法,包括:定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类;当调用所述数据缓存类的实例对象时,判断需要获取的实例对象的类型并返回对应实例对象;通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据,其中,所述集合对象为HashMap类的实例。本专利技术实施例的第二方面,提供了一种多对象缓存终端装置,包括:定义模块:用于定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类;判断模块:用于当调用所述数据缓存类的实例对象时,判断需要获取的实例对象的类型并返回对应实例对象;存取模块:用于通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据,其中,所述集合对象为HashMap类的实例。本专利技术实施例的第三方面,提供了一种终端装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本专利技术实施例第一方面所述方法的步骤。本专利技术实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例第一方面提供的所述方法的步骤。本专利技术实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本专利技术实施例第一方面提供的所述方法的步骤。本专利技术实施例中,通过定义数据缓存类,当实例化该类不同的对象时,能够判断并返回不同的实例对象,通过这些实例对象就能分别存取对应的缓存数据,这样就可以大大减少代码的冗余,并使得所有实例对象共用一套逻辑缓存数据,避免“脏数据”的出现,同时便于维护。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的多对象缓存方法的一个实施例流程图;图2为本专利技术实施例提供的多对象缓存方法的另一个实施例流程图;图3为本专利技术实施例提供的网络性能参数采集终端装置的结构示意图;图4为本专利技术实施例提供的终端装置的结构示意图。具体实施方式本专利技术实施例提供了一种多对象缓存方法、终端装置及存储介质,用于直播数据缓存,解决串直播间“脏数据”问题。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。实施例一:请参阅图1,本专利技术实施例提供的多对象缓存方法的流程示意图,包括以下步骤:S101、定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类;所述数据缓存类用于处理数据缓存,当需要进行数据缓存时,调用该类及其中的类方法,且该类一般定义为public方便调用。在所述数据缓存类中实例化该类,这样得到的实例对象信息就能封装起来,外部程序需要调用该类的对象时,通过数据缓存类中定义的对象获取方法返回给外部调用者。在本专利技术实施例中,所述数据缓存类还包括构造方法和HashMap类型的集合对象。HashMap类型数据一般为键值对应的结构,定义HashMap类型的集合对象,可以通过键值关系方便存储和取出缓存,便于数据管理。可选的,在所述数据缓存类中定义获取对象的类方法,所述类方法用于根据传入的整型数据,返回对应的实例对象。所述类方法可以反馈给外部调用者需要调用的对象,通过对已经实例过的对象进行区分,就能实现不同对象处理不同的缓存任务,且不会相互干扰。S102、当调用所述数据缓存类的实例对象时,判断需要获取的实例对象的类型并返回对应实例对象;当调用所述数据缓存类,获取需要的实例对象时,通过预定义的对象获取函数判断需要获取的实例对象的类型,并返回该实例对象。所述调用的主体一般为外部的程序,当程序发出缓存命令后,会通过特定的对象执行缓存操作。在本专利技术实施例中,在创建数据缓存类的实例后,区分不同的实例,返回对应的实例对象,就可以让该实例对象执行对应的缓存任务。可选的,当不存在对应的实例对象时,调用synchronized修饰所述数据缓存类,并实例化所述数据缓存类以得到所述对应的实例对象。所述synchronized方法用于为实例化数据缓存类进程加锁,防止多个线程同步实例化,保证每次只有一个进程进行进行实例化操作。可选的,通过同步代码块校验后,判断所述对应的实例对象是否已被实例化,当判定已被实例化后,返回所述对应的实例对象,当所述对应的实例对象未被实例化,则调用所述数据缓存类的构造方法,对所述对应的实例对象进行实例化。S103、通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据,其中,所述集合对象为HashMap类的实例。每一个数据缓存类的实例对象,都会执行对应的数据缓存,该数据缓存包括对数据的存入和取出。所述集合对象为HashMap类的实例,具有HashMap的属性。缓存数据就存放在该集合对象中,按键值对应的关系存放数据。每个数据缓存类的实例对象对应一种类型的数据的存入或取出操作,通过为所述实例对象提供键,使其操作集合对象中的数据。可选的,定义HashMap类型的集合对象,将所述集合对象的键设定为String类型,将值设定为object类型,并分别定义所述集合对象的数据存入方法和取出方法。以上,通过区分实例对象的类型,并返回。能够在实例化多个数据缓存类时,对多个对象进行区分,这样多个对象既可以共用一套处理逻辑,而且能够减少代码的冗余。实施例二:在图1的基础上,以程序编码为例,结合图2详述多对象缓存方法的具体实现过程,如下:S201中,定义一个类名为DateManager的数据缓存类,访问权限为public,方便调用。在S202中,定义类DateManager的实例对象,所述实例对象可以为多个。每个实例对象能够单独进行缓存任务,且对象间不会相互影响。具体的定义一个对象,例如:privatestaticvolatileDataManagerinstance1。这里定义为private属性能够封装对象信息,使得外部只能通过自定义的对象获取函数才本文档来自技高网...

【技术保护点】
1.一种多对象缓存方法,其特征在于,包括:定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类;当调用所述数据缓存类的实例对象时,判断需要获取的实例对象的类型并返回对应实例对象;通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据,其中,所述集合对象为HashMap类的实例。

【技术特征摘要】
1.一种多对象缓存方法,其特征在于,包括:定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类;当调用所述数据缓存类的实例对象时,判断需要获取的实例对象的类型并返回对应实例对象;通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据,其中,所述集合对象为HashMap类的实例。2.根据权利要求1所述的方法,其特征在于,所述定义一个数据缓存类,并在所述数据缓存类中实例化所述数据缓存类还包括:在所述数据缓存类中定义获取对象的类方法,所述类方法用于根据传入的整型数据,返回对应的实例对象。3.根据权利要求1所述的方法,其特征在于,所述判断需要获取的实例对象的类型并返回对应实例对象还包括:当不存在对应的实例对象时,调用synchronized修饰所述数据缓存类,并实例化所述数据缓存类以得到所述对应的实例对象。4.根据权利要求3所述的方法,其特征在于,所述当不存在对应的实例对象时,调用synchronized修饰所述数据缓存类,并实例化所述数据缓存类以得到所述对应的实例对象还包括:通过同步代码块校验后,判断所述对应的实例对象是否已被实例化,当判定已被实例化后,返回所述对应的实例对象,当所述对应的实例对象未被实例化,则调用所述数据缓存类的构造方法,对所述对应的实例对象进行实例化。5.根据权利要求1所述的方法,其特征在于,所述通过所述实例对象,向预定义集合对象中存入或从预定义集合对象中取出对应的缓存数据之...

【专利技术属性】
技术研发人员:张磊张文明陈少杰
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1