数据存储方法及装置制造方法及图纸

技术编号:2827783 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例涉及一种数据存储方法,该方法具体包括:当所需获取的业务数据的业务类型不在与其对应的缓存数据表的数据列表中时,根据所述缓存数据表判断缓存是否已达到最大容量;当所述缓存已达到最大容量时,删除所述缓存中的部分或全部业务数据,将该所需获取的业务数据存储在所述缓存中,并将该所需获取业务数据的业务类型加载到所述数据列表中。本发明专利技术实施例还涉及一种数据存储装置。本发明专利技术实施例有效控制了缓存所占用的内存的空间,缓解了服务器的压力;同时节约了系统资源,提高了服务器的效率。

【技术实现步骤摘要】

本专利技术涉及移动通信领域,尤其涉及一种数据存储方法及装置
技术介绍
目前,为了提高系统处理复杂业务的效率,常采用数据缓存机制,即定时地从数据库中把常用业务表中的所有业务数据读取到内存中,并把该类业务数据长时间的保存在内存中,再进行逻辑运算,以减少在大量的数据库读取动作中因I/O操作引起的性能损耗。现有的缓存机制的处理过程,主要包括数据缓存和缓存刷新。数据缓存主要指数据在内存中常驻,内存以ArrayList、HashMap等方式存储所有的业务数据,常见为全量存储的方式。如图1所示,为现有技术数据获取流程图,因为数据为全量存储,随着业务量的增加,需要缓存的业务数据越来越多,获取数据时需要查找缓存的全部数据,因此服务器的负担越来越重,服务器的性能不能及时提高,致使缓存中内存占用不可控。缓存刷新主要指对业务数据进行更新,当业务数据在内存中有更新时,系统及时的刷新该业务数据,并将刷新的该业务数据保存到缓存中,常见为全量刷新的方式。在进行逻辑运算时,需要在大量的业务数据中寻找出有用的业务信息,缓存数据量越大,则寻找的过程越繁琐,无用的消耗越多,因此系统对业务的处理性能随缓存数据量的增大急剧下降。如图2所示,为现有技术数据更新流程图,在缓存数据中有更新时,全量刷新的方式需要能够及时的对数据进行刷新,所以缓存数据的更新运行频率很高,在全量的数据缓存时,每次缓存更新均需要从数据库中读取所有的数据进行更新,造成数据库I/O的长时间被占用。-->在专利技术人实施本专利技术的过程中,发现现有技术至少存在以下问题:全量存储的缓存方式使得服务器在进行复杂运算时,常因内存占用量急剧上升导致服务器宕机,风险较大。另一方面,全量刷新的更新方式使得系统资源浪费严重。
技术实现思路
本专利技术实施例提供一种数据存储方法,以解决现有技术数据全量缓存和全量刷新带给服务器的风险较高以及系统资源浪费严重等缺陷。根据本专利技术实施例提供一种数据存储方法,该方法具体包括:当所需获取的业务数据的业务类型不在与该业务数据对应的缓存数据表的数据列表中时,根据所述缓存数据表判断缓存是否已达到最大容量;当所述缓存已达到最大容量时,删除所述缓存中的部分或全部业务数据,将该所需获取的业务数据存储在所述缓存中,并将该所需获取业务数据的业务类型加载到所述数据列表中。本专利技术实施例提供一种数据存储装置,以解决现有技术数据全量缓存和全量刷新带给服务器的风险较高以及系统资源浪费严重的缺陷。根据本专利技术实施例提供一种数据存储装置,该装置具体包括:容量判断模块,用于当所需获取的业务数据的业务类型不在与其对应的缓存数据表的数据列表中时,根据所述缓存数据表判断缓存是否已达到最大容量;数据存储模块,用于当所述缓存已达到最大容量时,删除所述缓存中的部分或全部业务数据,将该所需获取的业务数据存储在所述缓存中,并将该所需获取业务数据的业务类型加载到所述数据列表中。本专利技术实施例提供的数据存储方法和数据存储装置,通过设置业务数据在缓存中存储的最大容量,对业务数据进行部分缓存;并在对缓存进行存储业务数据前先进行最大容量判断,从而有效控制了缓存所占用的内存-->的空间,缓解了服务器的压力;同时节约了系统资源,提高了服务器的效率。附图说明图1为现有技术数据获取流程图;图2为现有技术数据更新流程图;图3为本专利技术实施例提供的数据存储方法实施例一流程图;图4为本专利技术实施例提供的数据存储方法实施例二流程图;图5为本专利技术实施例提供的数据存储方法实施例三流程图;图6为本专利技术实施例提供的数据存储装置结构示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图3为本专利技术实施例提供的数据存储方法实施例一流程图,具体步骤包括:步骤100、预先建立与业务数据对应的缓存数据表,其包括该业务数据的存储最大容量以及该业务数据对应业务类型的数据列表;在本专利技术实施例中,每类业务数据对应一个缓存数据表,缓存数据表中存储该类业务数据在缓存中可存储的存储最大容量,使得本专利技术实施例中缓存对业务数据的存储为定量存储,有效控制了缓存所占用的内存的空间,减少了服务器和内存的压力。步骤110、判断所需获取的业务数据的类型是否存在于与其对应的缓存数据表的数据列表中,是则执行步骤120;否则执行步骤111;步骤111、从缓存中获取所需获取的业务数据;步骤120、根据缓存数据表判断缓存是否已达到最大容量;是则执行步骤130;否则执行步骤140;-->在本专利技术实施例中,根据缓存数据表中的该类业务数据在缓存中存储最大容量对缓存进行判断。步骤130、删除缓存中的部分或全部业务数据,执行步骤140;步骤140、将该所需获取的业务数据存储在缓存中,并将该业务数据的业务类型加载到数据列表中。本专利技术实施例通过创建与业务数据对应的缓存数据表,给缓存设置存储每种业务数据的最大容量,对业务数据进行部分缓存,并在对缓存进行加载数据前先进行最大容量判断,从而有效控制了缓存所占用的内存的空间,缓解了服务器的压力;同时节约了系统资源,提高了服务器的效率。图4为本专利技术实施例提供的数据存储方法实施例二流程图;具体步骤包括:步骤200、预先建立与业务数据对应的缓存数据表,其包括该业务数据的存储最大容量以及该业务数据对应业务类型的数据列表;优选的,本专利技术实施例缓存数据表中还可以进一步地存储与业务数据对应的缓存数据表名称。这样,由于业务数据与缓存数据表是对应的关系,因此可以根据缓存数据表的名称,很容易的查找到所需获取的业务数据。步骤210、根据所需获取的业务数据与缓存数据表名称判断该业务数据对应的缓存数据表是否存在,是则执行220,否则执行211;在本实施例中,由于事实上并不一定每类业务数据对应的缓存数据表都已经被创建,所以优选地,本实施例对数据缓存表是否存在先进行判断。步骤211、初始化以获得与该业务数据对应的缓存数据表;步骤220、判断所需获取的该业务数据的业务类型是否存在于与其对应的缓存数据表的数据列表中,是则执行步骤230;否则执行步骤221;步骤221、从缓存中获取该所需获取的业务数据;步骤230、根据缓存数据表判断缓存是否已达到最大容量;是则执行步骤240;否则执行步骤250;-->在本专利技术实施例中,由于缓存数据表还包括业务数据在缓存中的存储最大容量,所以步骤230处可根据最大容量来判断缓存对该业务数据的存储是否已达到最大容量。步骤240、按照最旧最少用原则删除该原则对应的缓存中的业务数据;本实施例中,既可以采用最旧原则删除该原则对应的业务数据,也可以按照最少用原则来删除对应的业务数据,优选地,采用最旧最少用原则删除该原则对应的业务数据。事实上,也可以根据所需获取的业务数据的数量来对缓存中的业务数据进行删除,比如所需获取的业务数据为5条,则删除缓存中的5条业务数据,等等其它删除原则。步骤250、将所需获取的业务数据存储到缓存中,并将该条业务数据的业务类型加载到数据列表中;图5为本专利技术实施例提供的数据存储方法实施例三流程图;具体步骤包括:步骤300、预先建立与业务数据对应的,包括该业务数据的存储最大容量和该业务数据对应业务类型的数据列表的缓存数据表;优选的,本专利技术实施例缓存数据表中还可以进一步地存储与业务数据对应的缓存数据表名称。这样,由于业务数据与缓存数据本文档来自技高网
...

