一种网络竞价的动态共享数据的缓存系统和方法

文档序号:6434102阅读:146来源:国知局
专利名称:一种网络竞价的动态共享数据的缓存系统和方法
技术领域
本发明涉及网络竞价领域,特别是涉及一种网络竞价的动态共享数据的缓存系统和方法。
背景技术
现有数据缓存的方法主要有两种,一种是基于数据库持久层的二级缓存,如 hibernate的二级缓存;另一种是散列hash存储,如OS Cache等。现有缓存技术存在的主要缺点是加载方式单一,使用不够灵活,命中率较低;并且大多采用hash列表存储,对于多个相关数据的提取效率较低。传统的缓存技术对于可能马上被访问的数据集和访问频率比较高的数据集,缓存模块会提前将其载入缓存,保证在业务模块需要相关数据时,能够最快获取;对于当前没有应用访问的数据,在应用第一次访问后加载到缓存,以保证下次请求直接命中。因而,目前需要本领域技术人员迫切解决的一个技术问题就是在网络竞价系统中,如何找到一种新型的数据缓存的方法,能够解决目前网络竞价系统中数据缓存的方法中的缺点加载方式单一、有效数据的提取效率低。

发明内容
本发明所要解决的一个技术问题是提供一种网络竞价的动态共享数据的缓存系统和方法,该发明能够提高网络竞价的动态共享数据的缓存的命中率和访问效率。为了解决上述问题,本发明公开了一种网络竞价的动态共享数据的缓存系统,包括数据库应用层系统,用于提供网络竞价的动态共享数据,并完成相应的数据交换、 调用;数据库缓存及存储系统,用于完成网络竞价的动态共享数据的缓存及存储过程;数据库加载数据系统,用于完成网络竞价系统中的动态共享数据的加载过程。优选的,所述数据库缓存及存储系统,包括数据库缓存及存储模块,用于完成网络竞价的动态共享数据的缓存及存储过程;数据库缓存对外接口模块,用于提供网络竞价的动态共享数据的缓存系统的对外接口。优选的,所述数据库加载数据系统,包括数据库预先加载数据模块,用于完成网络竞价的动态共享数据的缓存系统中,对数据库的数据进行预先分析,及对数据库的数据的加载过程;数据库延迟加载数据模块,用于完成网络竞价的动态共享数据的缓存系统中,对数据库中的数据进行延迟分析,及对数据库的数据的加载过程;数据库级联加载数据模块,用于完成网络竞价的动态共享数据的缓存系统中,对数据库中的数据进行级联逻辑分析,及对数据库的数据的加载过程。
本发明还公开了一种网络竞价的动态共享数据的缓存方法,包括从数据库应用层系统中采集数据,获得网络竞价的动态共享数据的缓存系统中的竞价数据;将所述竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据;对竞价数据的存储数据进行数据分析及数据加载,获得相应的数据的加载结果;将上述数据加载结果,通过缓存对外接口模块,传输给用户界面系统。优选的,所述将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据的步骤,包括采用多级目录式数据存储方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。优选的,所述将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据的步骤,包括采用提供缓存到数据库的数据通道的方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据;采用缓存模块将数据存入磁盘的方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。优选的,所述对竞价数据的存储数据进行数据分析及数据加载,获得相应的数据的加载结果的步骤,包括若存储数据为进行数据访问的基本数据,则采用预先加载存储数据的方法,获得相应的基本数据的加载结果;若存储数据为待定数据,则采用延迟加载存储数据的方法,获得相应的待定数据的加载结果;若存储数据为被访问数据的关联数据,则采用级联加载存储数据的方法,获得相应的关联数据的加载结果;其中,所述基本数据为被访问概率大的数据集或被访问频率高的数据集;所述待定数据为被访问概率低的数据集;所述关联数据为网络竞价系统中竞价活动请求数据、竞价标的请求数据及竞价用户请求数据相关联的数据。优选的,所述若存储数据为进行数据访问的基本数据,则采用预先加载存储数据的方法,获得相应的基本数据的加载结果的步骤,包括接收启动缓存的命令,开始启动缓存进行数据分析及加载过程;通过数据库预先加载数据模块依据预先加载策略对存储数据进行分析,获得存储数据的分析结果;依据存储数据的分析结果,获得被访问概率大的数据集或被访问频率高的数据集;从数据库甲读取出被访问概率大的数据集或被访问频率高的数据集;将被访问概率大的数据集或被访问频率高的数据集加载到缓存存储区,获得被访问概率大的数据集或被访问频率高的数据集的数据加载结果。优选的,所述若存储数据为待定数据,则采用延迟加载存储数据的方法,获得相应的待定数据的加载结果的步骤,包括
接收启动缓存的命令,开始启动缓存进行数据分析及加载过程;调用数据库延迟加载数据模块依据延迟加载策略对存储数据进行分析,获得存储数据的分析结果;依据存储数据的分析结果,获得被访问概率低的数据集;若首次访问到上述访问概率低的数据集的关联数据集时,调用数据延迟加载模块对上述被访问概率低的数据集进行读取,获得从数据库中读取出的被访问概率低的数据集;将所述访问概率低的数据集加载到缓存存储区,获得被访问概率低的数据加载结^ ο优选的,所述若存储数据为被访问数据的关联数据,则采用级联加载存储数据的方法,获得相应的关联数据的加载结果的步骤,包括接收启动缓存的命令,开始启动缓存进行数据分析及加载过程;接收存储数据的请求数据命令,获得存储数据的请求数据;判断缓存中是否存在请求数据并作出相应的响应;若缓存中有请求数据,则从数据库中读取请求数据,并将上述竞价活动的请求数据写入缓存中,将与请求数据相关联的关联数据加载入缓存中,并返回请求数据;若缓存中没有请求数据,则返回请求数据;依据返回的请求数据,获得请求数据及关联数据的加载结果;其中,所述关联数据为网络竞价系统中与请求数据相关联的关联数据。与现有技术相比,本发明具有以下优点1、同时实现了预先加载、延迟加载、级联加载三种加载机制。2、采用了目录式的存储结构。3、提供了将内存数据恢复到数据库存储的通道。4、实现了实时竞价交易的数据备份。本发明在传统缓存模式上,增加了共享缓存管理模块,此模块在基本存储单元上, 采用了哈希算法索引,并应用调用的情况,采用不同的加载策略,以获取最大命中率,同时在存储结构上,首次引入了目录式管理,以此来提高访问速度。总之,本发明能够提高网络竞价的动态共享数据的缓存的命中率和访问效率,同时,满足实时竞价交易的数据备份。


