当前位置: 首页 > 专利查询>北京大学专利>正文

基于用户使用习惯的GIS系统模块加载方法技术方案

技术编号:9033884 阅读:128 留言:0更新日期:2013-08-15 00:45
本发明专利技术公布了一种基于用户操作日志的智能控制模块加载的方法。包括:通过事先建立的二元映射关系来确定将界面操作模块与后台加载模块对应起来;设计一套合理的将用户操作数据与模块使用状况对应起来的一套评价指标;根据用户历史操作数据计算出评价指标并生成与工程文件配套的配置文件;当工程文件被开启或者新建时基于配置文件来确定需要预加载的模块并实施;当工程关闭时基于新生成的用户操作数据对配置文件进行更新。所述方法能够达到节省内存空间,提高加载速度的目的。

【技术实现步骤摘要】

本专利技术属于地理信息应用软件领域。具体涉及一种基于用户历史操作记录数据的智能模块加载方法。
技术介绍
在GIS (Geographic Information System,地理信息系统)领域,随着 GIS 软件的应用领域日益广泛,用户需求显著增加,GIS软件的功能也越来越趋于多样化,专业化。与此同时,更多的代码模块被加入到软件当中来实现更多的功能,并且每当软件启动时,这些模块都要进行预加载。但是大部分预加载的模块并没有被用户使用到。这些未被使用到的预加载模块极大地降低了软件的启动速度并且耗费了相当数量的内存空间,造成了时间和空间上的浪费。在动态加载方面,德国学者Kapitza等做过CORBA(Common ObjectRequest Broker Architecture,公共对象请求代理体系结构)动态加载相关的研究,而基于用户历史数据的推荐算法被广泛应用在网页推荐和排序上 ,但关于GIS相关软件的智能加载,目前还没有人给出一个合适的解决方案。
技术实现思路
本专利技术提出了一种智能的动态控制模块预加载的方案。该方法以工程为单位,对用户操作使用的历史数据进行分析,并由此找出不应该被预加载的模块,从而实现对启动模块加载的优化。本专利技术的技术方案如下:一种基于用户使用习惯的GIS系统模块加载方法,其特征是, 一、预处理阶段:I)把GIS系统的模块划分为基本模块、核心模块和外围模块三种,所述基本模块指的是GIS系统启动以及正常运行所必需的模块,所述核心模块指的是超过一半以上的用户操作所需要的预加载的模块(表现为在步骤2)中二元关系矩阵中本模块对应的向量元素为I的数量超过向量所包含总元素个数的一半),GIS系统的其余模块为外围模块;2)通过二进制矩阵来分别建立用户在GIS系统中的操作与核心模块以及与外围模块之间多对多的二元关系映射;GIS系统中的每个核心模块和外围模块对应矩阵中的一列,GIS系统中的每个操作对应矩阵中的一行,当调用GIS系统的这个操作,需要调用模块时,这个矩阵中的对应元素被赋为1,否则为O ;3)收集用户在GIS系统中的操作的历史记录,通过分析这些历史记录,抽取出对该用户来说在启动GIS系统时需要加载的核心模块与外围模块列表;4)把用户和启动GIS系统时需要加载的核心模块与外围模块列表建立对应关系,保存到数据库中;二、启动GIS系统时:用户启动GIS系统时,从数据库中读取和该用户对应的核心模块与外围模块列表,然后加载基本模块以及所述核心模块与外围模块列表中的所有核心模块和外围模块。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,进一步包括:三、GIS系统关闭时:当GIS系统关闭时,通过GIS系统生成LOG记录,对数据库中的记录进行更新,来更好地适应用户下次的使用需求。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,所述一个操作对应于一个核心模块或外围模块。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,所述一个操作对应于多个核心模块和/或外围模块。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,所述用户操作的历史记录,由GIS系统自动产生或者用户编写LOG记录模块产生。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,当GIS系统启动后,用户操作所涉及的核心与外围模块未加载时,GIS系统动态加载所需的核心模块与外围模块。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,所述的数据库为文本文件、桌面型数据库或关系数据库。 所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,在数据库中为每一个GIS工程文件建立一个配置文件,保存在启动该GIS工程文件时需要加载的核心模块与外围模块列表,在打开该工程时自动加载所述核心模块和外围模块,这样直接把GIS工程文件与加载模块对应,在启动该工程文件时不加载与该用户对应的核心模块和外围模块,仅加载该工程文件需要加载的核心模块和外围模块,进一步加快了加载速度。所述的基于用户使用习惯的GIS系统模块加载方法,其特征是,在该GIS工程文件进行过程中,根据对核心模块和外围模块的调用情况,动态更新其在数据库中的配置文件。本专利技术的有益效果:本专利技术能使GIS软件启动加载的速度显著加快,占用内存减少。并避免在软件使用过程中部分模块的反复加载带来的空间上和时间上的浪费。具体实施例方式1.建立用户操作和GIS系统模块的对应的二元映射关系。列出用户操作和所述模块的二维二进制矩阵{au},当某一用户操作i需要预加载第j个模块时,设置au = I,反之则为au = O。2.对模块进行分类,将软件启动必须的模块(如:控制线程调度,用户界面等功能)设定为基本模块,这部分模块在任何情况下都会被预加载。将超过一半以上的用户操作所需要的预加载的模块(表现为在上文中提到的二元关系矩阵中本模块对应的向量元素为I的数量超过向量所包含总元素个数的一半)设定为核心模块,其他的设定为外围模块。3.以工程为单位,通过历史数据计算评价指标向量并保存在配置文件中。对于核心模块,我们设定一个二进制元素组成的向量H来进行描述,H中任意元素Hi用来描述一个核心模块,当本工程使用过需要预加载某基本模块所需要的用户操作时,那么这个核心模块对应的元素为1,反之则为O。对于外围模块,则采用向量μ来衡量用户对模块的使用频率以及判断是否需要被预加载,μ中的任意一个元素为一个在ο-1之间的小数,μ j的计算方法为:使用本工程内使用第j模块的用户操作数+工程内总用户操作数(Σ μ j)。4.加载推荐。当新建一个工程的时候,使用最近修改时间离现在最近的n(n可以由用户设定,默认值为7)个工程的上述配置文件参与计算,对于核心模块的η个配置向量,进行按位或运算,所得向量中值为I的需要加载。对于外围模块的η个配置向量按照时间顺序权重依次衰减的顺序进行加权平均,得到新配置向量μ,对所得值进行排序,在导入每个模块再被预加载时所占用的内存大小数据,在占用内存不超过I (I由当全部外围模块被加载到内存当中,所占用总内存的比例所确定,初始值为1/2)可以由用户设定,默认值为1/2) (MB)的情况下,选取尽可能多的前Μ(Μ为系统生成)个作为需要预加载的模块。5.当本工程使用结束时,由用户操作数据生成基本模块配置向量存入配置文件中(生成方法见步骤3),而将由用户操作数据生成的核心模块配置向量(生成方法见步骤3),与之前得到的向量μ求平均值,将得到的值存入配置文件中。6.当打开旧有工程文件时,只读取本文件的配置文件,进行步骤4中涉及到的相关计算,求出需要预加载的模块,当本工程关闭时,利用用户操作数据来进行计算对配置文件进行更新。实施例:下面以开源软件QuantumGIS的部分加载模块为例,详述本专利技术的实施方式。我们为QuantumGIS的每个工程文件添加一个自定义的配置文件,并将这个配置文件与工程文件的读取路径进行关联,用于实现上述方法。当新建工程一个QuantumGIS工程文件(.qgs文件)时: 1.读取最后修改时间距离当前时间最近的η个工程文件中的配置文件。2.对这η个配置文件中的代表模块元素进行计算(基本模块为按位或运算,核心模块为权重依据时间衰减的加权平均运算),计算出本工程文件的本文档来自技高网...

【技术保护点】
一种基于用户使用习惯的GIS系统模块加载方法,其特征是,一、预处理阶段:1)把GIS系统的模块划分为基本模块、核心模块和外围模块三种,所述基本模块指的是GIS系统启动以及正常运行所必需的模块,所述核心模块指的是超过一半以上的用户操作所需要的预加载的模块,GIS系统的其余模块为外围模块;2)通过二进制矩阵来建立用户在GIS系统中的操作与核心模块以及与外围模块之间多对多的二元关系映射;GIS系统中的每个核心模块和外围模块对应矩阵中的一列,GIS系统中的每个操作对应矩阵中的一行,当调用GIS系统的这个操作,需要调用模块时,这个矩阵中的对应元素被赋为1,否则为0;3)收集用户在GIS系统中的操作的历史记录,通过分析这些历史记录,抽取出对该用户来说在启动GIS系统时需要加载的核心模块与外围模块列表;4)把用户和启动GIS系统时需要加载的核心模块与外围模块列表建立对应关系,保存到数据库中;二、启动GIS系统时:5)用户启动GIS系统时,从数据库中读取和该用户对应的核心模块与外围模块列表,然后加载基本模块以及所述核心模块与外围模块列表中的所有核心模块和外围模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:高勇李浩然郁浩刘磊郭潇
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1