公开/公告号CN114840518A
专利类型发明专利
公开/公告日2022-08-02
原文格式PDF
申请/专利权人 天津询达数据科技有限公司;
申请/专利号CN202110139259.4
发明设计人 不公告发明人;
申请日2021-02-02
分类号G06F16/22(2019.01);G06F16/2458(2019.01);G06F21/62(2013.01);G06F21/60(2013.01);
代理机构
代理人
地址 301899 天津市宝坻区中关村大道与西环北路交口中关村科技城展示中心262室
入库时间 2023-06-19 16:12:48
法律状态公告日
法律状态信息
法律状态
2023-06-20
发明专利申请公布后的撤回 IPC(主分类):G06F16/22 专利申请号:2021101392594 申请公布日:20220802
发明专利申请公布后的撤回
2022-08-19
实质审查的生效 IPC(主分类):G06F16/22 专利申请号:2021101392594 申请日:20210202
实质审查的生效
2022-08-02
公开
发明专利申请公布
技术领域
该领域主要属于数据库设计,主要包含时间序列这种特殊数据的存储查询。
背景技术
该数据库是基于列式SQL数据库进行开发设计的,包含的背景技术主要是SOCKET编程,客户端服务器编程等。
发明内容
该数据库管理系统的设计方法将SQL请求转变成一个对象,QueryContent, 再通过传递该对象,实现整个数据查询流程的高效传递,从而实现了数据库管理系统的功能。
该系统分为客户端和服务器,它们之间使用SOCKET进行通信,服务器这边首先接收到客户端的SQL请求,然后它会打开一个文本,从该文本中读取SQL请求的内容,然后通过分析该SQL请求的内容,生成一个对象,QueryContent, 然后将该对象作为一个参数,传递下去,直到本次查询终结。
该系统创建的数据表格包含两种,一种的普通的Table,另一种是TimeTable,其中TimeTable是专门用于存储时间序列数据的。
QueryContent作为本系统的核心参数传递者,它包含所有的查询有关的信息,一般说来,包含如下信息,string 格式的query_type, int 格式的query_type_code,string格式的config_home,一个CreateTable, 一个CreateTimeTable,一个InsertTable,一个SelectTable,一个DropTable, 一个DropTimeTable,一个DeleteTable,一个UpdateTable,一个CreateDatabase, 一个DropDatabase, 一个UseDatabase。除去string格式和int格式的,剩下的都是新的类,用于保存SQL请求参数的。其中CreateTable主要包含string格式的table_name,int格式的size, map
该数据加密主要指在存储引擎层面的加密,包含二层数据加密。
第一层加密是指,将SQL请求中的创建数据库和表格的名称进行加密,即将其进行名称到数字的转化,我们使用哈希表来存储该对应关系,举个例子,我们需要创建名称为School的数据库,在该数据库中创建名称为Students, Driver的表格,我们先建立一个数据库名称的对面关系表格,里面主要是数据库名称的对应关系,比如map[‘school’] = 1,将school对应到1, 我们将其保存下来,称之为config.dat, 同时对于该数据库,我们生成哈希表,用于存储该数据库中表格名称的对应关系,比如,map[‘students’] = 1, map[‘driver’] = 2, 我们将其保存下来,命名为Set1.dat。这样,我们形成了表格名称的对应关系,students对应到1, driver对应到2,这样,我们有了第一层的加密,将数据库名称和表格名称转化成数字。我们将对应表格的数据文件保存为数据库序列+表格序列的形式,比如,该例子中school数据库中students表格中的数据信息,保存形式为Set1_dat_1_data.dat,其中Set1代表school数据库,dat_1代表students表格。对于时间表格,我们支持按一定时间间隔进行存储,比如,按天进行分段存储,我们有一个hashmap,该哈希表存储不同的时间戳及其对应的序列,比如map[‘2021-02-01’] = 1, map[‘2021-02-02’] = 2, 代表这两个时间段的数据分别存在不同的数据中,比如,该例子中school数据库中students表格中2021-02-01时间段的数据信息,保存形式为Set1_dat_1_1_data.dat,其中Set1代表school数据库,dat_1代表students表格,dat_1_1代表2021-02-01这天的数据。
第二层加密是指,将存储的数据文本进行加密,当我们创建了数据库,生成了表格的数据文件,数据文件分为类型文件和数据文件,我们对这两类文件都进行加密,使之明文不可见。具体的加密算法可以有不同的算法,只要使之明文不可见就行了。举个例子,我们将所有的数据文件进行按字母读取,然后对每个读取的字节加1,这样,然后生成新的数据文件,新的数据文件明文看不懂,旧的数据文件删除,从而达到数据文件保密的目的。
有了加密,也有对应的解密过程,对于第一层的加密,当服务器有需要读取相关数据库的数据或者相关数据表格的数据的读取修改的需求时,服务器先调用相关的哈希表,通过输入相关的数据库的名称和表格的名称,来找到相对应的数字,从而读取到相应的数据文件,比如,服务器要查找school里面所有的表格名称,先从config.dat中读取整个哈希表,输入school的名称,得到1,这样服务器就能知道去 Set1.dat查找相关的信息,类似的,如果要找students中的相关信息,则先从Set1.dat中读取整个哈希表,输入students的名称,得到1,这样,服务器就知道去Set1_dat_1_data.dat中读取相关的数据,然后对其进行操作,比如读取 ,删除等。如果要都时间戳中的数据,从Set1_dat_1.dat中读取哈希表,得到相关的时间戳,比如2020-02-01是时间戳为1,服务器就知道去Set1_dat_1_1_data.dat中读取相应的数据。
该列式SQL数据库主要说明数据存储查询的方法,相对于行式样存储,本系统是列式,比如,行式数据存储为,第一行,“1,tom1,”,第二行,”2 , tom2”等。在列式存储中为第一行,”1,2”, 第二行,“tom1, tom2”,相对应的,在读取的时候,会根据情况进行变化,列式的在读取完一行之后,根据SQL查找信息,找到相关信息,比如第一行的第二个,等等。
机译: 基于内存数据库的时间序列数据管理系统
机译: 用于在网络上传输与珠宝有关的信息的方法和系统,更具体地,涉及用于为了创建,设计,共享,查看和/或购买珠宝而通过网络操纵和布置代表珠宝组件的图像的方法和系统。定制珠宝设计;以及通过网络和/或通过使用移动设备或信息亭使用内容管理系统,数据库和电子商务技术为定制珠宝设计管理图像的方法和系统
机译: 一种基于文件的标准化数据库访问,企业Java Bean和内容管理系统的方法