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

技术编号:16499883 阅读:37 留言:0更新日期:2017-11-04 11:16
本申请提供一种数据存储方法和装置,其中方法包括:根据待存储的目标数据包含的数据主键,由存储系统中获取对应所述数据主键的存储标识数值,按照预设的标识更新规则,更新所述存储标识数值;将更新后的所述存储标识数值与数据主键对应存储至所述存储系统;根据更新后的存储标识数值以及预设的索引生成规则,计算对应本次数据存储的数据索引,并将所述数据索引与待存储的目标数据,对应存储至所述存储系统。本申请显著提高了数据存取速度。

A data storage method and device

The invention provides a data storage method and device, wherein the method comprises the following steps: according to the target data to be stored in the data contained in the primary key, gaining identifying value corresponding to the data from the primary storage system, in accordance with the default label update rules, updating the stored identifier value; the updated the storage mark the numerical data and the corresponding primary key and stored to the storage system; according to the stored identification numerical updated and preset index generation rules, calculate the data index corresponding to the data storage, and the data index and the target data storage, corresponding to the memory storage system. This application significantly improve data access speed.

【技术实现步骤摘要】
一种数据存储方法和装置
本申请涉及网络技术,特别涉及一种数据存储方法和装置。
技术介绍
业务系统在处理业务的过程中,会产生多条业务数据,这些业务数据将由业务系统发送给后台处理系统,由后台处理系统根据这些数据进行一定的处理。相关技术中,所有业务数据可以并不是同时接收到的,后台处理系统在每接收到一条业务数据时,可以先存储起来,等所有业务数据都接收完成后再处理。而由于业务系统生成的数据量通常规模较大,后台处理系统在临时存储时可以使用高性能分布式的缓存系统(例如tair)来存储,待业务结束后完成对所有数据的接收时,再从缓存系统获取所有业务数据进行处理。相关技术中,可以按照如下方式在后台处理系统与缓存系统之间进行数据的存储和读取:对于同一业务来说,生成的所有数据可以具有相同的key,比如数据中可以包括一个路径ID,用于唯一标识一个业务的处理路径。后台处理系统可以在缓存系统中以该key与一个List对象对应存储,该List对象包括所有的该业务的数据。每一次接收到一条新数据时,后台处理系统需要根据key由缓存系统中取出List对象,将新数据合并入该List对象后,再将该List对象存储回缓存系统。这种方式,由于业务数据越来越多,List对象越来越大,导致网络传输速度变慢,数据存取速度降低,对后台处理系统的内存占用也较大;并且,当缓存系统在数据存取中出现版本冲突时,需要重新执行一次数据的存取,而进一步降低了数据存取速度。
技术实现思路
有鉴于此,本申请提供一种数据存储方法和装置,以提高数据存取速度。具体地,本申请是通过如下技术方案实现的:第一方面,提供一种数据存储方法,所述方法用于将待存储的目标数据存储至存储系统,所述存储系统用于存储包括多个目标数据的数据集,所述多个目标数据具有相同的用于表示从属所述数据集的数据主键;该方法包括:根据待存储的目标数据包含的数据主键,由存储系统中获取对应所述数据主键的存储标识数值,按照预设的标识更新规则,更新所述存储标识数值;将更新后的所述存储标识数值与数据主键对应存储至所述存储系统;当所述存储标识数值与数据主键存储成功时,根据更新后的存储标识数值以及预设的索引生成规则,计算对应本次数据存储的数据索引,并将所述数据索引与待存储的目标数据,对应存储至所述存储系统。第二方面,提供一种数据存储装置,所述装置用于将待存储的目标数据存储至存储系统,所述存储系统用于存储包括多个目标数据的数据集,所述多个目标数据具有相同的用于表示从属所述数据集的数据主键;该装置包括:标识更新模块,用于根据待存储的所述目标数据包含的数据主键,由存储系统中获取对应所述数据主键的存储标识数值;按照预设的标识更新规则,更新所述存储标识数值;标识存储模块,用于将更新后的所述存储标识数值与数据主键对应存储至所述存储系统;数据存储模块,用于当所述存储标识数值与数据主键存储成功时,根据更新后的存储标识数值以及预设的索引生成规则,计算对应本次数据存储的数据索引,并将所述数据索引与待存储的目标数据,对应存储至所述存储系统。本申请提供的数据存储方法和装置,通过根据待存储的目标数据包含的数据主键,由存储系统中获取对应所述数据主键的存储标识数值,按照预设的标识更新规则,更新所述存储标识数值,将更新后的所述存储标识数值与数据主键对应存储至所述存储系统,根据更新后的存储标识数值以及预设的索引生成规则,计算对应本次数据存储的数据索引,并将所述数据索引与待存储的目标数据,对应存储至所述存储系统,使得后台处理系统与缓存系统之间传输的数据量大幅减少,显著提高了数据存取速度。附图说明图1是本申请一示例性实施例示出的一种数据存储和读取的场景;图2是本申请一示例性实施例示出的一种缓存系统中的数据存储结构;图3是本申请一示例性实施例示出的一种数据存储方法的流程示意图;图4是本申请一示例性实施例示出的一种数据存储方法的流程示意图;图5是本申请一示例性实施例示出的一种数据存储装置的结构示意图;图6是本申请一示例性实施例示出的另一种数据存储装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。图1示例了一种涉及到数据的存储和读取的场景,如图1所示,业务系统11在业务执行过程中,将产生多个业务数据,这些业务数据都将发送至后台处理系统12。当业务执行结束时,后台处理系统12可以接收到该业务过程中生成的所有业务数据,再根据这些数据进行一定的处理,可以称为“将这些数据进行合并处理”,即该处理需要所有这些数据的参与。后台处理系统12可以是一个集群部署方式,其中可以包括多个子系统,例如Core1、Core2和Core3,上述业务系统11发送的业务数据可以随机到达其中一个子系统,并由该子系统负责对所接收到的数据进行存储;当业务执行结束时,再由某个子系统获取所有接收到的数据进行合并处理。请继续参见图1,由于后台处理系统12本身的内存容量有限,可以使用一个存储系统来存储上述接收到的业务数据,比如,该存储系统可以是高性能分布式的缓存系统(例如,tair、leveldb等)。如图1所示,Core1、Core2和Core3可以均将接收到的业务数据存储至缓存系统13,待最后业务执行结束时再从该缓存系统13读取到所有的数据,在后台处理系统12进行处理。为了提高后台处理系统12与缓存系统13之间,在数据的存储或读取时的网络传输速度,本申请实施例提供了一种数据存储方法,该方法在向缓存系统13存储数据时,就采用了一种与传统方式不同的存储方法,如下先对该存储方法进行说明,再描述存储之后如何基于该存储结构读取数据的方式。结合图2所示,在缓存系统13中,设计如下存储结构:例如,假设该缓存系统13中已经存储了一个数据集的数据,该数据集可以是某一个业务执行过程中产生的业务数据,可以包括业务数据21、业务数据22、业务数据23和业务数据24,这些业务数据中可以包括相同的用于表示从属该数据集的数据主键,比如是sofa系统中的tracerID,以标识一个业务的处理路径,这个业务的执行路径上产生的数据都携带该tracerID,就可以识别这些数据都是同一个业务产生的,以方便后续合并处理。上述例子中的各个业务数据,可以是后台处理系统12的各个子系统分别接收到并存储至该缓存系统13,比如,业务数据21是业务系统11发送给后台处理系统12中的Core1,由Core1存储至缓存系统13,业务数据22、业务数据23都是由Core2接收存储。对于上述的数据集中数据的存储,可以是以key-value形式存储,即给定一个key,就可以查找对应的value,该value即为所存储的业务数据,而对应业务数据的key,本实施例可以称为数据索引。请继续参见图2,缓存系统13在存储数据时,包括两种类型的对应关系的存储,一种对应是“数据主键与存储标识数值的对应”,如图2所示,该数据主键是这个数据集中的各个数据中包括的一个相同的信息,可以是上述例子中提本文档来自技高网...
一种数据存储方法和装置

