一种海量实时舱位运价结果数据快速差异更新存储的方法技术

技术编号:13286139 阅读:103 留言:0更新日期:2016-07-09 02:18
本发明专利技术涉及一种海量实时舱位运价结果数据快速差异更新存储的方法,其步骤:1)由GDS主动推送的海量舱位及运价结果数据经负载分发后,进行GDS主动推送数据更新;2)主动查询GDS舱位数据经内网分发后,进行主动查询GDS数据更新;3)自主运价计算数据经内网分发后,进行自主运价计算数据更新;4)经更新后的GDS主动推送数据、主动查询GDS舱位数据和自主运价计算数据存入持久化数据库后,并存入缓存和历史数据库中,完成海量实时舱位运价结果数据快速差异更新存储。本发明专利技术对历史数据进行增量变化存储,使数据可还原,易于描绘变化趋势。

【技术实现步骤摘要】

本专利技术涉及一种实时存储更新海量动态数据的方法,特别是关于一种在计算机领域中应用的海量实时舱位运价结果数据快速差异更新存储的方法
技术介绍
目前,全球航司舱位运价数据来源,一部分是来自各GDS(全球分销商)的数据,一部分是来自自主运价计算。无论数据来自哪一部分,最终在使用上如果需要达到近似实时的效果,都需要预先计算、缓存,务求查询使用时直接命中缓存结果。在数据量巨大,有需要实时检索的情况下,就需要用到现在一些通用的服务器端缓存技术。现有的技术都无法进行差异化更新,导致更新量大,当中航班无变化的属于无效更新,浪费时间与资源。
技术实现思路
针对上述问题,本专利技术的目的是提供一种海量实时舱位运价结果数据快速差异更新存储的方法,该方法对历史数据进行增量变化存储,使数据可还原,易于描绘变化趋势。为实现上述目的,本专利技术采取以下技术方案:一种海量实时舱位运价结果数据快速差异更新存储的方法,其特征在于包括以下步骤:1)由GDS主动推送的海量舱位及运价结果数据经负载分发后,进行GDS主动推送数据更新;2)主动查询GDS舱位数据经内网分发后,进行主动查询GDS数据更新;3)自主运价计算数据经内网分发后,进行自主运价计算数据更新;4)经更新后的GDS主动推送数据、主动查询GDS舱位数据和自主运价计算数据存入持久化数据库后,并存入缓存和历史数据库中,完成海量实时舱位运价结果数据快速差异更新存储。进一步,所述步骤1)中,GDS主动推送数据更新方法如下:(1)在与各GDS网络通讯状况良好稳定的节点建立数据中转服务,该数据中转服务接收GDS主动推送的数据后对接收到的数据进行并行读取,并按照负载分发策略进行特征分发;(2)在负载分发策略下将数据分发至存储服务器,由存储服务器将接收到的海量数据转换成有共同特点的数据后,再分发至后台若干台业务服务器内;(3)采用每台服务器均对接收到的数据进行特征检测,采用bloomfilter对数据进行过滤,判断数据特征是否存在,即判断数据是否有变化,若数据无变化,则在bloomfilter中命中已加入的数据特征,判断为无变化,结束更新;如果数据有变化,则由bloomfilter过滤出来,进入下一步进行数据更新;(4)首先更新数据持久化部分,采用非关系结构化数据库,然后更新数据缓存部分:从数据持久化部分读取最近的数据,根据数据的时间戳判断已存储的数据与即将存储的数据哪个比较新,如果已存储的数据比即将存储的数据新,则抛弃当前操作,结束更新;如果即将存储的数据比已存储的数据新,则将即将存储的数据存入持久化数据库,并存入缓存;(5)判断数据更新过程是否成功,若更新成功,则将最新的数据存入历史数据库;若更新失败,则数据回滚并抛弃当前操作,结束更新。进一步,所述步骤(1)中,负载分发策略采用一致性hash策略。进一步,所述步骤2)中,主动查询GDS舱位数据更新方法如下:(1)读取主动查询GDS舱位数据,经内网分发至存储服务器进行存储;(2)在存储服务器内读取已有舱位数据,并判断当前的舱位数据是否比已有舱位数据新,若已有舱位数据比当前舱位数据新,则更新结束;反之,若当前舱位数据比已有舱位数据新,则将当前舱位数据存入持久化数据库,并覆盖历史数据,存入缓存;(3)判断数据更新过程是否成功,若更新成功,则将最新的数据存入历史数据库;若更新失败,则数据回滚并抛弃当前操作,结束更新。进一步,所述步骤(2)中,根据需要按等级高低进行优先级排序,优先级低的不覆盖优先级高的。进一步,所述步骤3)中,自主运价计算数据更新方法如下:(1)读取自主运价计算数据,并判断同一供应商下的运价结果是否低于比历史数据库中已有的运价结果,若低于已有的运价结果且同一供应商下的运价结果有效,则将同一供应商下的运价结果存入久化数据库,并存入缓存;若高于已有的运价结果,则判断已有运价结果的时效性,如果已有运价结果失效,则进行数据更新,将同一供应商下的运价结果数据存入久化数据库,并存入缓存;(2)判断数据更新是否成功,若更新成功,则将更新后的数据存入历史数据库,更新结束;若更新失败,则数据回滚并抛弃当前操作,结束更新。进一步,所述步骤4)中,更新后的GDS主动推送数据、主动查询GDS舱位数据和自主运价计算数据存入持久化数据库时,采用优化存储方法进行存储:采用增量更新节点,即相似部分以一个字符大小的占位符的形式表示,在纵向上按照时间形成数据链。本专利技术由于采取以上技术方案,其具有以下优点:1、本专利技术对于实时、变化大、数据基数大以及更新频率快的海量实时舱位运价结果数据,能有效使数据存储后使用时兼具随机性与一定的规律性。2、本专利技术处理海量实时数据时能快速准确过滤掉不需要更新的数据,将需要过滤的数据准确高效的进行更新。对历史数据进行增量变化存储,做到数据可还原,易于描绘变化趋势。附图说明图1是本专利技术的整体流程示意图;图2是本专利技术的GDS主动推送舱位及运价结果数据处理流程示意图;图3是本专利技术的主动查询GDS舱位数据处理流程示意图;图4是本专利技术的自主计算运价结果处理流程示意图;图5是本专利技术实施例中更新后舱位数据示意图;图6是本专利技术实施例中舱位基准时间节点示意图;图7是本专利技术实施例中实际存储舱位数据示意图。具体实施方式下面结合附图和实施例对本专利技术进行详细的描述。如图1所示,本专利技术提供一种海量实时舱位运价结果数据快速差异更新存储的方法,其包括以下步骤:1)由GDS主动推送的海量舱位及运价结果数据经负载分发后,进行GDS主动推送数据更新;2)主动查询GDS舱位数据经内网分发后,进行主动查询GDS数据更新;3)自主运价计算数据经内网分发后,进行自主运价计算数据更新;4)经更新后的GDS主动推送数据、主动查询GDS舱位数据和自主运价计算数据存入持久化数据库后,并存入缓存和历史数据库中,完成海量实时舱位运价结果数据快速差异更新存储。上述步骤1)中,如图2所示,GDS主动推送数据更新方法如下:(1)在与各GDS网络通讯状况良好稳定的节点建立数据中转服务,该数据中转服务接收GDS主动推送的数据后对接收到的数据进行并行读取,并按照负载分发策略进行特征分发;其中,负载分发策略可以采用一致性hash策略;(2)在负载分发策略下将数据分发至存储服务器,由存储服务器将接收到的海量数据转换成有共同特点的数据后,再分发至后台若干台业务服务器内;这样会有效避免出现将一个数据分发到若干台服务器,从而给各服务器后续的特征过滤增加存储压力的情况。(3)由于数据量巨大,在一个更新周期中,大多数数据并没有更新,因此采用每台服务器均对接收到的数据进行特征检测,采用bloomfilter对数据进行过滤,判断数据特征是否存在,即判断数据是否有变化,若数据无变化,则在bloomfilter中命中已加入的数据特征,判断为无变化,结束更新;如果数据有变化,则由bloomfilter过滤出来,进入下一步进行数据更新;其中,由于本实施例中已采用负载分发策略,本文档来自技高网...

