利索能及
我要发布
收藏
专利号: 2017103418323
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种Web可视化环境中的数据视图副本迭代方法,其特征在于:包括以下步骤:

第一步、建立一个动态演化模型,分为大数据用户层、大数据可视化层及大数据源层;

1.1、大数据用户层:由网络上具有不同大数据可视化需求的用户构成,用户通过访问大数据可视化层来获取感兴趣的大数据信息,用户层不依赖具体的技术架构,并可在可视化层中定制不同的视图来分析数据的多个维度;

1.2、大数据可视化层:基于云平台架构,提供一种统一的标准让用户来查询不同的大数据源;可视化层接受大数据用户的数据视图查询请求后,判断是否存在物化缓存,向大数据源发出服务请求然后将返回的结果集进行可视化效果展示给用户;或者直接查询系统的物化缓存,将结果进行可视化分析响应给用户;可视化层包括精灵线程池模块、物化缓存模块、副本迭代模块和可视化分析模块;

所述精灵线程池模块,用于负责线程的分配,系统在初始化阶段根据一定的映射规则解析每个数据视图的相关信息构建一个资源配置文件,系统分析后将需要进行物化缓存的数据视图信息生成物化缓存视图索引表VIT,VIT基于物化缓存更新算法将数据视图加入物化缓存执行队列,由线程分配机制分配合适的线程向大数据源建立连接发出服务请求,所述物化缓存模块,用于针对计算量大、实时性不高、用户请求频繁的大数据可视化查询采取物化缓存的方法,预先缓存大数据源对相应查询计算的结果,将该数据视图的数据结果集采取内存存储或者持久化存储方式,用户发出该视图的请求时,不必向大数据源建立连接发出服务请求,直接用缓存的数据结果集进行可视化分析响应给用户;

所述副本迭代模块,用于当大数据源的数据更新后,由精灵线程向大数据源发出请求得到新的物化缓存,此时需要将新的缓存替换之前的缓存存储于系统中;

所述可视化分析模块,用于将用户访问数据视图后返回的数据集进行可视化分析,将大数据以直观的可视化的图形形式展示给用户;

1.3、大数据源层:指的是在网络上的大数据供应商,采用分布式架构存储海量数据,有效支持大数据的处理需求,大数据源层一般提供大数据服务,即将数据以服务的方式提供给可视化层;

第二步、基于所述的模型,提出的Web可视化环境中的数据视图副本迭代方法如下:

2.1大数据用户提交数据可视化查询请求;

2.2在大数据可视化层,每一个数据视图在初始化阶段都被赋予一个唯一的URL资源,并记录了数据可视化视图的相关信息,作为资源配置文件存储于持久化层。系统初始化阶段将其映射到内存的缓存配置表中,根据数据视图的访问率与自身更新频率选择是否进行物化缓存,并针对数据视图的资源特性选择合适的存储方式,通用原则是:内存存储适合访问热度高但数据量小的数据结果,持久化存储适合数据量大,但访问热度相对较低的数据结果;将需要进行物化缓存的数据视图信息写入物化缓存视图索引表VIT,对VIT使用半形式化方法描述如下:VIT=key,value.

value=VDK,[MCS],[MCRI]

MCS=’0’|’1’|’2’

MCRI=’0’|’1’

其中VIT是一个HashMap表,key为用户的查询URL,即大数据用户访问数据视图的网址;

value为一个三元组,组成规则为:value=VDK(Visual Data Key数据视图的名称,唯一)+MCS(Materialized Cache Style对应物化缓存的方式)+MCRI(Materialized Cache Replica Identify物化缓存副本查询标志符);其中MCS包括内存存储或者持久化存储,内存存储用0表示,持久化文件存储用1表示,持久化数据库存储用2表示;MCRI标志是否应该查询该数据视图的物化缓存副本,1表示查询,0表示不查询;

