CN110727647B - 运价数据存储方法及装置 - Google Patents
运价数据存储方法及装置 Download PDFInfo
- Publication number
- CN110727647B CN110727647B CN201910999138.XA CN201910999138A CN110727647B CN 110727647 B CN110727647 B CN 110727647B CN 201910999138 A CN201910999138 A CN 201910999138A CN 110727647 B CN110727647 B CN 110727647B
- Authority
- CN
- China
- Prior art keywords
- data
- freight rate
- rate data
- freight
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种运价数据存储方法及装置,包括:从运价数据集合中确定当前数据集合和历史数据集合,分别确定当前数据集合和历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,依据每个运价数据的存储地址,将运价数据映射至服务器中与内存对应的内存块,为每个内存块构建与其对应的文件,将所述内存块中的运价数据写入至文件中,依据每个文件的存储路径,将每个文件发送至与文件对应的计算节点,使计算节点将文件中的运价数据进行存储,其中,运价数据在计算节点中的存储位置与在服务器中的存储位置相同。应用本发明提供的运价数据存储方法,能够实现将运价数据存储至计算节点相应的内存中,从而提高服务器的性能。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种运价数据存储方法及装置。
背景技术
在运价计算业务中需要用到大量的运价数据,这些数据主要是通过第三方厂商获得,数据格式主要为文本格式,数据类型多样,且各种类型的数据之间相互依赖且关系复杂,由于运价计算的复杂性和高性能要求,所以需要对运价数据的预处理,并将预处理的后的数据进行存储。
现有技术中,主要通过第三方服务器进行存储,在进行运价计算时,计算节点读写数据需要通过网络在服务器和计算节点之间进行通信,导致网络开销较大,从而较低服务器的性能。
发明内容
本发明所要解决的技术问题是提供一种运价数据存储方法,能够实现将运价数据存储至计算节点相应的内存中,从而提高服务器的性能。
本发明还提供了一种运价数据存储装置,用于保证上述方法在实际中的实现及应用。
一种运价数据存储方法,应用于服务器,所述方法包括:
获取运价数据集合;所述运价数据集合中包含多个运价数据;
从所述运价数据集合中确定当前数据集合和历史数据集合;其中,所述当前数据集合中的每个运价数据的生效截止时间满足预设的第一时间,所述历史数据集合中的每个运价数据的生效截止时间不满足所述第一时间;
分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存;
依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块;
为每个所述内存块构建与其对应的文件,并将该内存块中的运价数据写入至所述文件中;
针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储,其中,所述运价数据在所述计算节点中的存储位置与在所述服务器中的存储位置相同。
上述的方法,可选的,所述从所述运价数据集合中确定当前数据集合和历史数据集合,包括:
为所述运价数据集合中的每个运价数据设置数据标志;其中,当运价数据的生效截止时间满足预设的第一时间时,为所述运价数据设置第一标志,当运价数据的生效截止时间不满足所述第一时间时,为所述运价数据设置第二标志;
将数据标志为第一标志的各个运价数据组成当前数据集合;
将数据标志为第二标志的各个运价数据组成历史数据集合。
上述的方法,可选的,所述分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,包括:
确定与所述当前数据集合对应的多个初始存储地址,并确定与所述历史数据集合对应的多个初始存储地址;
计算获得所述当前数据集合和所述历史数据集合中每个运价数据的数据量;
针对所述当前数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述当前数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址;
针对所述历史数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述历史数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址。
上述的方法,可选的,所述依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块,包括:
针对每个所述运价数据,依据所述运价数据对应的存储地址,在所述服务器的内存块中划分与所述内存相等的存储区域,并将所述运价数据映射至所述存储区域中。
上述的方法,可选的,所述计算节点包括当前运价计算节点和历史运价计算节点,所述针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点之后,还包括:
接收所述当前运价计算节点发送的过期数据,并将所述过期数据发送至所述历史运价计算节点进行存储;其中,过期数据为所述当前运价计算节点中运价数据的生效截止时间不满足所述第一时间。
一种运价数据存储装置,应用于服务器,所述装置包括:
获取单元,用于获取运价数据集合;所述运价数据集合中包含多个运价数据;
第一确定单元,用于从所述运价数据集合中确定当前数据集合和历史数据集合;其中,所述当前数据集合中的每个运价数据的生效截止时间满足预设的第一时间,所述历史数据集合中的每个运价数据的生效截止时间不满足所述第一时间;
第二确定单元,用于分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存;
第一存储单元,用于依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块;
构建单元,用于为每个所述内存块构建一个与其对应的文件,并将该内存块中的运价数据写入至所述文件中;
第二存储单元,用于针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储,其中,所述运价数据在所述计算节点中的存储位置与在所述服务器中的存储位置相同。
上述的装置,可选的,所述第一确定单元,包括:
设置子单元,用于为所述运价数据集合中的每个运价数据设置数据标志;其中,当运价数据的生效截止时间满足预设的第一时间时,为所述运价数据设置第一标志,当运价数据的生效截止时间不满足所述第一时间时,为所述运价数据设置第二标志;
第一组成单元,用于将数据标志为第一标志的各个运价数据组成当前数据集合;
第二组成单元,用于将数据标志为第二标志的各个运价数据组成历史数据集合。
上述的装置,可选的,所述第二确定单元包括:
第一确定子单元,用于确定与所述当前数据集合对应的多个初始存储地址,并确定与所述历史数据集合对应的多个初始存储地址;
计算子单元,用于计算获得所述当前数据集合和所述历史数据集合中每个运价数据的数据量;
第二确定子单元,用于针对所述当前数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述当前数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址;
第三确定子单元,用于针对所述历史数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述历史数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址。
上述的装置,可选的,所述第一存储单元,包括:
划分单元,用于针对每个所述运价数据,依据所述运价数据对应的存储地址,在所述服务器的内存块中划分与所述内存相等的存储区域,并将所述运价数据映射至所述存储区域中。
上述的装置,可选的,所述第二存储单元,包括:
接收子单元,用于接收所述当前运价计算节点发送的过期数据,并将所述过期数据发送至所述历史运价计算节点进行存储;其中,过期数据为所述当前运价计算节点中运价数据的生效截止时间不满足所述第一时间。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的运价数据存储方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的运价数据存储方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种运价数据存储方法,包括:从运价数据集合中确定当前数据集合和历史数据集合,分别确定当前数据集合和历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,依据每个运价数据的存储地址,将运价数据存储至服务器中与内存对应的内存块,为每个内存块构建与其对应的文件,将所述内存块中的运价数据写入至文件中,依据每个文件的存储路径,将每个文件发送至与文件对应的计算节点,使计算节点将文件中的运价数据进行存储,其中,运价数据在计算节点中的存储位置与在服务器中的存储位置相同。应用本发明提供的运价数据存储方法,通过将运价数据存储至计算节点相应的内存中,使得计算节点无需通过网络,即可完成数据的读写,从而提高服务器的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种运价数据存储方法的方法流程图;
图2为本发明提供的一种运价数据存储方法的又一方法流程图;
图3为本发明提供的一种运价数据存储方法的又一方法流程图;
图4为本发明提供的一种运价数据存储装置的结构示意图;
图5为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种运价数据存储方法,该方法可以应用在多种系统平台,其执行主体可以为运行在计算机上的服务器,所述运价数据存储方法的流程图如图1所示,具体包括:
S101:获取运价数据集合。
本发明实施例提供的方法中,获取运价数据集,该运价数据集中包含多个运价数据,其中,运价数据为通过第三方厂商所获取,不同运价数据,其对应的数据类型不同。
S102:从所述运价数据集合中确定当前数据集合和历史数据集合。
本发明实施例提供的方法中,依据每个运价数据的生效截止时间,从运价数据集合中确定当前数据集合和历史数据集合,其中,当前数据集合中的每个运价数据的生效截止时间满足预设的第一时间,历史数据集合中的每个运价数据的生效截止时间不满足预设的第一时间,可选的,第一时间为系统的当前时间。
需要说明的是,第一时间为人为设定的一个时间,可以依据需求进行修改。
可选的,可以对当前数据集合和历史数据集合中的每个运价数据进行数据去重,删除重复的运价数据。
S103:分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存。
本发明实施例提供的方法中,计算当前数据集合和历史数据集合中每个运价数据所需的内存大小,并确定存储每个运价数据的存储区域,可选的,依据运价数据的数据量,确定存储该运价数据的内存大小,例如,运价数据的数据量为1kb,则所确定的存储该运价数据的内存大小为能容量1kb数据量的内存。
S104:依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块。
本发明实施例提供的方法中,依据每个运价数据的存储地址,将每个运价数据映射至服务器中与内存对应的内存块中,即,将运价数据存储至与其对应的内存块中,可选的,一个内存块为一个小的基于内存映射的数据库MemoryMap DB,需要说明的是,一个内存块可以存储一个运价数据,也可以是存储多个关联紧密的运价数据,其中,各个运价数据之间的关联关系可通过运价数据之间的业务关联性所确定。
S105:为每个所述内存块构建与其对应的文件,并将该内存块中的运价数据写入至所述文件中。
本发明实施例提供的方法中,为每个内存块构建与其对应的文件,将内存块中的运价数据写入至文件中,可选的,一个内存块可以对应一个文件,一个内存块也可以对应多个文件,内存块与文件之间的对应的关系,依据内存块中所存储的运价数据和其他数据相关联。其中,文件的存储路径与内存块的存储路径相同,可选的,还可以通过文件的文件名确定与该文件对应的内存块的存储路径。
S106:针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储。
本发明实施例提供的方法中,通过负载均衡节点,将每个文件发送至与该文件对应的计算节点,可选的,计算节点包括当前运价计算节点和历史运价计算节点,预先构建文件存储路径和计算节点之间的关系,也就是说,通过文件的存储路径,可获知该文件对应的计算节点,计算节点在接收到文件后,解析该文件,获得该文件中运价数据对应的所需内存和存储地址,依据所述存储地址和所需内存,将文件中的运价数据映射至计算节点自身的内存中,即相同运价数据在服务器中的存储位置和在计算节点中的存储位置是一样的,即存储至相同的内存块中,例如,运价数据在服务器中所存储的位置为内存块1中地址空间为0-99的区域,则该运价数据在计算节点中所存储的位置也为内存块1中地址空间为0-99的区域,需要说明的是,服务器中的内存块1和计算节点中的内存块1所在的主目录可以不一致。
需要说明的是,本发明实施例提供的方法中,通过内存映射机制,将文件中的运价数据映射到计算节点的内存中。
本发明实施例提供的运价数据存储方法,从运价数据集合中确定当前数据集合和历史数据集合,分别确定当前数据集合和历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,依据每个运价数据的存储地址和所需内存,将该运价数据映射至服务器中相应的内存块中,为每个内存块构建与其对应的文件,将每个内存块中的运价数据写入至与其对应的文件中,将每个文件下发至与其对应的计算节点,使计算节点将文件中的运价数据进行存储。应用本发明实施例提供的运价数据存储方法,通过将运价数据存储至计算节点相应的内存中,使得计算节点无需通过网络,即可完成数据的读写,从而提高服务器的性能,同时,实现为不同运价数据分配与其相对应的内存,从而提高内存的利用率。
上述本发明实施例图1公开的步骤S102涉及到的从所述运价数据集合中确定当前数据集合和历史数据集合,流程图如图2所示,包括以下步骤:
S201:为所述运价数据集合中的每个运价数据设置数据标志。
本发明实施例提供的方法中,获取运价数据集合中每个运价数据的生效截止时间,针对运价数据集合中的每个运价数据,依据该运价数据的生效截止时间,为该运价数据设置数据标志,可选的,当生效截止时间满足预设的第一时间,为该运价数据设置第一标志,可选的,第一标志用于指示该运价数据为当前运价数据,当前运价数据指代用于当前时间普通票价计算业务的数据,当生成截止时间不满足预设的第一时间时,为该运价数据设置第二标志,第二标志用于指示该运价数据为历史运价数据,历史运价数据指代用于退改签业务的数据。
S202:将数据标志为第一标志的各个运价数据组成当前数据集合。
本发明实施例提供的方法中,依据每个数运价数据的数据标志,对每个运价数据进行划分,当数据标志为第一标志时,则说明该运价数据为当前运价数据,并将该运价数据归入预先构建的当前数据集合中。
S203:将数据标志为第二标志的各个运价数据组成历史数据集合。
本发明实施例提供的方法中,依据每个数运价数据的数据标志,对每个运价数据进行划分,当数据标志为第二标志时,则说明该运价数据为历史运价数据,并将该运价数据归入预先构建的历史数据集合中。
本发明实施例提供的运价数据存储方法中,将各个运价数据进行数据划分,以实现将运价数据集合划分为当前数据集合和历史数据集合。
上述本发明实施例图1公开的步骤S103涉及到的分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,流程图如图3所示,包括以下步骤:
S301:确定与所述当前数据集合对应的多个初始存储地址,并确定与所述历史数据集合对应的多个初始存储地址。
本发明实施例提供的方法中,当前数据集合中的每个运价数据的数据标志为第一标志,历史数据集合中的每个运价数据的数据标志为第二标志,运价数据的数据标志不同,存储地址是不同的,也就是说,当前数据集合对应一套内存块,历史数据集合对应另外一套内存块,每一套内存块包含多个内存块,依据运价数据的数据标志,可确定当前数集合对应的多个内存块,以及历史数集合对应的多个内存块,即确定当前数集合对应的多个初始存储地址,和历史数集合对应的多个初始存储地址。
S302:计算获得所述当前数据集合和所述历史数据集合中每个运价数据的数据量。
本发明实施例提供的方法中,计算每个运价数据的数据量,可选的,数据量可以以kb为单位来表示数据的大小,例如数据量为1kb,200kb等。
S303:针对当前数据集合中的每个运价数据,依据运价数据的数据量,确定存储运价数据所需的内存,并依据运价数据的数据类型,从与当前数据集合对应的多个初始存储地址中确定与数据类型对应的存储地址。
本发明实施例提供的方法中,针对当前数据集合中的每个运价数据,依据运价数据的数据量,确定存储该运价数据所需的内存,即确定存储该运价数据所需空间大小。依据每个运价数据的数据类型,从与当前数据集合对应的多个初始存储地址中确定与数据类型对应的存储地址,也就是说,不同数据类型的运价数据所对应的内存块可以是不同的,可选的,同一个内存块中可以存储数据类型相同的运价数据,也可以存储多个数据类型的运价数据,当存储多个数据类型的运价数据时,各个运价数据的存在业务关联。
对上述提及的针对每个运价数据依据运价数据的数据类型,从与当前数据集合对应的多个初始存储地址中确定与数据类型对应的存储地址进行举例说明如下:
例如,当前数据集合中存在运价数据A,运价数据A的数据类型为a类,当前数据集合对应的初始存储地址为内存块1、内存块2、和内存块3各自对应的存储地址,其中,预先设定内存块1所存储的运价数据的数据类型为a类,内存块2所存储的运价数据的数据类型为b类和c类,内存块3所存储的运价数据的数据类型为d类,从而可确定运价数据A的存储地址为内存块1。
S304:针对历史数据集合中的每个运价数据,依据运价数据的数据量,确定存储运价数据所需的内存,并依据运价数据的数据类型,从与历史数据集合对应的多个初始存储地址中确定与数据类型对应的存储地址。
本发明实施例提供的方法中,针对历史数据集合中的每个运价数据,依据运价数据的数据量,确定存储该运价数据所需的内存,即确定存储该运价数据所需空间大小。依据运价数据的数据类型,从与历史数据集合对应的多个初始存储地址中确定与数据类型对应的存储地址的过程同,确定当前数据集合中的各个运价数据的存储地址的过程相类似,此处不再赘述。
需要说明的是,运价数据的数据类型为预先设定的,即从第三方厂商获取到的运价数据其自身就携带有对应的数据类型。
需要说明的是,还可以构建相同数据标记的不同数据类型之间的时间索引和业务逻辑索引,构建时间索引和业务逻辑索引的具体过程如下:
针对相同数据标签的各个运价数据,获取每个运价数据的生效时间,依据生效时间,构建各个运价数据的时间索引。
针对相同数据标签的各个运价数据,依据数据类型,将相同数据类型的运价数据进行归类,确定数据类型之间的业务逻辑关系,依据数据类型之间的业务逻辑关系,构建不同数据类型的业务逻辑索引。
可选的,本发明实施例提供的方法中,依据相同数据标签的不同数据类型的业务逻辑索引,通过地址指针构建各个内存块之间的数据引用关系。当一个内存块中的数据发生变更时,只需重新连接引用的数据即可,也就是将更新数据引用到的地方的指针值进行更新即可,节省了重新构造所有依赖关系的数据库。
本发明实施例提供的运价数据存储方法中,依据运价数据的数据标志,确定当前数据集合以及历史数据集合各自对应的多个初始存储地址,并依据每个运价数据的数据类型,从与其对应的多个初始存储地址中确定最终的存储地址,以及依据每个运价数据的数据量大小,确定存储该运价数据所需的内存,实现针对不同的运价数据,根据其所需要内存大小,为其分配相应的内存,从而提高内存的利用率。
上述本发明实施例图1公开的步骤S104涉及到的依据每个所述运价数据的存储地址,将每个所述运价数据存储至所述服务器中与所述内存对应的内存块,包括以下步骤:
针对每个所述运价数据,依据所述运价数据对应的存储地址,在所述服务器的内存块中划分与所述内存相等的存储区域,并将所述运价数据映射至所述存储区域中。
本发明实施例提供的方法中,针对每个运价数据,依据该运价数据对应的存储地址,在服务器的内存块中划分与内存相等的存储区域,并将运价数据存储至所划分的内存中,即若运价数据的数据量为1kb,所确定的运价数据对应的内存块为内存块1,则在内存块1中开辟一块存储区,所开辟的存储区域刚好能容纳1kb的运价数据,并将1kb数据存储至内存块1中所开辟的存储区域,可选的,可以通过内存映射的方式将运价数据映射至相应的内存块中进行存储。
可选的,本发明实施例提供方法可以采用内存映射数据库系统Memory Map DB存储各个运价数据,相比于关系型数据库和通用型内存数据库,MemoryMap DB减少了网络访问、进程间通信和数据反序列化等耗时过程,从而提高后续运价数据的效率。
需要说明的是,基于MemoryMap DB存储技术,所有的运价数据会映射到进程的地址空间中,即内存块中,且同一运价数据在不同的进程中始终存储在相同的地址中,即相同运价数据在服务器中的存储地址和在各个计算节点中的存储地址是一样的。
上述本发明实施例图1公开的步骤S106涉及到的计算节点包括当前运价计算节点和历史运价计算节点,则步骤S106涉及到的针对每个所述文件,依据每个所述运价数据的存储地址,将每个所述运价数据存储至所述服务器中与所述内存对应的内存块,包括以下步骤:
接收所述当前运价计算节点发送的过期数据,并将所述过期数据发送至所述历史运价计算节点进行存储。
本发明实施例提供的方法中,若当前运价计算节点中存在过期数据,即运价数据的生效截止时间不满足第一时间的数据,将过期的数据发送至服务器的负载均衡节点,负载均衡节点将该数据下发至历史运价计算节点。
可选的,若历史运价计算节点中存在无效数据,则将无效数据进行删除,其中,无效数据为数据的生效时间加上一个固定时间段的时间后大于预设的无效时间,可选的,历史运价计算节点基于窗口期的改变对数据做有效性验证,将无效的数据从内存中删除,可选的,窗口期为2年,即历史运价系统通常保留2年内的数据,应用本发明实施例提供的运价数据存储方法,及时将无效的运价数据进行删除,能够节省内存空间。
本发明实施例提供的方法中,当接收到当前运价计算请求时,当前运价计算节点抽取内存空间中符合业务逻辑的未过期运价数据进行运价计算,当接收到历史运价计算请求时,历史运价计算节点依据请求中的时间信息,并依据时间索引,快速回溯到正确的历史运价数据,从而提高运价计算效率。
与图1所述的方法相对应,本发明实施例还提供了一种运价数据存储装置,用于对图1中方法的具体实现,其结构示意图如图4所示,具体包括:
获取单元401,用于获取运价数据集合;所述运价数据集合中包含多个运价数据;
第一确定单元402,用于从所述运价数据集合中确定当前数据集合和历史数据集合;其中,所述当前数据集合中的每个运价数据的生效截止时间满足预设的第一时间,所述历史数据集合中的每个运价数据的生效截止时间不满足所述第一时间;
第二确定单元403,用于分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存;
第一存储单元404,用于依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块;
构建单元405,用于为每个所述内存块构建与其对应的文件,并将该内存块中的运价数据写入至所述文件中;
第二存储单元406,用于针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储,其中,所述运价数据在所述计算节点中的存储位置与在所述服务器中的存储位置相同。
本发明实施例提供的运价数据存储装置,从运价数据集合中确定当前数据集合和历史数据集合,分别确定当前数据集合和历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,依据每个运价数据的存储地址和所需内存,将该运价数据映射至服务器中相应的内存块中,为每个内存块构建与其对应的文件,将每个内存块中的运价数据写入至与其对应的文件中,将每个文件下发至与其对应的计算节点,使计算节点将文件中的运价数据进行存储。应用本发明实施例提供的运价数据存储装置,通过将运价数据存储至计算节点相应的内存中,使得计算节点无需通过网络,即可完成数据的读写,从而提高服务器的性能,同时,实现为不同运价数据分配与其相对应的内存,从而提高内存的利用率。
在本发明的一个实施例中,基于前述方案,第一确定单元402配置为:
设置子单元,用于为所述运价数据集合中的每个运价数据设置数据标志;其中,当运价数据的生效截止时间满足预设的第一时间时,为所述运价数据设置第一标志,当运价数据的生效截止时间不满足所述第一时间时,为所述运价数据设置第二标志;
第一组成单元,用于将数据标志为第一标志的各个运价数据组成当前数据集合;
第二组成单元,用于将数据标志为第二标志的各个运价数据组成历史数据集合。
在本发明的一个实施例中,基于前述方案,第二确定单元403配置为:
第一确定子单元,用于确定与所述当前数据集合对应的多个初始存储地址,并确定与所述历史数据集合对应的多个初始存储地址;
计算子单元,用于计算获得所述当前数据集合和所述历史数据集合中每个运价数据的数据量;
第二确定子单元,用于针对所述当前数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述当前数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址;
第三确定子单元,用于针对所述历史数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述历史数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址。
在本发明的一个实施例中,基于前述方案,第一存储单元404配置为:
划分单元,用于针对每个所述运价数据,依据所述运价数据对应的存储地址,在所述服务器的内存块中划分与所述内存相等的存储区域,并将所述运价数据映射至所述存储区域中。
在本发明的一个实施例中,基于前述方案,第二存储单元406配置为:
接收子单元,用于接收所述当前运价计算节点发送的过期数据,并将所述过期数据发送至所述历史运价计算节点进行存储;其中,过期数据为所述当前运价计算节点中运价数据的生效截止时间不满足所述第一时间。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述运价数据存储方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
获取运价数据集合;所述运价数据集合中包含多个运价数据;
从所述运价数据集合中确定当前数据集合和历史数据集合;其中,所述当前数据集合中的每个运价数据的生效截止时间满足预设的第一时间,所述历史数据集合中的每个运价数据的生效截止时间不满足所述第一时间;
分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存;
依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块;
为每个所述内存块构建与其对应的文件,并将该内存块中的运价数据写入至所述文件中;
针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储,其中,所述运价数据在所述计算节点中的存储位置与在所述服务器中的存储位置相同。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种运价数据存储方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种运价数据存储方法,其特征在于,应用于服务器,所述方法包括:
获取运价数据集合;所述运价数据集合中包含多个运价数据;
从所述运价数据集合中确定当前数据集合和历史数据集合;其中,所述当前数据集合中的每个运价数据的有效时间满足预设的第一时间,所述历史数据集合中的每个运价数据的有效时间不满足所述第一时间;
分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存;
依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块;
为每个所述内存块构建与其对应的文件,并将该内存块中的运价数据写入至所述文件中;
针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储,其中,所述运价数据在所述计算节点中的存储位置与在所述服务器中的存储位置相同;
其中,所述分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存,包括:
确定与所述当前数据集合对应的多个初始存储地址,并确定与所述历史数据集合对应的多个初始存储地址;
计算获得所述当前数据集合和所述历史数据集合中每个运价数据的数据量;
针对所述当前数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述当前数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址;
针对所述历史数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述历史数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址。
2.根据权利要求1所述的方法,其特征在于,所述从所述运价数据集合中确定当前数据集合和历史数据集合,包括:
为所述运价数据集合中的每个运价数据设置数据标志;其中,当运价数据的有效时间满足预设的第一时间时,为所述运价数据设置第一标志,当运价数据的有效时间不满足所述第一时间时,为所述运价数据设置第二标志;
将数据标志为第一标志的各个运价数据组成当前数据集合;
将数据标志为第二标志的各个运价数据组成历史数据集合。
3.根据权利要求1所述的方法,其特征在于,所述依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块,包括:
针对每个所述运价数据,依据所述运价数据对应的存储地址,在所述服务器的内存块中划分与所述内存相等的存储区域,并将所述运价数据映射至所述存储区域中。
4.根据权利要求1所述的方法,其特征在于,所述计算节点包括当前运价计算节点和历史运价计算节点,所述针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点之后,还包括:
接收所述当前运价计算节点发送的过期数据,并将所述过期数据发送至所述历史运价计算节点进行存储;其中,过期数据为所述当前运价计算节点中运价数据的有效时间不满足所述第一时间。
5.一种运价数据存储装置,其特征在于,应用于服务器,所述装置包括:
获取单元,用于获取运价数据集合;所述运价数据集合中包含多个运价数据;
第一确定单元,用于从所述运价数据集合中确定当前数据集合和历史数据集合;其中,所述当前数据集合中的每个运价数据的有效时间满足预设的第一时间,所述历史数据集合中的每个运价数据的有效时间不满足所述第一时间;
第二确定单元,用于分别确定所述当前数据集合和所述历史数据集合中每个运价数据的存储地址和存储该运价数据所需的内存;
第一存储单元,用于依据每个所述运价数据的存储地址,将每个所述运价数据映射至所述服务器中与所述内存对应的内存块;
构建单元,用于为每个所述内存块构建与其对应的文件,并将该内存块中的运价数据写入至所述文件中;
第二存储单元,用于针对每个所述文件,依据所述文件的存储路径,将所述文件发送至与所述文件对应的计算节点,使所述计算节点将所述文件中的运价数据进行存储,其中,所述运价数据在所述计算节点中的存储位置与在所述服务器中的存储位置相同;
所述第二确定单元,包括:
第一确定子单元,用于确定与所述当前数据集合对应的多个初始存储地址,并确定与所述历史数据集合对应的多个初始存储地址;
计算子单元,用于计算获得所述当前数据集合和所述历史数据集合中每个运价数据的数据量;
第二确定子单元,用于针对所述当前数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述当前数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址;
第三确定子单元,用于针对所述历史数据集合中的每个运价数据,依据所述运价数据的数据量,确定存储所述运价数据所需的内存,并依据所述运价数据的数据类型,从所述与所述历史数据集合对应的多个初始存储地址中确定与所述数据类型对应的存储地址。
6.根据权利要求5所述的装置,其特征在于,所述第一确定单元,包括:
设置子单元,用于为所述运价数据集合中的每个运价数据设置数据标志;其中,当运价数据的有效时间满足预设的第一时间时,为所述运价数据设置第一标志,当运价数据的有效时间不满足所述第一时间时,为所述运价数据设置第二标志;
第一组成单元,用于将数据标志为第一标志的各个运价数据组成当前数据集合;
第二组成单元,用于将数据标志为第二标志的各个运价数据组成历史数据集合。
7.根据权利要求5所述的装置,其特征在于,所述第一存储单元,包括:
划分单元,用于针对每个所述运价数据,依据所述运价数据对应的存储地址,在所述服务器的内存块中划分与所述内存相等的存储区域,并将所述运价数据映射至所述存储区域中。
8.根据权利要求5所述的装置,其特征在于,所述计算节点包括当前运价计算节点和历史运价计算节点,所述第二存储单元,包括:
接收子单元,用于接收所述当前运价计算节点发送的过期数据,并将所述过期数据发送至所述历史运价计算节点进行存储;其中,过期数据为所述当前运价计算节点中运价数据的有效时间不满足所述第一时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999138.XA CN110727647B (zh) | 2019-10-21 | 2019-10-21 | 运价数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910999138.XA CN110727647B (zh) | 2019-10-21 | 2019-10-21 | 运价数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727647A CN110727647A (zh) | 2020-01-24 |
CN110727647B true CN110727647B (zh) | 2022-07-05 |
Family
ID=69220425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910999138.XA Active CN110727647B (zh) | 2019-10-21 | 2019-10-21 | 运价数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727647B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007019197A2 (en) * | 2005-08-03 | 2007-02-15 | Sandisk Corporation | Management of memory blocks that directly store data files |
CN101729342A (zh) * | 2009-11-30 | 2010-06-09 | 江西省电力公司 | 混合移动式电力系统实时内存计算数据结构实现方法 |
CN105741070A (zh) * | 2016-04-18 | 2016-07-06 | 深圳马可孛罗科技有限公司 | 一种海量实时舱位运价结果数据快速差异更新存储的方法 |
CN107451872A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 航班运价的管理方法及装置 |
CN110198331A (zh) * | 2018-03-28 | 2019-09-03 | 腾讯科技(上海)有限公司 | 一种同步数据的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014101185A1 (de) * | 2014-01-31 | 2015-08-06 | Hyperstone Gmbh | Verfahren zur Verwaltung von Flash-Speichern mit gemischten Speichertypen unter Verwendung einer fein-granulierten Zuordnung logischer auf physikalische Speicheradressen |
-
2019
- 2019-10-21 CN CN201910999138.XA patent/CN110727647B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007019197A2 (en) * | 2005-08-03 | 2007-02-15 | Sandisk Corporation | Management of memory blocks that directly store data files |
CN101729342A (zh) * | 2009-11-30 | 2010-06-09 | 江西省电力公司 | 混合移动式电力系统实时内存计算数据结构实现方法 |
CN105741070A (zh) * | 2016-04-18 | 2016-07-06 | 深圳马可孛罗科技有限公司 | 一种海量实时舱位运价结果数据快速差异更新存储的方法 |
CN107451872A (zh) * | 2017-08-10 | 2017-12-08 | 中国民航信息网络股份有限公司 | 航班运价的管理方法及装置 |
CN110198331A (zh) * | 2018-03-28 | 2019-09-03 | 腾讯科技(上海)有限公司 | 一种同步数据的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110727647A (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11915332B2 (en) | System and process for tokenization and management of liability | |
CN105830022B (zh) | 访问文件的方法和装置 | |
CN109325729A (zh) | 一种生成电子合同的方法及服务器 | |
CN110750654A (zh) | 知识图谱获取方法、装置、设备和介质 | |
CN108737325A (zh) | 一种多租户数据隔离方法、装置及系统 | |
CN109213598A (zh) | 一种资源分配方法、装置及计算机可读存储介质 | |
CN103747072A (zh) | 一种读写数据的方法和应用服务器 | |
CN109447820B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110263145A (zh) | 一种电子合同签署方法及电子合同签署设备 | |
WO2019071897A1 (zh) | 实时推荐方法、电子设备及计算机可读存储介质 | |
CN113450162A (zh) | 用户分群方法、装置及存储介质 | |
CN113315824A (zh) | 一种应用的灰度发布方法、装置及应用的灰度发布系统 | |
CN109117088A (zh) | 一种数据处理方法及系统 | |
CN111291936B (zh) | 产品生命周期预估模型生成方法、装置及电子设备 | |
CN109783589A (zh) | 电子地图解析地址的方法、装置及存储介质 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN109586970B (zh) | 资源分配方法、装置及系统 | |
CN110727647B (zh) | 运价数据存储方法及装置 | |
CN107391672A (zh) | 数据的读写方法及消息化的分布式文件系统 | |
CN109656877A (zh) | 一种用户文件配额的方法、装置及分布式文件系统 | |
CN105681384B (zh) | 一种信息的过期处理方法及装置 | |
CN108874805B (zh) | 数据的处理方法和装置 | |
CN109710839A (zh) | 岗位推送方法、装置及设备 | |
CN109271438A (zh) | 一种数据库访问方法及其系统 | |
CN106998476A (zh) | 一种基于地理信息系统的视频查看方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |