一种二层加密的面向对象的图数据库管理系统的设计方法技术方案

技术编号:34827242 阅读:15 留言:0更新日期:2022-09-08 07:18
本发明专利技术提出了一种二次加密的,面向对象的图数据库管理系统的设计方法,该方法能够将图数据库及文件进行二次加密,达到保密的效果,同时将所有的参数保存到一个对象querycontent中,进行传递,实现整个流程的数据传递,同时该系统是支持sparql查询的。同时该系统是支持sparql查询的。

【技术实现步骤摘要】
一种二层加密的面向对象的图数据库管理系统的设计方法


[0001]本专利技术提出了一种二层加密的面向对象的图数据库管理系统的设计方法,该方法将来自客户端的请求转化成一个对象,通过该对象实现了图数据的存储,查询删除等。同时该方法对数据进行了加密,有效的保护了数据。

技术介绍

[0002]Socket编程技术,对象编程技术,加密技术。

技术实现思路

[0003]目前市面上已经存在一些图数据库管理系统,但是编程的方法都比较古老,本专利技术提出了一种面向对象的,能够对数据进行二次加密的,图数据库管理系统的设计方法。通过该方法,能够将客户端请求转变成一个对象,QueryContent, 再通过传递该对象,实现整个数据查询流程的高效传递,从而实现了数据库管理系统的功能。
[0004]该系统分为客户端和服务器,它们之间使用SOCKET进行通信,服务器这边首先接收到客户端的请求,然后它会打开一个文本,从该文本中读取请求的内容,然后通过分析该请求的内容,生成一个对象,QueryContent, 然后将该对象作为一个参数,传递下去,直到本次查询终结。
[0005]QueryContent作为本系统的核心参数传递者,它包含所有的查询有关的信息,一般说来,包含如下信息,string 格式的dataset_name, filename, sparql_str,其中dataset_name主要包含string格式的需要查询的数据库的名称,filename主要是需要查询的图文件的名称,sparql_str是分析好的sparql查询语句。一次请求语句的分析,可以将该QueryContent的相关参数填满。
[0006]该数据加密主要指在存储引擎层面的加密,包含两层数据加密,第一层加密是指,将请求中的创建数据库和图文件的名称进行加密,即将其进行名称到数字的转化,使用哈希表来存储该对应关系,举个例子,需要创建名称为School的数据库,在该数据库中创建名称为test1.xml, test2.xml的图文件,先建立一个数据库名称的对应关系哈希表,里面主要是数据库名称的对应关系,比如map[

school

] = 1, 将school对应到1, 将其保存下来,称之为config.dat, 同时对于该数据库,生成哈希表,用于存储该数据库中表格名称的对应关系,比如,map[

test1.xml

] = 1, map[

test2.xml

] = 2, 将其保存下来,命名为Set1.dat。这样,形成了表格名称的对应关系,test1.xml对应到1, test2.xml对应到2,这样,有了第一层的加密,将数据库名称和图文件的名称转化成数字。将对应表格的数据文件保存为数据库序列+图文件序列的形式,比如,该例子中school数据库中test1.xml图文件中的数据信息,保存形式为Set1_dat_1_data.dat,其中Set1代表school数据库,dat_1代表test1.xml表格。
[0007]第二层加密是指,将存储的数据文本进行加密,当创建了图数据库,生成了图文件的数据文件,对这数据文件都进行加密,使之明文不可见。具体的加密算法可以有不同的算
法,只要使之明文不可见就行了。举个例子,将所有的数据文件进行按字母读取,然后对每个读取的字节加1,这样,然后生成新的数据文件,新的数据文件明文看不懂,旧的数据文件删除,从而达到数据文件保密的目的。
[0008]有了加密,也有对应的解密过程,对于第一层的加密,当服务器有需要读取相关数据库的数据或者相关数据表格的数据的读取修改的需求时,服务器先调用相关的哈希表,通过输入相关的数据库的名称和图文件的名称,来找到相对应的数字,从而读取到相应的数据文件,比如,服务器要查找school里面所有的表格名称,先从config.dat中读取整个哈希表,输入school的名称,得到1,这样服务器就能知道去 Set1.dat查找相关的信息,类似的,如果要找test1.xml中的相关信息,则先从Set1.dat中读取整个哈希表,输入test1.xml的名称,得到1,这样,服务器就知道去Set1_dat_1_data.dat中读取相关的数据,然后对其进行操作,比如读取 ,删除等。
[0009] 该图数据库主要采用sparql查询的方法,查询中需要指定数据库的名称和指定图文件的名称,比如, PREFIX foaf:http://xmlns.com/foaf/0.1 SELECT 问号name FROM(“test1@test1graph.xml”) WHERE (问号s foaf:name问号name),其中问号表示英文问号,专利申请中无法打印问号,只能写中文,该查询语句中指定数据库和图文件的部分为FROM(“test1@test1graph.xml”),其中test1是图数据库的名称,test1graph.xml是图文件的名称,也可以对此进行拓展,比如,仅包含图数据库的名称FROMDB(“test1”),或者其他拓展,比如包含多个图文件,或者多个数据库,依次类推。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.目前市面上已经存在一些图数据库管理系统,但是编程的方法都比较古老,本发明提出了一种面向对象的,能够对数据进行二次加密的,图数据库管理系统的设计方法,通过该方法,能够将客户端请求转变成一个对象,QueryContent, 再通过传递该对象,实现整个数据查询流程的高效传递,从而实现了数据库管理系统的功能”,“该系统分为客户端和服务器,它们之间使用SOCKET进行通信,服务器这边首先接收到客户端的请求,然后它会打开一个文本,从该文本中读取请求的内容,然后通过分析该请求的内容,生成一个对象,QueryContent, 然后将该对象作为一个参数,传递下去,直到本次查询终结”,“QueryContent作为本系统的核心参数传递者,它包含所有的查询有关的信息,一般说来,包含如下信息,string 格式的dataset_name, filename, sparql_str,其中dataset_name主要包含string格式的需要查询的数据库的名称,filename主要是需要查询的图文件的名称,sparql_str是分析好的sparql查询语句,一次请求语句的分析,可以将该QueryContent的相关参数填满。2.该数据加密主要指在存储引擎层面的加密,包含两层数据加密,第一层加密是指,将请求中的创建数据库和图文件的名称进行加密,即将其进行名称到数字的转化,使用哈希表来存储该对应关系,举个例子,需要创建名称为School的数据库,在该数据库中创建名称为test1.xml, test2.xml的图文件,先建立一个数据库名称的对应关系哈希表,里面主要是数据库名称的对应关系,比如map[

school

] = 1, 将school对应到1, 将其保存下来,称之为config.dat, 同时对于该数据库,生成哈希表,用于存储该数据库中表格名称的对应关系,比如,map[

test1.xml

] = 1, map[

test2.xml

] = 2, 将其保存下来,命名为Set1.dat,这样,形成了表格名称的对应关系,test1.xml对应到1, test2.xml对应到2,这样,有了第一层的加密,将数据库名称和图文件的...

【专利技术属性】
技术研发人员:ꢀ五一IntClG零六F一六五一
申请(专利权)人:天津询达数据科技有限公司
类型:发明
国别省市:

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

1