2.3系统基于物化缓存更新算法周期性地累积缓存索引集合被访问的次数,并将访问次数周期性地累积成热度进行保存;系统设置一个物化缓存更新过滤器,过滤器中有一个过滤表FT,FT中数据是一个动态数组,里面包含正在进行副本迭代数据视图的URL。系统选择累积热度TOP—K的数据视图,通过物化缓存更新过滤器中FT的比对,对VIT中存在但FT中没有的数据视图加入物化缓存执行队列,并在物化缓存执行队列中保存数据视图的URL,由精灵线程模块解析后分配合适的线程向大数据源建立连接发出服务请求;

2.4系统将返回的数据视图缓存数据写入对应的缓存方式,考虑到物化缓存存储方式分为内存存储和持久化存储,因此根据存储方式进行区别处理:对于内存存储,在内存中建立值表MVT与值表副本MVT-rp,MVT结构是一个HashMap,其中key是查找的数据视图名称VDK,value为一个二元组,包括该数据视图物化缓存的数据和数据视图此时用户的访问量count,MVT-rp结构也是一个HashMap,其中key是查找的数据视图名称VDK,value为一个三元组,包括该数据视图物化缓存的数据、数据视图此时用户的访问量count和副本迭代成功标识符CopySuc(1表示迭代成功,0表示尚未迭代);MVT和MVT-rp负责提供存储在内存中的物化缓存并监控相应数据视图的用户访问情况;持久化存储形式由系统初始化设定,可分为文件系统存储和数据库系统存储,对于文件系统存储,在内存中建立文件索引表FIT和文件索引表副本FIT-rp,FIT结构是一个HashMap表,其中key是查找的数据视图名称VDK,value为一个二元组,包括该数据视图物化缓存文件存储路径FilePath和该数据视图此时用户的访问量count,FIT-rp结构也是一个HashMap,其中key是查找的数据视图名称VDK,value为一个三元组,包括该数据视图物化缓存的数据、数据视图此时用户的访问量count和副本迭代成功标识符CopySuc;在数据视图查询时系统将用户的查询URL匹配为主键,查询物化缓存视图索引表VIT,如果能匹配到,说明该数据视图已提供了物化缓存。对于具有物化缓存的数据视图,模型不再对数据源进行真正访问,改为访问物化缓存,查询VIT中该条数据视图记录的MCRI值,如果字段为1,说明应该查询数据视图的物化缓存副本,转步骤

2.5,否则转步骤2.6;

2.5选择访问该数据视图的物化缓存副本数据;查询VIT,如果VIT记录的该条数据视图的MCS字段为0,则系统基于VDK为主键查找MVT-rp并返回二元组中的缓存json数据,然后将MVT-rp中该数据视图此时用户的访问量count增加1;如果MCS字段为1,则系统基于VDK为主键查找FIT-rp中的缓存文件存储路径FilePath,并访问磁盘中该缓存副本文件(以json文件存储),将FIT-rp中该数据视图此时用户的访问量count增加1;如果MCS字段为2,系统依据数据视图VDK为主键去数据库进行物化缓存的搜索,并将搜索结果返回;

2.6选择访问该数据视图的物化缓存数据;查询VIT,如果VIT记录的该条数据视图的MCS字段为0,,则系统基于VDK为主键查找MVT并返回二元组中的缓存json数据,然后将MVT中该数据视图此时用户的访问量count增加1;如果MCS字段为1,则系统基于VDK为主键查找FIT中的缓存文件存储路径FilePath,并访问磁盘中该缓存副本文件,将FIT中该数据视图此时用户的访问量count增加1;如果MCS字段为2,系统依据数据视图VDK为主键去数据库进行物化缓存的搜索,并将搜索结果返回;

2.7将返回的结果json注入相应的可视化模块中并将形成的可视化效果展示给用户,如果该结果json是从内存中或者持久层文件系统中取出来的,则将对应的MVT、FIT或者MVT-rp、FIT-rp中该数据视图此时用户的访问量count减少1。

2.如权利要求1所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.3中,物化缓存更新算法的过程如下:

2.3.1物化缓存更新的对象初始范围限定于VIT数据集中;

2.3.2计算VIT中当前热度计算周期内数据视图的物化缓存i被访问的次数counti,设cti为物化缓存i被创建的时间,T为当前时间,计算物化缓存i在缓存区域中已经存在的时间T-cti与缓存对象i命中需要的平均时间

