一种基于DSS框架的数据库子系统设计方法与流程

文档序号:12465068阅读:来源:国知局

技术特征:

1.一种基于DSS框架的数据库子系统设计方法,其特征在于,包括以下步骤:

步骤1、在DSS组件结构中设计数据库任务线程类继承自DSS系统线程类、设计数据库任务类继承自DSS任务类;该数据库任务线程类作为数据库线程组件用于以一条独立且唯一的线程负责推送数据库任务,且该条线程负责维护一个任务堆,这个任务堆将最近时间片任务弹出送往实际工作线程;该数据库任务类用于在DSS服务器启动的时候调用静态初始化函数启动数据库任务线程类中的线程,还用于调用数据库任务类线程接口执行数据库任务的插入数据库任务线程类中优先队列的操作以及用于维护任务的各种属性和操作函数,所述数据库任务线程类和数据库任务类互为友元类;

步骤2、在DSS子系统结构中设计数据库子系统类以及子系统执行接口类;该数据库子系统类子系统类首先是作为一个容器继承自数据库接口类,负责各种数据库任务相关检查以及最重要的运行函数,该运行函数用于执行实际的数据库操作并且将执行结果存放在DSS数据系统中的数据库子系统数据字典中,为真正的重要执行函数;该数据库接口负责执行数据库初始化工作以及全局数据字典的初始化;

步骤3、在DSS框架的Private.h文件中的回调函数结构中增加数据库操作的回调函数定义;

在Callbacks.h文件中增加数据库操作函数声明,同时在Callbacks.cpp文件中增加声明函数;

在QTSS.h中引用数据库操作函数的声明;

在qtsserver.cpp中的初始化回调函数中完成对数据库操作函数的函数指针赋值;完成由DSS框架内部到DSS框架外部插件的API接口设计。

2.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:所述步骤1中,在DSS组件结构中的通用工具类库中设计数据库任务线程类继承自DSS系统线程类、设计数据库任务类继承自DSS框架的任务类,数据库任务线程类作为数据库线程组件,是DSS框架中唯一运行的数据库任务推动线程,也是构成数据库子系统的基础组件。

3.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:所述数据库任务线程类包括一个堆数据结构的成员变量,即优先队列,这个优先队列是由一完全二叉树构造而成,该完全二叉树的父节点始终大于或者小于左右子节点,这个优先队列用于将时间片最近的数据库任务推往树根节点,同时也包括对于堆变量进行抢占保护的堆互斥量以及驱动堆变量工作的堆信号量。

4.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:所述数据库任务线程类包括一个入口函数,该函数用于判断是否存在任务元素,当任务堆长度是否大于0时存在任务元素,如果已经存在任务元素,则入口函数再判断当前任务元素中的时间片是否已经到达超时,如果当前任务的时间片已经超时则将当前任务发送到DSS框架中的任务线程中进行实际运行数据库任务;

所述数据库任务线程类还包括一个执行数据库语句函数,该执行数据库语句函数用于将数据库任务指针推进堆变量,同时增加长度,驱动任务线程类的入口函数进行工作。

5.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:所述数据库任务类包括一个静态初始化函数和封装了数据库任务线程类中真正执行函数的执行数据库语句函数,该静态初始化函数在系统启动过程中系统初始化函数时被调用,调用该静态初始化函数时数据库任务推送线程开始运行;

该执行数据库语句函数作为数据库的API接口基础,在API将提供给DSS框架的外部插件使用时调用。

6.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:所述数据库任务类包括堆成员类,堆成员类作为数据库任务类的成员变量,也作为数据库任务线程类这个友元类的成员变量,堆成员变量具有保存任务指针的变量以及当前任务时间片的超时时间;

所述数据库任务类还包括数据库任务事件枚举结构,在任务事件枚举结构中定义当数据库任务实际被送入DSS工作线程运行时需要执行的事件定义。

7.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:数据库接口包括一个静态初始化函数,该静态初始化函数在数据库子系统正式启动之前预先调用,负责对数据库子系统的相关数据进行全局数据字典的开辟,这些数据字典将在DSS框架内部和外部插件进行交互使用。

8.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:所述步骤2中,在DSS子系统结构的Server.tproj结构中设计数据库子系统类,这个类继承自数据库接口以及DSS框架中的变长字符串格式化类,数据库类将作为真正的任务载体送入DSS框架的工作线程中运行;

所述步骤3之后还包括步骤4:在DSS子系统结构的Server.tproj结构中设计数据库子系统的接口类,该接口类继承自字典类以及数据库任务类,其中字典类为DSS框架中的数据字典类,这该接口类用于提供执行数据库方式的数据库操作中的各种操作接口,还用于保存数据库中各个属性参数的值,以及用于保存着数据库任务执行之后的返回结果集。

9.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:数据库包括一个静态初始化函数、一个真正任务执行函数以及运行函数,该静态初始化函数进行任务的辅助信息初始化;该真正任务执行函数在DSS框架工作线程中将被提取出来执行;该运行函数执行数据库方式下的数据库操作,数据库操作为:首先获取SQL语句,然后送入数据库语句执行函数中,接着获取执行结果集计数以及最后结果存放进数据库接口中的数据字典变量;

对于数据库运行函数的结果集使用DSS框架中可变长度的字符串格式化类,这个类在构造函数的时候将会开辟预定于大小的空间用于存放结果集,如果结果集大于预定于大小的空间会自动开辟2倍原大小的空间。

10.如权利要求1所述的一种基于DSS框架的数据库子系统设计方法,其特征在于:对于数据库操作函数:执行数据库语句内部实现中使用数据库对象指向实际执行数据库语句的参数默认为0,也即另数据库任务需要从堆中立即被推进实际工作线程,同时回到调用模块中,数据库的API一旦调用就要使用返回一个以毫秒为单位的数值进行中断当前任务模块。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1