【技术保护点】
一种海量实时舱位运价结果数据快速差异更新存储的方法,其特征在于包括以下步骤:1)由GDS主动推送的海量舱位及运价结果数据经负载分发后,进行GDS主动推送数据更新;2)主动查询GDS舱位数据经内网分发后,进行主动查询GDS数据更新;3)自主运价计算数据经内网分发后,进行自主运价计算数据更新;4)经更新后的GDS主动推送数据、主动查询GDS舱位数据和自主运价计算数据存入持久化数据库后,并存入缓存和历史数据库中,完成海量实时舱位运价结果数据快速差异更新存储。

【技术特征摘要】
1.一种海量实时舱位运价结果数据快速差异更新存储的方法,其特征在于包括以下步骤:
1)由GDS主动推送的海量舱位及运价结果数据经负载分发后,进行GDS主动推送数据更新;
2)主动查询GDS舱位数据经内网分发后,进行主动查询GDS数据更新;
3)自主运价计算数据经内网分发后,进行自主运价计算数据更新;
4)经更新后的GDS主动推送数据、主动查询GDS舱位数据和自主运价计算数据存入持久化数据库后,并存入缓存和历史数据库中,完成海量实时舱位运价结果数据快速差异更新存储。
2.如权利要求1所述的一种海量实时舱位运价结果数据快速差异更新存储的方法,其特征在于:所述步骤1)中,GDS主动推送数据更新方法如下:
(1)在与各GDS网络通讯状况良好稳定的节点建立数据中转服务,该数据中转服务接收GDS主动推送的数据后对接收到的数据进行并行读取,并按照负载分发策略进行特征分发;
(2)在负载分发策略下将数据分发至存储服务器,由存储服务器将接收到的海量数据转换成有共同特点的数据后,再分发至后台若干台业务服务器内;
(3)采用每台服务器均对接收到的数据进行特征检测,采用bloomfilter对数据进行过滤,判断数据特征是否存在,即判断数据是否有变化,若数据无变化,则在bloomfilter中命中已加入的数据特征,判断为无变化,结束更新;如果数据有变化,则由bloomfilter过滤出来,进入下一步进行数据更新;
(4)首先更新数据持久化部分,采用非关系结构化数据库,然后更新数据缓存部分:从数据持久化部分读取最近的数据,根据数据的时间戳判断已存储的数据与即将存储的数据哪个比较新,如果已存储的数据比即将存储的数据新,则抛弃当前操作,结束更新;如果即将存储的数据比已存储的数据新,则将即将存储的数据存入持久化数据库,并存入缓存;
(5)判断数据更新过程是否成功,若更新成功,则将最新的数据存入历史数据库;若更新失败,则数据回滚并抛弃当前操作,结束更新。
3.如权利要求2所述的一种海量实时舱位运价结果数据快速差异更新存储的方法,其特征在于:所述步骤(1)中,负载分发策略采用一致性hash策略。
4.如权利要求1至3任一项所述的一种海量实时舱位运价结果数据快速差异更新存储的方法,其特征在于:所述步骤2)中,主动查询GDS舱位数据更新方法如下:
(1)读取主动查询GDS舱位数据,经内网分发至存储服务器进行存储;
(2)在存储服务器内读取已有舱位数据,并判断当前的舱位数据是否比已有舱位数据新,若已有舱位数据比当前舱位数据新,则更新结束;反之,若当前舱位数据比已有舱位数据新,则将当前舱位数据存入持久化数据库,并覆盖历史数据,存入缓存;
(3)判断数据更新过程是否成功,若更新成功,则将最新的数据存入历史数据库;若更新失败,则数据回滚并抛弃当前操作...

【专利技术属性】
技术研发人员:谢锦嵩宋剑春
申请(专利权)人:深圳马可孛罗科技有限公司
类型:发明
国别省市:广东;44

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

1