2.3.3系统计算物化缓存i自身更新的频率updatei;

2.3.4记录对于物化缓存i发送一个请求开始到客户端收到最后一个字节的响应所耗费的时间TTLBi;

2.3.5定义物化缓存i在周期j的热度值Valueij,计算公式如下:

其中β为相关系

数,Valueij-1表示该缓存在上一个热度计算周期中的热度值,参数α是衰减系数,用来确定当前周期热度累积的热度和历史热度各自所占的权重,α越大,则最近的访问在数据访问热度中所占的权重越大,历史访问记录对数据热度的影响越小,反之亦然;集合的历史热度在本计算周期内以系数(1-α)的速率衰减,经过多次迭代,更早计算周期的累积热度经过了更多次衰减;

2.3.6系统将记录的所有物化缓存累积热度值进行排序,选择累积热度TOP—K的数据视图,将数据视图的URL与物化缓存更新过滤器中FT中的URL进行对比。如果在FT中没有搜索到,代表目前该数据视图没有进行副本迭代,加入物化缓存执行队列,安全进行缓存更新,其中物化缓存执行队列以队列结构存储需要更新数据视图的URL;如果在FT中搜索到,则表示目前该数据视图正在副本迭代,且迭代过程目前还没有完成,因此不加入物化缓存执行队列,不必进行缓存更新。

3.如权利要求2所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.3.3中,缓存自身更新的频率updatei需由大数据可视化层向大数据源周期的发送请求,将返回数据结果与现有的缓存数据进行对比,从而计算出缓存自身更新的频率;对每一种物化缓存的大数据源进行数据更新的预测,以便在下一次大数据源更新时获取最新的数据,提出一种数据更新预测动态请求算法,通过每次请求返回的比对结果动态调节下一次请求的间隔时间RI,另设置一个慢请求门限值srthresh,当请求间隔时间未达到门限值时采取间隔时间单位指数增加,之后采取线性增加方式;数据更新预测动态请求算法的步骤如下:

2.3.3.1动态请求初始化:在初始化阶段设置初始的请求间隔为一个单位时间,即RI1=

1,单位时间可以是一个小时、半个小时、十分钟等,具体数值由系统根据经验定值,另定义一个慢请求门限值srthresh;

2.3.3.2系统向大数据源发出比对请求,对请求返回的结果进行分析比对,如果发现缓存并未更新,则进行步骤2.3.3.3,否则进行步骤2.3.3.4;

2.3.3.3如果发现此轮的请求间隔时间RIk小于或等于慢请求门限值srthresh,k=2,3,

4,5…,则定义下一轮请求间隔时间RIk+1=2*RIk,否则下一轮请求间隔时间RIk+1=RIk+1,转步骤2.3.3.2;

2.3.3.4直接定义下一轮的请求间隔时间RIk+1=RIk/2,转步骤2.3.3.2。

4.如权利要求1~3之一所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:所述步骤2.4中,副本迭代方法的步骤如下:

2.4.1系统通过对数据源的数据更新监测,通过物化缓存更新过滤器中FT的比对过滤后将VIT中需要进行更新的数据视图加入物化缓存执行队列,并由精灵线程模块选择合适的线程向大数据源建立连接发出服务请求,返回数据视图新的物化缓存json数据,通过读取VIT的MCS来了解当前数据视图的物化缓存类型,如果MCS为2转步骤2.4.2,如果MCS为0或者1则转步骤2.4.3;

2.4.2系统将新的物化缓存数据写入数据库;

2.4.3完成物化缓存副本数据的写入工作;

2.4.4系统将用户的查询URL匹配为主键,查询VIT中该条数据视图记录的MCRI值;

2.4.5执行迭代过程;

2.4.6当物化缓存副本拷贝完毕后,系统修改MVT-rp或FIT-rp中该数据视图的CopySuc字段为1,并修改VIT中MCRI为0;

2.4.7当系统基于VDK为主键检测MVT-rp或FIT-rp的二元组中该数据视图此时用户的访问量count为0并且该数据视图的CopySuc字段为1时,系统删除MVT-rp中该数据视图的记录或者删除FIT-rp中该数据视图的记录和磁盘中对应的缓存副本文件;