【技术保护点】
一种数据存储方法,其特征在于,所述方法用于将待存储的目标数据存储至存储系统,所述存储系统用于存储包括多个目标数据的数据集,所述多个目标数据具有相同的用于表示从属所述数据集的数据主键;该方法包括:根据待存储的目标数据包含的数据主键,由存储系统中获取对应所述数据主键的存储标识数值,按照预设的标识更新规则,更新所述存储标识数值;将更新后的所述存储标识数值与数据主键对应存储至所述存储系统;当所述存储标识数值与数据主键存储成功时,根据更新后的所述存储标识数值以及预设的索引生成规则,计算对应本次数据存储的数据索引,并将所述数据索引与待存储的目标数据,对应存储至所述存储系统。

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法用于将待存储的目标数据存储至存储系统,所述存储系统用于存储包括多个目标数据的数据集,所述多个目标数据具有相同的用于表示从属所述数据集的数据主键;该方法包括:根据待存储的目标数据包含的数据主键,由存储系统中获取对应所述数据主键的存储标识数值,按照预设的标识更新规则,更新所述存储标识数值;将更新后的所述存储标识数值与数据主键对应存储至所述存储系统;当所述存储标识数值与数据主键存储成功时,根据更新后的所述存储标识数值以及预设的索引生成规则,计算对应本次数据存储的数据索引,并将所述数据索引与待存储的目标数据,对应存储至所述存储系统。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当要读取所述数据集中包括的各个目标数据时,根据所述数据主键,由存储系统中获取对应所述数据主键的存储标识数值;根据所述存储标识数值、标识更新规则和索引生成规则,计算得到所述数据集中的各个目标数据分别对应的数据索引;根据所述各目标数据分别对应的数据索引,由存储系统中获取对应所述数据索引的各个目标数据。3.根据权利要求1所述的方法,其特征在于,所述存储标识数值是一个计数器的计数值;所述标识更新规则,包括:每次存储一个新的目标数据时,将所述计数器的计数值累积加一。4.根据权利要求3所述的方法,其特征在于,所述索引生成规则,包括:将所述数据主键和计数器的计数值组合,得到所述数据索引。5.根据权利要求1所述的方法,其特征在于,所述存储系统为分布式缓存系统。6.一种数据存储装置,其特征在于,所述装置用于将待存储...

【专利技术属性】
技术研发人员:周鹏举常二鹏
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1