书签 分享 收藏 举报 版权申诉 / 13

一种数据存储方法、装置及系统.pdf

  • 上传人:小**
  • 文档编号:6383914
  • 上传时间:2019-06-05
  • 格式:PDF
  • 页数:13
  • 大小:962.01KB
  • 摘要
    申请专利号:

    CN201510482395.8

    申请日:

    2015.08.03

    公开号:

    CN105141672A

    公开日:

    2015.12.09

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20150803|||公开

    IPC分类号:

    H04L29/08; G06F17/30

    主分类号:

    H04L29/08

    申请人:

    广州神马移动信息科技有限公司

    发明人:

    樊恒光; 孟杰; 陈一宁

    地址:

    510627广东省广州市天河区黄埔大道西平云路163号广电平云广场B塔12层自编01单元

    优先权:

    专利代理机构:

    北京弘权知识产权代理事务所(普通合伙)11363

    代理人:

    逯长明; 许伟群

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种数据存储方法、装置及系统,所述方法包括中间服务器接收项目服务器发送的数据存储请求,所述数据存储请求包括待存储数据、数据标识和预设的项目标识;根据所述数据标识和所述项目标识生成所述待存储数据的键值;将所述键值与所述待存储数据发送并存储到缓存系统。与现有技术相比,本发明实施例的技术方案中,不同的项目服务器对应不同的项目标识,从而能够将不同项目的数据进行区分,而同一个项目中的数据由项目服务器设置不同的数据标识,因此,根据项目标识和数据标识生成的键值,能够唯一对应一个数据,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。

    权利要求书

    权利要求书
    1.  一种数据存储方法,其特征在于,包括:
    中间服务器接收项目服务器发送的数据存储请求,所述数据存储请求包括待存储数据、数据标识和预设的项目标识;
    根据所述数据标识和所述项目标识生成所述待存储数据的键值;
    将所述键值与所述待存储数据发送并存储到缓存系统。

    2.  如权利要求1所述的方法,其特征在于,所述根据所述数据标识和所述项目标识生成所述待存储数据的键值包括:
    为所述项目标识设置版本号;
    以所述版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值。

    3.  如权利要求2所述的方法,其特征在于,在为所述项目标识设置版本号之后,还包括:
    将所述项目标识确定为所述版本号的键值;
    将所述版本号和所述版本号的键值发送并存储到所述缓存系统,以便于在读取所述待存储数据时,从缓存系统中获取所述版本号生成所述待存储数据的键值。

    4.  如权利要求1至3中任一权项所述的方法,其特征在于,还包括:
    接收所述项目服务器的数据读取请求,所述数据读取请求包括所述数据标识和所述项目标识;
    将所述项目标识发送到所述缓存系统,并接收所述缓存系统根据所述项目标识读取的所述版本号;
    以所述版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值;
    将所述键值发送到所述缓存系统,并接收所述缓存系统根据所述键值读取的所述数据;
    将所述数据发送到所述项目服务器。

    5.  如权利要求1至3中任一权项所述的方法,其特征在于,还包括:
    接收所述项目服务器发送的数据清空请求,所述数据清空请求中包括所述项目标识;
    生成所述项目标识的新版本号;
    将所述新版本号发送到所述缓存系统,以使用所述新版本号替换已存储的原版本号。

    6.  如权利要求1所述的方法,其特征在于,在接收项目服务器发送的数据存储请求之前,还包括:
    接收所述项目服务器发送的项目名称;
    根据所述项目名称生成所述项目标识;
    将所述项目标识发送到所述项目服务器。

    7.  一种数据存储装置,其特征在于,包括:
    接收模块,用于接收项目服务器发送的数据存储请求,所述数据存储请求包括待存储数据、数据标识和预设的项目标识;
    生成模块,用于根据所述接收模块接收的数据标识和所述项目标识生成所述待存储数据的键值;
    发送模块,用于将所述生成模块生成的键值与所述待存储数据发送并存储到缓存系统。

    8.  如权利要求7所述的装置,其特征在于,所述生成模块包括版本号设置单元和生成单元,其中,
    所述版本号设置单元,用于为所述项目标识设置版本号;
    所述生成单元,用于以所述版本号设置单元设置的版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值。

    9.  如权利要求8所述的装置,其特征在于,所述生成模块还包括确定单元,其中,
    所述确定单元,用于将所述项目标识确定为所述版本号的键值;
    所述发送模块,还用于将所述版本号和所述确定单元确定的版本号的键值发送并存储到所述缓存系统。

    10.  如权利要求7至9中任一权项所述的装置,其特征在于,
    所述接收模块,还用于接收所述项目服务器的数据读取请求,所述数据读取请求包括所述数据标识和所述项目标识;
    所述发送模块,还用于将所述项目标识发送到所述缓存系统,所述接收模块接收所述缓存系统根据所述项目标识读取的所述版本号;
    所述生成模块,还用于以所述接收模块接收的版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值;
    所述发送模块,还用于将所述键值发送到所述缓存系统,所述接收模块接收所述缓存系统根据所述键值读取的所述数据;
    所述发送模块,还用于将所述数据发送到所述项目服务器。

    11.  如权利要求7至9中任一权项所述的装置,其特征在于,
    所述接收模块,还用于接收所述项目服务器发送的数据清空请求,所述数据清空请求中包括所述项目标识;
    所述生成模块,还用于生成所述项目标识的新版本号;
    所述发送模块,还用于将所述新版本号发送到所述缓存系统,以使用所述新版本 号替换已存储的原版本号。

    12.  如权利要求7所述的装置,其特征在于,
    所述接收模块,还用于接收所述项目服务器发送的项目名称;
    所述生成模块,还用于根据所述接收模块所接收的项目名称生成所述项目标识;
    所述发送模块,还用于将所述生成模块生成的项目标识发送到所述项目服务器。

    13.  一种数据存储系统,其特征在于,包括:中间服务器、项目服务器和缓存系统,其中,
    所述中间服务器如权利要求7至12中任一项所述;
    所述项目服务器,用于向所述中间服务器发送数据存储请求;还用于向所述中间服务器发送数据读取请求,并接收所述中间服务器响应所述数据读取请求所发送的数据;还用于向所述中间服务器发送数据清空请求;
    所述缓存系统,用于存储所述中间服务器发送的键值和数据;还用于根据所述数据读取请求读取相应数据,并将所读取的数据发送到所述中间服务器。

    说明书

    说明书一种数据存储方法、装置及系统
    技术领域
    本发明涉及互联网技术领域,更具体而言,涉及一种数据存储方法、装置及系统。
    背景技术
    在网络搜索时代,当用户通过客户端查询信息时,客户端将查询请求发送到各个项目服务器,例如,小说服务器、图片服务器、视频服务器等,各个项目服务器根据用户输入的信息在数据库中读取相应数据,并作为查询结果数据发送到客户端进行显示。由此可见,用户每次查询信息,项目服务器都要访问数据库,而数据库所存储的数据量庞大,从而降低了动态web应用的速度。为了减少访问数据库的次数,引入了Memcached缓存系统,Memcached是一种分布式内存缓存系统,当项目服务器从数据库中读取到查询结果数据后,将查询结果数据发送并存储到Memcached缓存系统中,当项目服务器再次接收到查询请求时,能够从Memcached缓存系统中读取数据,从而避免访问数据库。
    通常,Memcached缓存系统以键/值对的方式存储数据,项目服务器在将待存储数据发送到Memcached缓存系统之前,自定义生成键值,然后,将键值与数据一同发送到Memcached缓存系统进行保存。由于通过键/值对的方式存储数据,Memcached缓存系统查询数据时,根据数据对应的键值进行,具体的,当项目服务器读取、修改、更新或者删除某数据时,将该数据的键值发送到Memcached缓存系统,Memcached缓存系统在所存储的数据中,查找与所接收的键值相同的键值,然后再读取该键值对应的数据,并对所读取的数据执行相应的操作。
    然而,由于Memcached缓存系统对应存储多个项目的数据,每个项目均包含多个数据,而数据的键值由不同的项目服务器自定义生成,因此,经常出现多个不同的数据对应一个相同键值的情况,从而造成缓存系统对数据产生误操作,使得Memcached缓存系统管理混乱,影响数据的正常使用。
    发明内容
    有鉴于此,本发明实施例提供的数据存储方法、装置及系统,对应每个数据生成唯一的键值,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。
    第一方面,本发明实施例提供了一种数据存储方法,包括中间服务器接收项目服务器发送的数据存储请求,所述数据存储请求包括待存储数据、数据标识和预设的项目标识;根据所述数据标识和所述项目标识生成所述待存储数据的键值;将所述键值与所述待存储数据发送并存储到缓存系统。
    在第一方面的第一种可能的实现方式中,所述根据所述数据标识和所述项目标识生成所述待存储数据的键值包括:为所述项目标识设置版本号;以所述版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值。
    结合上述第一方面,在第二种可能的实现方式中,在为所述项目标识设置版本号之后,还包括:将所述项目标识确定为所述版本号的键值;将所述版本号和所述版本号的键值发送并存储到所述缓存系统,以便于在读取所述待存储数据时,从缓存系统中获取所述版本号生成所述待存储数据的键值。
    结合上述第一方面,在第三种可能的实现方式中,还包括:接收所述项目服务器的数据读取请求,所述数据读取请求包括所述数据标识和所述项目标识;将所述项目标识发送到所述缓存系统,并接收所述缓存系统根据所述项目标识读取的所述版本号;以所述版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值;将所述键值发送到所述缓存系统,并接收所述缓存系统根据所述键值读取的所述数据;将所述数据发送到所述项目服务器。
    结合上述第一方面,在第四种可能的实现方式中,还包括:接收所述项目服务器发送的数据清空请求,所述数据清空请求中包括所述项目标识;生成所述项目标识的新版本号;将所述新版本号发送到所述缓存系统,以使用所述新版本号替换已存储的原版本号。
    结合上述第一方面,在第五种可能的实现方式中,在接收项目服务器发送的数据存储请求之前,还包括:接收所述项目服务器发送的项目名称;根据所述项目名称生成所述项目标识;将所述项目标识发送到所述项目服务器。
    第二方面,本发明实施例还提供了一种数据存储装置,包括:接收模块,用于接收项目服务器发送的数据存储请求,所述数据存储请求包括待存储数据、数据标识和预设的项目标识;生成模块,用于根据所述接收模块接收的数据标识和所述项目标识生成所述待存储数据的键值;发送模块,用于将所述生成模块生成的键值与所述待存储数据发送并存储到缓存系统。
    在第二方面的第一种可能的实现方式中,所述生成模块包括版本号设置单元和生成单元,其中,所述版本号设置单元,用于为所述项目标识设置版本号;所述生成单元,用于以所述版本号设置单元设置的版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值。
    结合上述第二方面,在第二种可能的实现方式中,所述生成模块还包括确定单元,其中,所述确定单元,用于将所述项目标识确定为所述版本号的键值;所述发送模块,还用于将所述版本号和所述确定单元确定的版本号的键值发送并存储到所述缓存系统。
    结合上述第二方面,在第三种可能的实现方式中,所述接收模块,还用于接收所述项目服务器的数据读取请求,所述数据读取请求包括所述数据标识和所述项目标识;所述发送模块,还用于将所述项目标识发送到所述缓存系统,所述接收模块接收所述缓存系统根据所述项目标识读取的所述版本号;所述生成模块,还用于以所述接收模块接收的版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值;所述发送模块,还用于将所述键值发送到所述缓存系统,所述接收模块接收所述缓存系统根据所述键值读取的所述数据;所述发送模块,还用于将所述数据发送到所述项目服务器。
    结合上述第二方面,在第四种可能的实现方式中,所述接收模块,还用于接收所述项目服务器发送的数据清空请求,所述数据清空请求中包括所述项目标识;所述生成模块,还用于生成所述项目标识的新版本号;所述发送模块,还用于将所述新版本号发送到所述缓存系统,以使用所述新版本号替换已存储的原版本号。
    结合上述第二方面,在第五种可能的实现方式中,所述接收模块,还用于接收所述项目服务器发送的项目名称;所述生成模块,还用于根据所述接收模块所接收的项目名称生成所述项目标识;所述发送模块,还用于将所述生成模块生成的项目标识发送到所述项目服务器。
    第三方面,本发明实施例还提供了一种数据存储系统,包括:中间服务器、项目服务器和缓存系统,其中,所述中间服务器如第二方面所述;所述项目服务器,用于向所述中间服务器发送数据存储请求;还用于向所述中间服务器发送数据读取请求,并接收所述中间服务器响应所述数据读取请求所发送的数据;还用于向所述中间服务器发送数据清空请求;所述缓存系统,用于存储所述中间服务器发送的键值和数据;还用于根据所述数据读取请求读取相应数据,以及将所读取的数据发送到所述中间服务器。
    由以上技术方案可知,为了解决现有存储方法对数据产生误操作的技术问题,本发明实施例提供了一种数据存储方法、装置及系统,本方案设置一个中间服务器,该中间服务器接收项目服务器发送的数据存储请求,其中,数据存储请求包括待存储数据、数据标识和预设的项目标识,所述数据标识为待存储数据的标识信息,项目标识为待存储数据所属项目的标识信息。中间服务器根据数据标识和项目标识生成待存储数据的键值,然后,将键值和待存储数据发送并保存到缓存系统。与现有技术相比,不同的项目服务器对应不同的项目标识,从而能够将不同项目的数据进行区分,而同一个项目中的数据由项目服务器设置不同的数据标识,因此,根据项目标识和数据标识生成的键值,能够唯一对应一个数据,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。
    附图说明
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
    图1为本发明实施例提供的数据存储方法的方法流程图;
    图2为本发明实施例提供的数据存储方法的另一种实施方法流程图;
    图3为本发明实施例提供的数据存储装置的结构示意图;
    图4为本发明实施例提供的数据存储系统的结构示意图。
    具体实施方式
    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    由于现有技术中不同数据使用相同键值,当某一个项目服务器对其相应的数据进行操作时,例如,删除数据时,会将与该数据键值相同的其他数据一并删除,从而造成误操作,产生管理混乱,为了解决该技术问题,本发明实施例提供了下述方案。
    请参见图1,图1为本发明实施例提供的数据存储方法的方法流程图。所述方法包括以下步骤:
    步骤S101:中间服务器接收项目服务器发送的数据存储请求。
    其中,本发明实施例在项目服务器与缓存系统之间设置一个中间服务器,该中间服务器用于生成待存储数据的键值,以及完成项目服务器与缓存系统之间必要的数据交互,具体过程详见下文描述。本发明实施例中,中间服务器可以设置为一段程序,或者承载有相关功能程序的芯片等,本发明实施例此处不再赘述。
    本步骤中,项目服务器所发送的数据存储请求包括待存储数据、数据标识和预设的项目标识,其中,数据标识为项目服务器根据待存储数据的属性生成,用于标注该数据,并与其他数据进行区别,因此,同一项目中的数据对应唯一的数据标识。同样的,为了区分不同的项目,每个项目服务器对应设置唯一的项目标识,项目标识的内容可以但不限于项目名称或者项目名称的英文缩写,可以手动设置也可以自动生成,本发明实施例对此不做限制。
    例如,图片所对应的项目标识可以设置为pho,可以通过人工手动添加,也可以由图片对应的项目服务器,将项目名称“图片”发送到中间服务器,中间服务器根据名称“图片”生成项目标识“pho”,再将“pho”发送到图片的项目服务器中。而图片项目服务器可以为其待存储的图片设置数据标识,例如,壁纸-001。
    本步骤中通过在项目服务器与缓存系统之间增设中间服务器,由中间服务器处理项目服务器与缓存系统之间的数据交互,与现有技术相比,便于对不同项目服务器所对应的数据的统一管理,为本发明技术方案的实施提供条件。
    步骤S102:根据所述数据标识和所述项目标识生成所述待存储数据的键值。
    其中,中间服务器接收到数据标识和项目标识后,以数据标识和项目标识为参数,按照预设算法生成键值,因此,该键值能够指示待存储数据的属性,及待存储数据所属的项目服务器,从而使得每个待存储数据能够对应唯一的键值。
    需要说明的是,本实施例中,预设算法可以为哈希算法,当然,也可以为其他计算机算法,本发明实施例对此不做限制。
    本实施例通过将表示数据标识和待存储数据所属项目的项目标识生成键值,使得键值能够指示待存储数据的属性,及待存储数据所属的项目服务器,从而保证每个待存储数据对应唯一的键值,从而避免误操作的发生。
    步骤S103:将所述键值与所述待存储数据发送并存储到缓存系统。
    其中,中间服务器在生成键值后,将待存储数据及其键值发送到缓存系统,缓存系统按照存储格式将待存储数据及其键值进行存储。由于将数据以键/值对的形式进行存储的方法,为本领域技术人员所熟知的技术,本发明实施例此处不再赘述。
    由于缓存系统通过键/值对的形式存储数据,因此,对数据进行任何操作均需要通过数据的键值查找相应数据。具体的,以读取数据为例,当项目服务器读取某数据时,向中间服务器发送读取请求,读取请求中包括该项目服务器的项目标识和待读取数据的数据标识,中间服务器接收读取请求后,获取项目标识和数据标识,并按照上述的预设算法生成键值,然后将该键值和读取命令发送到缓存系统,缓存系统查找该键值,查找到后读取该键值对应的数据,并发送到中间服务器,中间服务器将数据发送到相应的项目服务器,完成数据读取。
    上述为读取数据的过程,删除数据及对数据进行其他操作的过程与读取数据的过程相似,在中间服务器计算生成键值之后,根据操作内容向缓存系统发送相应的操作命令,缓存系统在查找到数据后也会根据需求对数据进行相应的操作,本发明实施例此处不再赘述。
    基于上述描述可知,本发明实施例提供的数据存储方法,设置一个中间服务器,该中间服务器接收项目服务器发送的数据存储请求,其中,数据存储请求包括待存储数据、数据标识和预设的项目标识,所述数据标识为待存储数据的标识信息,项目标识为待存储数据所属项目的标识信息。中间服务器根据数据标识和项目标识生成待存储数据的 键值,然后,将键值和待存储数据发送并保存到缓存系统。与现有技术相比,不同的项目服务器对应不同的项目标识,从而能够将不同项目的数据进行区分,而同一个项目中的数据由项目服务器设置不同的数据标识,因此,根据项目标识和数据标识生成的键值,能够唯一对应一个数据,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。
    为了使本发明实施例的技术方案能够实现的功能更加全面,在上述实施例的基础上,本发明还可以包括其他实施方案。请参见图2,图2为本发明实施例提供的数据存储方法的另一种实施方法流程图。由于本实施例是对上述实施例的补充,因此,本实施例中与上述实施例相同的部分,可以参见上述实施例的描述,本实施例此处不再赘述。本实施例包括下述步骤:
    步骤S201:中间服务器接收项目服务器发送的数据存储请求。
    本实施例以图片为例,对本发明的技术方案进行描述。图片服务器将本次搜索的图片进行存储,向中间服务器发送存储请求,存储请求中包括图片对应的项目标识pho,及图片服务器为待存储图片设置的标识壁纸-001。
    步骤S202:为所述项目标识设置版本号。
    其中,本实施例中,中间服务器在读取项目标识pho后,为pho设置版本号,版本号的内容可以是数字,或者字母等信息,版本号的作用详见下述实施例的描述。假设本实施例中,所设置版本号为a1。
    步骤S203:以所述版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值。
    其中,本实施例中,中间服务器以pho、a1和壁纸-001三个量作为参数,利用哈希算法计算生成待存储图片的键值。
    由于待存储图片的键值由pho、a1和壁纸-001三个参量生成,其中pho和壁纸-001为图片服务器生成,为固定信息,而a1为中间服务器生成,因此,为了在图片服务器对图片执行操作时,中间服务器能够顺利生成相应键值,在生成版本号a1后,可以将a1进行存储。具体的,可以将pho确定为a1的键值,将a1与pho发送到缓存系统进行存储,或者将pho与a1对应存储在中间服务器,本发明实施例对此不做限制。在本发明的一个优选示例中,将a1与pho存储到缓存系统中,以便于图 片服务器读取、更新或者删除图片时,能够根据项目标识pho从缓存系统中读取版本号a1,从而生成待读取图片的键值。
    具体的,当图片服务器读取、更新或者删除图片时,在将相应操作请求发送到中间服务器后,中间服务器首先将项目标识pho发送到缓存系统,缓存系统根据pho查找版本号a1,并将a1发送到中间服务器,中间服务器根据参数pho、a1和壁纸-001生成键值,然后将键值与相应的操作命令发送到缓存系统,缓存系统对图片执行相应操作。
    本步骤通过为项目标识设置版本号,不仅能够更加便于为数据生成唯一对应的键值,而且便于对该项目服务器对应的全部数据进行统筹管理。
    步骤S204:将所述键值与所述待存储数据发送并存储到缓存系统。
    其中,根据上述实施例的描述,当一个项目服务器将已存储的数据全部清空时,需要分别向所存储的数据发送清空请求,不仅操作繁琐,而且计算量大。由于memcached存储系统为缓存系统,系统对所存储的数据会定期清空,当项目服务器需要清空数据时,可以通过修改键值参数的方式,将已存储的所有数据的键值全部无效,不仅操作流程简单,而且能够大大减少数据处理量。
    由于一个项目服务器对应一个项目标识,如果修改项目服务器对应的项目标识,则会产生一个项目服务器对应多个项目标识的情况,从而导致数据维护不便,因此,本实施例中引入了版本号。当项目服务器需要清空已存储的数据时,可以修改项目标识的版本号,由于每个数据的键值在生成时,均使用到版本号,因此,可以将已存储数据的键值全部无效,从而将已存储数据清空。
    具体的,以图片项目服务器为例,当图片项目服务器需要清空当前已存储的所有图片时,向中间服务器发送数据清空请求。其中,数据清空请求中包括图片项目服务器的项目标识pho,中间服务器接收数据清空请求之后,生成项目标识pho的新版本号a2,并将pho的新版本号a2发送到缓存系统,使用新版本号a2替换原版本号a1。由于当前已存储的全部图片的键值均根据原版本号a1生成,当缓存系统所存储的原版本号a1被新版本号a2替换,图片服务器在获取图片时,无法读取到原版本号a1,因此,将无法获取到当前所存储的任何图片,而且,由于将图片存储到缓存系统,如果存在一定时间内未被读取的数据,将会被缓存系统删除,从而能够将已存储的图片全部清空。
    需要说明的是,使用新版本号a2替换原版本号a1的方法,具体可以包括:先将缓存系统中已存储的原版本号a1删除,然后,将项目标识pho和新版本号a2写入;或者,读取原版本号a1,将原版本号a1修改为新版本号a2后,再写入缓存系统;或者,根据项目标识pho查找到原版本号a1的位置,通过新版本号a2写入该位置将原版本号a1覆盖。当然,上述方法仅为本发明实施例的优选实施方式,对本发明实施例的技术方案不构成限制。
    综合上述,为了解决现有存储方法对数据产生误操作的技术问题,本发明实施例提供了一种数据存储方法,本方案设置一个中间服务器,该中间服务器接收项目服务器发送的数据存储请求,其中,数据存储请求包括待存储数据、数据标识和预设的项目标识,所述数据标识为待存储数据的标识信息,项目标识为待存储数据所属项目的标识信息。中间服务器根据数据标识和项目标识生成待存储数据的键值,然后,将键值和待存储数据发送并保存到缓存系统。与现有技术相比,不同的项目服务器对应不同的项目标识,从而能够将不同项目的数据进行区分,而同一个项目中的数据由项目服务器设置不同的数据标识,因此,根据项目标识和数据标识生成的键值,能够唯一对应一个数据,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。
    与上述实现方法相对应的,本发明实施例还提供了一种数据存储装置,请参见图3,图3为本发明实施例提供的数据存储装置的结构示意图,所述装置包括:接收模块11、生成模块12和发送模块13,其中,接收模块11,用于接收项目服务器发送的数据存储请求,所述数据存储请求包括待存储数据、数据标识和预设的项目标识;生成模块12,用于根据所述接收模块11接收的数据标识和所述项目标识生成所述待存储数据的键值;发送模块13,用于将所述生成模块12生成的键值与所述待存储数据发送并存储到缓存系统。
    所述装置中各个模块的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
    与现有技术相比,本实施例所述的装置,为不同的项目服务器设置不同的项目标识,从而能够将不同项目的数据进行区分,而同一个项目中的数据由项目服务器设置不同的数据标识,因此,根据项目标识和数据标识生成的键值,能够唯一对应一个数据,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的 正常使用。
    基于上述实施例,生成模块12具体包括版本号设置单元和生成单元,其中,所述版本号设置单元,用于为所述项目标识设置版本号;所述生成单元,用于以所述版本号设置单元设置的版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值。
    在本实施例的基础上,在另外一个实施例中,所述生成模块还包括确定单元,其中,所述确定单元,用于将所述项目标识确定为所述版本号的键值;本实施例中,所述发送模块,还用于将所述版本号和所述确定单元确定的版本号的键值发送并存储到所述缓存系统。
    此外,在上述实施例的基础上,在另一个实施例中,接收模块11,还用于接收所述项目服务器的数据读取请求,所述数据读取请求包括所述数据标识和所述项目标识;发送模块13,还用于将所述项目标识发送到所述缓存系统,所述接收模块11接收所述缓存系统根据所述项目标识读取的所述版本号;然后,所述生成模块12,还用于以所述接收模块11接收的版本号、所述数据标识和所述项目标识为参数,按照预设算法生成所述待存储数据的键值;所述发送模块13,还用于将所述键值发送到所述缓存系统,所述接收模块11接收所述缓存系统根据所述键值读取的所述数据;所述发送模块13,再将所述数据发送到所述项目服务器。
    在另外一种实施方式中,所述接收模块11,还用于接收所述项目服务器发送的数据清空请求,所述数据清空请求中包括所述项目标识;在本实施例中,所述生成模块12,还用于生成所述项目标识的新版本号;所述发送模块13,还用于将所述新版本号发送到所述缓存系统,以使用所述新版本号替换已存储的原版本号。
    在另一个实施例中,所述接收模块11,还用于接收所述项目服务器发送的项目名称;所述生成模块12,还用于根据所述接收模块11所接收的项目名称生成所述项目标识;所述发送模块13,还用于将所述生成模块12生成的项目标识发送到所述项目服务器。
    所述装置中各个模块和单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。
    由此可见,本发明实施例所提供的数据存储装置,为不同的项目服务器预设 不同的项目标识,能够将不同项目的数据进行区分,从而能够为每一个数据设置唯一对应的键值,能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。
    与上述实现方法和装置相对应的,本发明实施例还提供了一种数据存储系统,请参见图4,图4为本发明实施例提供的数据存储系统的结构示意图,所述系统包括:中间服务器1、项目服务器2和缓存系统3,其中,中间服务器1包括如上文所述的装置,本发明实施例此处不再赘述。
    项目服务器2,用于向中间服务器1发送数据存储请求,其中,数据存储请求包括待存储数据、数据标识和预设的项目标识;相应的,缓存系统3,用于存储中间服务器1发送的键值和数据。
    在上述实施例的基础上,在另一个实施例中,项目服务器2,还用于向中间服务器1发送数据读取请求,并接收中间服务器1响应数据读取请求所发送的数据;相应的,在本实施例中,缓存系统3,还用于根据数据读取请求读取相应数据,并将所读取的数据发送到中间服务器1。
    此外,在另一个实施例中,项目服务器2,还用于向中间服务器发送数据清空请求。
    需要说明的是,本实施例中,项目服务器2的数量可以为多个,具体的,根据实际应用的需求设定,本发明实施例对此不做限制。
    此外,所述系统中各个服务器和缓存系统的功能和作用的实现过程详见上述描述,在此不再赘述。
    综合上述,为了解决现有存储方法对数据产生误操作的技术问题,本发明实施例提供了一种数据存储方法、装置及系统,本方案设置一个中间服务器,该中间服务器接收项目服务器发送的数据存储请求,其中,数据存储请求包括待存储数据、数据标识和预设的项目标识,所述数据标识为待存储数据的标识信息,项目标识为待存储数据所属项目的标识信息。中间服务器根据数据标识和项目标识生成待存储数据的键值,然后,将键值和待存储数据发送并保存到缓存系统。与现有技术相比,不同的项目服务器对应不同的项目标识,从而能够将不同项目的数据进行区分,而同一个项目中的数据由项目服务器设置不同的数据标识,因此,根据项目标识和数据标识生成的键值,能 够唯一对应一个数据,从而能够避免误操作的产生,使得缓存系统能够正常管理数据,保证数据的正常使用。
    以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

    关 键  词:
    一种 数据 存储 方法 装置 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种数据存储方法、装置及系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6383914.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1