An object oriented SQLite fast loading technology based on power information acquisition terminal, including electricity information data interface, command interface, power module, information storage module, dynamic memory allocation accelerating chain storage module, and the corresponding memory load control module. By adding the accelerating chain storage module, and the memory load control method, a new combined loading sequence appeared when updating the corresponding acceleration acceleration of chain store in the chain storage module; in the loading process, through the inquiry of the accelerating chain accelerating chain in the storage module and the corresponding, to decide loading sequence. As the master station requests data, according to its work needs, the loading order of data has a certain regularity. The invention can update the order rule of the master station in the process of requesting data by updating the acceleration chain storage module. Thereby, the hit rate of the data loaded by the memory is increased, and the data transmission efficiency of the electric information collecting terminal is improved.
【技术实现步骤摘要】
一种基于SQLite快速加载技术的面向对象用电信息采集终端
本专利技术涉及用电信息采集技术,尤其涉及一种能够实现快速加载的用电信息采集终端。
技术介绍
SQLite数据库至一种基于关系类型设计的文件数据库。其设计目的主要针对嵌入式开发,提供一种运行空间小、占用资源低且安装配置简单的数据调用存储方式。与现有用电信息采集系统中的数据库不同,SQLite数据库与个人用户开发的应用程序并不工作于同一种客户端与服务器的交互模式。SQLite数据库通过操作引擎,以动态数据库的形式将数据连接到个人应用程序中。因此,数据库文件与用户应用程序之间的数据通信是在编程语言内直接调用API实现的。然而,这种工作方式,在数据库文件较大、数据量存储较多的情况下,数据加载需要消耗大量时间。尤其,由于用电信息采集网络中每个节点都需要采集大量数据,这种数据库读取方式显然并不适用。为克服上述缺陷,现有的技术要么通过硬件方式,即选择大容量内存,把所有用到的数据都提前加载到内存中,来加快终端运行速度。这样做效率最高,但同时带来高成本。要么通过静态加载,只加载静态的数据到内存。静态加载中,只能加载默认设置的数据,没有设置的数据将永远不会加载。这样的加载效果过于死板,尤其实际用电信息采集现场情况千差万别,不同时期数据需求不尽相同。静态加载技术明显不能满足各种现场的运行环境。针对以上两方案中硬件成本与加载效率的矛盾,如何在不增加硬件成本的情况下,实现动态的预测(预加载)将要加载的数据显得尤为重要。尤其,考虑到用电信息采集现场数据需求不断变化,如何实现随着使用状况的改变,及时改变加载策略,提高增加预测的 ...
【技术保护点】
一种基于SQLite数据库的用电信息快速加载方法,其特征在于,步骤包括:第一步,初始化:按照默认加速链的顺序,依次将相应数据加载至可动态分配内存模块;然后跳转至第二步;第二步,响应数据加载请求:当接收到数据加载请求后,首先,判断所请求的数据是否已加载至可动态分配内存模块:若已加载,则从所述可动态分配内存模块输出所请求的数据;否则,查询用电信息存储模块,输出所请求的数据;然后,记录所述第二步中输出的数据以及上一次输出的数据,形成加速链节点指针;其中,所述加速链节点指针的起点为所述上一次输出的数据,指向所述第二步中输出的数据;第三步,更新加速链:查询加速链存储模块,判断是否存在与所述第二步中相同的加速链节点指针,若存在,则将所述加速链节点指针所对应的加载次数加1;否则,存储所述第二步中的加速链节点指针,并将所述加速链节点指针所对应是加载次数设为1;然后跳转至第四步;第四步,加载新数据:查询所述加速链存储模块,查找以所述第二步中输出的数据为起点,加载次数最多的加速链节点指针,将所述加速链节点指针所指向的数据加载至所述可动态分配内存模块;当接收到新的数据加载请求时,跳转至第二步;否则,结束。
【技术特征摘要】
1.一种基于SQLite数据库的用电信息快速加载方法,其特征在于,步骤包括:第一步,初始化:按照默认加速链的顺序,依次将相应数据加载至可动态分配内存模块;然后跳转至第二步;第二步,响应数据加载请求:当接收到数据加载请求后,首先,判断所请求的数据是否已加载至可动态分配内存模块:若已加载,则从所述可动态分配内存模块输出所请求的数据;否则,查询用电信息存储模块,输出所请求的数据;然后,记录所述第二步中输出的数据以及上一次输出的数据,形成加速链节点指针;其中,所述加速链节点指针的起点为所述上一次输出的数据,指向所述第二步中输出的数据;第三步,更新加速链:查询加速链存储模块,判断是否存在与所述第二步中相同的加速链节点指针,若存在,则将所述加速链节点指针所对应的加载次数加1;否则,存储所述第二步中的加速链节点指针,并将所述加速链节点指针所对应是加载次数设为1;然后跳转至第四步;第四步,加载新数据:查询所述加速链存储模块,查找以所述第二步中输出的数据为起点,加载次数最多的加速链节点指针,将所述加速链节点指针所指向的数据加载至所述可动态分配内存模块;当接收到新的数据加载请求时,跳转至第二步;否则,结束。2.如权利要求1所述的基于SQLite数据库的用电信息快速加载方法,其特征在于,所述第二步中,输出所请求的数据之后,还包括判断并响应重复加载请求的步骤:若下一加载请求与本次加载请求相同,则保留将本次输出的数据保存至所述可动态分配内存模块中;否则,删除所述可动态分配内存模块中本次输出的数据。3.如权利要求2所述的基于SQLite数据库的用电信息快速加载方法,其特征在于,所述第三步中,还包括控制加速链节点分支数的步骤:步骤301,在存储所述第二步中的加速链节点指针之前,先查询与所述第二步中的加速链节点指针具有相同起点的加速链节点指针的数量,若所述加速链中具有相同起点的加速链节点指针的数量超过加速链节点分支数N,则跳转至步骤302;否则直接存储所述第二步中的加速链节点指针;步骤302,删除与所述第二步中的加速链节点指针具有相同起点的、更新时间最远的加速链节点指针,然后存储所述第二步中的加速链节点指针;其中,加速链节点分支数N为正整数。4.如权利要求1至3任一所述的基于SQLite数据库的用电信息快速加载方法,其特征在于,所述第四步中,将所述加速链节点指针所指向的数据加载至所述可动态分配内存模块之前,还包括如下步骤:步骤401,判断所述加速链节点指针所指向的数据是否能够加载至所述可动态分配内存模块,若能,则加载所述加速链节点指针所指向的数据,否则跳转至步骤202;步骤402,查找以所述...
【专利技术属性】
技术研发人员:张翔,侯海涛,孙启龙,
申请(专利权)人:光一科技股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。