2.4.8系统将VIT中该数据视图的MCRI修改为0,并且将该数据视图的URL从FT中删除。

5.如权利要求4所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.4.3中,完成物化缓存副本数据的写入工作的过程如下:

2.4.3.1,根据VIT中MCS的值进行选择存储介质的过程如下:

2.4.3.1.1如果MCS为0,系统将新的物化缓存数据写入MVT-rp并设置MVT-rp中该数据视图的count和CopySuc为0;

2.4.3.1.2如果MCS为1,系统将新的物化缓存数据保存在磁盘中作为缓存副本文件,并将此缓存副本文件的路径FilePath加入FIT-rp并设置FIT-rp中该数据视图的count和CopySuc为0;

2.4.3.2如果该物化缓存副本生成失败,系统生成监控日志上报管理员,转步骤2.4.1重新生成物化缓存副本,否则转步骤2.4.3.3;

2.4.3.3将该数据视图URL加入FT并修改VIT中该数据视图的MCRI为1。

6.如权利要求4所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.4.4中,查询VIT中该条数据视图记录的MCRI值的过程如下:

2.4.4.1根据VIT中MCRI的值选择查询的响应方式,过程如下:

2.4.4.1.1如果MCRI字段为0,用MVT或FIT查询响应新的用户请求,每一个新用户查询都会使得MVT或FIT中的count值加1。并且转步骤2.4.1重新生成物化缓存副本;

2.4.4.1.2如果MCRI字段为1,用MVT-rp或FIT-rp查询响应新的用户请求,每一个新用户查询都会使得MVT-rp或FIT-rp中的count值加1;

2.4.4.2如果新用户对MVT-rp或FIT-rp访问出错,系统生成监控日志上报管理员并修改VIT中MCRI为0,转步骤2.4.4.1。

7.如权利要求4所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.4.5中,执行迭代过程如下:

2.4.5.1系统基于VDK为主键检测MVT或FIT的二元组中该数据视图此时用户的访问量count是否为0,当MVT或FIT中的conut为0,表明目前没有用户在访问旧缓存,可以安全执行副本迭代,过程如下:

2.4.5.1.1对于内存存储,将MVT-rp中该数据视图的物化缓存数据覆盖到MVT中对应位置上;

2.4.5.1.2对于持久化文件存储,将磁盘中的缓存副本文件拷贝到缓存文件;

2.4.5.2在拷贝过程中,如果缓存内容较大,可能需要一定的时长,此时如果有新用户进来访问该数据视图,系统会继续选择MVT-rp或者FIT-rp进行查找响应,每一个新用户查询都会使得MVT或FIT中的count值加1‘’

2.4.5.3如果副本迭代过程出错,暂时停止对该物化缓存数据的拷贝,继续使用MVT-rp或者FIT-rp数据响应用户,同理,每一个新用户查询都会使得MVT-rp或FIT-rp中的count值加1,系统生成监控日志上报管理员,并转步骤2.4.5重新对该数据视图执行迭代过程。

8.如权利要求4所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.4.6的过程如下:

2.4.6.1系统将用户的查询URL匹配为主键,查询VIT中该条数据视图记录的MCRI值;

2.4.6.2根据VIT中MCRI的值选择查询访问方式,过程如下:

2.4.6.2.1如果MCRI字段为0,用MVT或FIT查询响应新的用户请求,每一个新用户查询都会使得MVT或FIT中的count值加1;

2.4.6.2.2如果MCRI字段为1,用MVT-rp或FIT-rp查询响应新的用户请求,每一个新用户查询都会使得MVT-rp或FIT-rp中的count值加1,并且转步骤2.4.5重新对该数据视图执行迭代过程;

2.4.6.3如果新用户对MVT或FIT访问出错,系统生成监控日志上报管理员并修改VIT中MCRI为1,转步骤2.4.6.1。

9.如权利要求5所述的一种Web可视化环境中的数据视图副本迭代方法,其特征在于:

所述步骤2.4.3.3中的监控日志是一个五元组集合,集合格式为(VDK,CT,MS,HSC,EI),具体元组含义如下表1:表1。