图1是本发明一种网络竞价的动态共享数据的缓存系统实施例的结构示意图;图2是本发明一种网络竞价的动态共享数据的缓存方法实施例1的流程示意图;图3是本发明一种网络竞价的动态共享数据的缓存方法实施例2的流程示意图;图4是本发明采用延迟加载存储数据的方法进行数据分析、加载及存储的流程示意图;图5是本发明采用级联加载存储数据的方法进行数据分析、加载及存储的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。本发明的核心思想之一是本发明提供了一种网络竞价的动态共享数据的缓存系统,该系统包括数据库应用层系统,用于提供网络竞价的动态共享数据,并完成相应的数据交换、调用;数据库缓存及存储系统,用于完成网络竞价的动态共享数据的缓存及存储过程;数据库加载数据系统,用于完成网络竞价系统中的动态共享数据的加载过程;本发明能够提高网络竞价的动态共享数据的缓存的命中率和访问效率。参照图1,示出了本发明一种网络竞价的动态共享数据的缓存系统实施例的结构示意图,具体可以包括数据库应用层系统101,用于提供网络竞价的动态共享数据,并完成相应的数据交换、调用。数据库缓存及存储系统102,用于完成网络竞价的动态共享数据的缓存及存储过程。为了使本领域的技术人员更好地理解本发明,在本发明的一个优选实施例中,所述数据库缓存及存储系统102,具体可以包括数据库缓存及存储模块Al,用于完成网络竞价的动态共享数据的缓存及存储过程。数据库缓存对外接口模块A2,用于提供网络竞价的动态共享数据的缓存系统的对外接口。数据库加载数据系统103,用于完成网络竞价系统中的动态共享数据的加载过程。为了使本领域的技术人员更好地理解本发明,在本发明的另一个优选实施例中, 所述数据库加载数据系统103,具体可以包括数据库预先加载数据模块Bi,用于完成网络竞价的动态共享数据的缓存系统中, 对数据库的数据进行预先分析,及对数据库的数据的加载过程。其中,在数据库预先加载数据模块中,对于可能马上被防问的数据集和访问频率比较高的数据集,缓存模块会提前将其载入缓存,保证在业务模块需要相关数据时,能够最快获取。在预先加载的实现上,引入了智能判断机制,以防止重复加载的发生。数据库延迟加载数据模块B2,用于完成网络竞价的动态共享数据的缓存系统中, 对数据库中的数据进行延迟分析,及对数据库的数据的加载过程。其中,在数据库延迟加载数据模块中,对于当前没有应用访问的数据,在应用第一次访问后加载到缓存,以保证下次请求直接命中,既降低了缓存的内存占用,又保证了缓存的命中率。数据库级联加载数据模块B3,用于完成网络竞价的动态共享数据的缓存系统中, 对数据库中的数据进行级联逻辑分析,及对数据库的数据的加载过程。其中,在数据库级联加载数据模块中,在实际业务应用中,业务数据有着很强的相关性,本项目的缓存模块,能够根据业务的相关性,将相关度较高数据同时加载到缓存中, 极大提高了缓存命中率。参照图2,示出了本发明一种网络竞价的动态共享数据的缓存方法实施例1的流程示意图,具体可以包括
步骤201、从数据库应用层系统中采集数据,获得网络竞价的动态共享数据的缓存系统中的竞价数据。步骤202、将所述竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。其中,所述步骤202具体可以包括子步骤Cl、采用多级目录式数据存储方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。采用多级目录式数据存储方法,将相关数据按目录结构存储,大大降低了时间复杂度(时间复杂度为η开平方)。所述步骤202具体可以包括子步骤D1、采用提供缓存到数据库的数据通道的方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。其中,本发明提供由缓存到数据库的数据通道,在需要时程序可以通过接口将缓存数据恢复到物理数据库。子步骤D2、采用缓存模块将数据存入磁盘的方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。其中,在物理数据库遇到故障时,缓存模块会将相关数据存入磁盘,在物理数据库故障恢复后可采用手工和自动的方式将磁盘数据恢复到数据库中,从而解决了数据灾难备份和恢复问题。步骤203、对竞价数据的存储数据进行数据分析及数据加载,获得相应的数据的加载结果。其中,所述步骤203具体可以包括子步骤Ε1、若存储数据为进行数据访问的基本数据,则采用预先加载存储数据的方法,获得相应的基本数据的加载结果。其中,所述基本数据为被访问概率大的数据集或被访问频率高的数据集。系统启动之后,立刻将必定要访问的数据加载到缓存。如系统启动后自动将进行中的竞价活动基本数据载入缓存。通过预先记载存储数据的方法针对对于数据量较小二访问率较高的数据,提前加载,从而提高系统响应速度。所述子步骤El具体可以包括子步骤F1、接收启动缓存的命令,开始启动缓存进行数据分析及加载过程。子步骤F2、通过数据库预先加载数据模块依据预先加载策略对存储数据进行分析,获得存储数据的分析结果。子步骤F3、依据存储数据的分析结果,获得被访问概率大的数据集或被访问频率高的数据集。子步骤F4、从数据库中读取出被访问概率大的数据集或被访问频率高的数据集。子步骤F5、将被访问概率大的数据集或被访问频率高的数据集加载到缓存存储区,获得被访问概率大的数据集或被访问频率高的数据集的数据加载结果。子步骤E2、若存储数据为待定数据,则采用延迟加载存储数据的方法,获得相应的待定数据的加载结果。其中,所述待定数据为被访问概率低的数据集。所述子步骤E2具体可以包括子步骤G1、接收启动缓存的命令,开始启动缓存进行数据分析及加载过程。子步骤G2、调用数据库延迟加载数据模块依据延迟加载策略对存储数据进行分析,获得存储数据的分析结果。子步骤G3、依据存储数据的分析结果,获得被访问概率低的数据集。子步骤G4、若首次访问到上述访问概率低的数据集的关联数据集时,调用数据延迟加载模块对上述被访问概率低的数据集进行读取,获得从数据库中读取出的被访问概率低的数据集。子步骤G5、将所述访问概率低的数据集加载到缓存存储区,获得被访问概率低的数据加载结果。子步骤E3、若存储数据为被访问数据的关联数据,则采用级联加载存储数据的方法,获得相应的关联数据的加载结果。其中,所述关联数据为网络竞价系统中竞价活动请求数据、竞价标的请求数据及竞价用户请求数据相关联的数据。所述子步骤E3具体可以包括子步骤HI、接收启动缓存的命令,开始启动缓存进行数据分析及加载过程。子步骤H2、接收存储数据的请求数据命令,获得存储数据的请求数据。子步骤H3、判断缓存中是否存在请求数据并作出相应的响应;若缓存中有请求数据,则从数据库中读取请求数据,并将上述竞价活动的请求数据写入缓存中,将与请求数据相关联的关联数据加载入缓存中,并返回请求数据;若缓存中没有请求数据,则返回请求数据。子步骤H4、依据返回的请求数据,获得请求数据及关联数据的加载结果;其中,所述关联数据为网络竞价系统中与请求数据相关联的关联数据。在级联加载存储数据的方法中,采用了级联加载策略。所述级联加载策略是由数据库级联加载数据模块实现。对于竞价系统应用而言,对竞价活动、竞价标的、竞价用户等数据的请求是有关联的。当进行一场竞价活动时,势必对该活动的标的、用户的数据进行频繁访问,因此,当缓存模块加载竞价活动数据时,根据这种级联规则,就会将竞价活动信息级联的标的信息、用户信息等一并加载到缓存,以保障了外部请求的命中率。步骤204、将上述数据加载结果,通过缓存对外接口模块,传输给用户界面系统。参照图3,示出了本发明一种网络竞价的动态共享数据的缓存方法实施例2的流程示意图,具体可以包括
步骤301、客户端接收到接收命令,开始执行启动指定标的的操作。步骤302、判断动态缓存系统中是否检索到缓存中存在指定的标的的目标数据库, 并作出相应的操作。其中,所述步骤302具体可以包括子步骤II、若在动态缓存系统中检索到缓存中存在指定的标的的目标数据库,则读取数据并将读取到的数据返回给客户端;子步骤12、若在动态缓存系统中未检索到缓存中存在指定的标的的目标数据库, 则从系统数据库中搜索并获取数据,并将获取到的数据加载到缓存中并将读取到的数据返回到客户端。其中,所述子步骤12具体可以包括子步骤J1、若在动态缓存系统中未检索到缓存中存在指定的标的的目标数据库, 则从系统数据库中搜索并获取数据。子步骤J2、缓存系统接收到预先加载指令,执行预先加载指令,开始预先加载检查;其中,若指定的标的所属的活动未被整体加载,则将该活动的其他标的全部加载如缓存中。子步骤J3、将获取到的数据加载到缓存中并将读取到的数据返回到客户端。参照图4,示出了本发明采用延迟加载存储数据的方法进行数据分析、加载及存储的流程示意图。从图4中,可以看出采用延迟加载存储数据的方法进行数据分析、加载及存储的过程为首先接收到请求数据,从数据库中读取数据,并将读取到的数据写入缓存中,最后返回请求数据。对于不能确定是否立刻被访问的数据,系统不会加载到缓存,只有第一访问数据的时候才载入缓存。如对于已经结束的竞价标的,只有在外部用户第一访问时,才加入缓存。通过延迟加载存储数据的方法可以做到即需记得,精确加载,避免资源浪费。参照图5,示出了本发明采用级联加载存储数据的方法进行数据分析、加载及存储的流程示意图。从图5中,可以看出级联加载存储数据的方法进行数据分析、加载及存储的过程为首先接收到请求数据,从数据库中读取数据,并将读取到的数据写入缓存中,并将数据库中的与读取到的数据库中的数据相关的数据同时也加载入缓存中,最后返回请求数据。当访问某个特定数据时,如果与其相关联的数据也会被立刻访问,则将这些相关数据一并载入缓存,而不是等到这些管理数据的第一次访问才加入缓存。如当访问某个特定标的时,除了将该标的加入缓存外,也会将该标的的报价历史载入缓存,因为标的及标的报价历史在访问上的关联度较大。级联加载存储数据的方法的优点是根据关联度加载,介于预先加载和延迟加载之间,既有“预先加载”的相应速度,又从一定程度上避免了盲目加载造成的资源浪费。总之,本发明提供了一种网络竞价的动态共享数据的缓存系统和方法,能够提高网络竞价的动态共享数据的缓存的命中率和访问效率。本发明不限于上述实施方式,对于本领域普通技术人员而言,对上述实施方式所做出的任何显而易见的改进或变更,都不会超出本发明的构思和所附权利要求的保护范围。
权利要求
1.一种网络竞价的动态共享数据的缓存系统,其特征在于,包括数据库应用层系统,用于提供网络竞价的动态共享数据,并完成相应的数据交换、调用;数据库缓存及存储系统,用于完成网络竞价的动态共享数据的缓存及存储过程; 数据库加载数据系统,用于完成网络竞价系统中的动态共享数据的加载过程。
2.如权利要求1所述的网络竞价的动态共享数据的缓存系统,其特征在于,所述数据库缓存及存储系统,包括数据库缓存及存储模块,用于完成网络竞价的动态共享数据的缓存及存储过程; 数据库缓存对外接口模块,用于提供网络竞价的动态共享数据的缓存系统的对外接
3.如权利要求1所述的网络竞价的动态共享数据的缓存系统,其特征在于,所述数据库加载数据系统,包括数据库预先加载数据模块,用于完成网络竞价的动态共享数据的缓存系统中,对数据库的数据进行预先分析,及对数据库的数据的加载过程;数据库延迟加载数据模块,用于完成网络竞价的动态共享数据的缓存系统中,对数据库中的数据进行延迟分析,及对数据库的数据的加载过程;数据库级联加载数据模块,用于完成网络竞价的动态共享数据的缓存系统中,对数据库中的数据进行级联逻辑分析,及对数据库的数据的加载过程。
4.一种网络竞价的动态共享数据的缓存方法,其特征在于,包括从数据库应用层系统中采集数据,获得网络竞价的动态共享数据的缓存系统中的竞价数据;将所述竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据; 对竞价数据的存储数据进行数据分析及数据加载,获得相应的数据的加载结果; 将上述数据加载结果,通过缓存对外接口模块,传输给用户界面系统。
5.如权利要求4所述的方法,其特征在于,所述将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据的步骤,包括采用多级目录式数据存储方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据。
6.如权利要求4所述的方法,其特征在于,所述将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据的步骤,包括采用提供缓存到数据库的数据通道的方法,将竞价数据存储在数据库缓存及存储系统中,获得竞价数据的存储数据;采用缓存模块将数据存入磁盘的方法,将竞价数据存储在数据库缓存及存储系统中, 获得竞价数据的存储数据。
7.如权利要求4所述的方法,其特征在于,所述对竞价数据的存储数据进行数据分析及数据加载,获得相应的数据的加载结果的步骤,包括若存储数据为进行数据访问的基本数据,则采用预先加载存储数据的方法,获得相应的基本数据的加载结果;若存储数据为待定数据,则采用延迟加载存储数据的方法,获得相应的待定数据的加载结果;若存储数据为被访问数据的关联数据,则采用级联加载存储数据的方法,获得相应的关联数据的加载结果;其中,所述基本数据为被访问概率大的数据集或被访问频率高的数据集;所述待定数据为被访问概率低的数据集;所述关联数据为网络竞价系统中竞价活动请求数据、竞价标的请求数据及竞价用户请求数据相关联的数据。
8.如权利要求7所述的方法,其特征在于,所述若存储数据为进行数据访问的基本数据,则采用预先加载存储数据的方法,获得相应的基本数据的加载结果的步骤,包括接收启动缓存的命令,开始启动缓存进行数据分析及加载过程; 通过数据库预先加载数据模块依据预先加载策略对存储数据进行分析,获得存储数据的分析结果;依据存储数据的分析结果,获得被访问概率大的数据集或被访问频率高的数据集; 从数据库中读取出被访问概率大的数据集或被访问频率高的数据集; 将被访问概率大的数据集或被访问频率高的数据集加载到缓存存储区,获得被访问概率大的数据集或被访问频率高的数据集的数据加载结果。
9.如权利要求7所述的方法,其特征在于,所述若存储数据为待定数据,则采用延迟加载存储数据的方法,获得相应的待定数据的加载结果的步骤,包括接收启动缓存的命令,开始启动缓存进行数据分析及加载过程; 调用数据库延迟加载数据模块依据延迟加载策略对存储数据进行分析,获得存储数据的分析结果;依据存储数据的分析结果,获得被访问概率低的数据集;若首次访问到上述访问概率低的数据集的关联数据集时,调用数据延迟加载模块对上述被访问概率低的数据集进行读取,获得从数据库中读取出的被访问概率低的数据集; 将所述访问概率低的数据集加载到缓存存储区,获得被访问概率低的数据加载结果。
10.如权利要求7所述的方法,其特征在于,所述若存储数据为被访问数据的关联数据,则采用级联加载存储数据的方法,获得相应的关联数据的加载结果的步骤,包括接收启动缓存的命令,开始启动缓存进行数据分析及加载过程; 接收存储数据的请求数据命令,获得存储数据的请求数据;判断缓存中是否存在请求数据并作出相应的响应;若缓存中有请求数据,则从数据库中读取请求数据,并将上述竞价活动的请求数据写入缓存中,将与请求数据相关联的关联数据加载入缓存中,并返回请求数据;若缓存中没有请求数据,则返回请求数据; 依据返回的请求数据,获得请求数据及关联数据的加载结果; 其中,所述关联数据为网络竞价系统中与请求数据相关联的关联数据。
全文摘要
本发明提供了一种网络竞价的动态共享数据的缓存系统和方法,其中,一种网络竞价的动态共享数据的缓存系统,包括数据库应用层系统,用于提供网络竞价的动态共享数据,并完成相应的数据交换、调用;数据库缓存及存储系统,用于完成网络竞价的动态共享数据的缓存及存储过程;数据库加载数据系统,用于完成网络竞价系统中的动态共享数据的加载过程;本发明能够提高网络竞价的动态共享数据的缓存的命中率和访问效率。
文档编号G06Q30/02GK102508844SQ20111028768
公开日2012年6月20日 申请日期2011年9月26日 优先权日2011年9月26日
发明者樊东平 申请人:北京金马甲产权网络交易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1