【技术保护点】
一种数据存储方法,其特征在于该方法具体包括:    当所需获取的业务数据的业务类型不在与该业务数据对应的缓存数据表的数据列表中时,根据所述缓存数据表判断缓存是否已达到最大容量;    当所述缓存已达到最大容量时,删除所述缓存中的部分或全部业务数据,将该所需获取的业务数据存储在所述缓存中,并将该所需获取业务数据的业务类型加载到所述数据列表中。

【技术特征摘要】
1.一种数据存储方法,其特征在于该方法具体包括:当所需获取的业务数据的业务类型不在与该业务数据对应的缓存数据表的数据列表中时,根据所述缓存数据表判断缓存是否已达到最大容量;当所述缓存已达到最大容量时,删除所述缓存中的部分或全部业务数据,将该所需获取的业务数据存储在所述缓存中,并将该所需获取业务数据的业务类型加载到所述数据列表中。2.根据权利要求1所述的数据存储方法,其特征在于预先建立与业务数据对应的,包括该业务数据的存储最大容量和该业务数据对应业务类型的数据列表的缓存数据表,所述缓存数据表还存储与业务数据对应的缓存数据表名称。3.根据权利要求2所述的数据存储方法,其特征在于所述的数据存储方法还包括:根据所需获取的业务数据与缓存数据表名称获取该业务数据对应的缓存数据表。4.根据权利要求3所述的数据存储方法,其特征在于所述根据所需获取的业务数据与缓存数据表名称获取该业务数据对应的缓存数据表具体包括:根据所需获取的业务数据与缓存数据表名称判断该所需获取的业务数据对应的缓存数据表是否存在,如果存在则获取所述所需获取的业务数据对应的缓存数据表;如果不存在则初始化与所述所需获取的业务数据对应的缓存数据表,并获得该缓存数据表。5.根据权利要求1所述的数据存储方法,其特征在于所述当所需获取的业务数据的业务类型不在与其对应的缓存数据表的数据列表中时,具体包括:判断所需获取的业务数据的业务类型是否存在于与其对应的缓存数据表的数据列表中,是则从所述缓存中获取所述所需获取的业务数据。6.根据权利要求1所述的数据存储方法,其特征在于所述根据所述缓存数据表判断缓存是否已达到最大容量之后还包括:当所述缓存未达到最大容量时,将该所需获取的业务数据存储在所述缓存中,并将所述所需获取的业务数据的业务类型加载到所述数据列表中。7.根据权利要求1所述的数据存储方法,其特征在于所述数据存储方法还包括:判断所述所需获取的业务数据是否存在于数据库中。8.根据权利要求1所述的数据存储方法,其特征在于所述删除所述缓存中的部分或全部业务数据具体包括,按照最旧和/或最少用原则删除对应的所述缓存中的业务数据。9.根据权利要求1-8所述任一的数据存储方法,其特征在于所述数据存储方法还包括:判断当前存储在所述缓存中的业务数据是否被修改,是则对被修改的业务数据进行更新。10.根据权利要求1-8所述任一的数据...

【专利技术属性】
技术研发人员:霍文辉
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1