一种可记录增删改操作的数据库系统及实现方法与流程

文档序号:24719547发布日期:2021-04-16 14:51阅读:111来源:国知局
一种可记录增删改操作的数据库系统及实现方法与流程

1.本发明涉及数据库领域,特别涉及一种可记录增删改操作的数据库系统及实现方法。


背景技术:

2.目前比较流行的数据库有mysql、oracle、rocksdb等,这些数据库均是中心化的数据库,运营机构拥有数据的所有权限,可以随时做增删改操作,而不为用户所知。


技术实现要素:

3.本发明实施例提供的一种可记录增删改操作的数据库系统及实现方法,至少解决mysql、oracle、rocksdb等数据库存在的数据篡改而不为用户所知的问题。
4.本发明实施例提供了一种可记录增删改操作的数据库系统的实现方法,所述方法包括:将数据库接入许可链,形成数据库系统;在收到所述数据库系统的参与方的数据库增删改操作请求后,所述数据库系统对所述数据库增删改操作请求进行共识;所述数据库系统在所述数据库增删改操作请求通过共识后,按照所述数据库增删改操作请求,对所述数据库进行增删改操作。
5.优选地,所述方法还包括:在将数据库接入许可链,形成数据库系统前,构建包括多个共识节点的许可链。
6.优选地,所述方法还包括:在形成数据库系统后,在所述许可链上为所述数据库系统的每个参与方创建参与方身份以及参与方权限。
7.优选地,所述方法还包括:在收到所述数据库系统的参与方的数据库增删改操作请求时,所述数据库系统根据所述参与方身份,对发出所述数据库增删改操作请求的参与方进行签名认证。
8.优选地,所述方法还包括:在对发出所述数据库增删改操作请求的参与方进行签名认证后,根据所述参与方权限,确定所述发出所述数据库增删改操作请求的参与方是否具有数据库增删改操作权限。
9.本发明实施例还提供了一种可记录增删改操作的数据库系统,所述系统包括数据库和许可链,其中,所述数据库接入所述许可链形成数据库系统,所述许可链在收到所述数据库系统的参与方的数据库增删改操作请求后,对所述数据库增删改操作请求进行共识,并在所述数据库增删改操作请求通过共识后,按照所述数据库增删改操作请求,对所述数据库进行增删改操作。
10.优选地,所述系统还包括:构建模块,用于在将数据库接入许可链,形成数据库系统前,构建包括多个共识节点的许可链。
11.优选地,所述构建模块,还用于在形成数据库系统后,在所述许可链上为所述数据库系统的每个参与方创建参与方身份以及参与方权限。
12.优选地,所述许可链,还用于在收到所述数据库系统的参与方的数据库增删改操
作请求时,根据所述参与方身份,对发出所述数据库增删改操作请求的参与方进行签名认证。
13.优选地,所述许可链,还用于在对发出所述数据库增删改操作请求的参与方进行签名认证后,根据所述参与方权限,确定所述发出所述数据库增删改操作请求的参与方是否具有数据库增删改操作权限。
14.本发明实施例将数据库接入许可链以形成数据库系统,在收到参与方的数据库增删改操作请求后,对所述数据库增删改操作请求进行共识,通过共识后,对所述数据库进行增删改操作,可以兼容传统的数据库,并基于许可链实现对数据库数据的可信协作,克服已有技术可随时对数据库数据进行增删改操作而不为用户所述的问题。
附图说明
15.图1是本发明实施例提供的一种可记录增删改操作的数据库系统的实现方法的示意性流程图;
16.图2是本发明实施例提供的一种可记录增删改操作的数据库系统的结构示意图;
17.图3是本发明实施例提供的数据库系统的架构图;
18.图4是本发明实施例提供的参与方申请加入数据库系统的工作流程图。
具体实施方式
19.以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
20.图1是本发明实施例提供的一种可记录增删改操作的数据库系统的实现方法的示意性流程图,如图1所示,所述方法可以包括:
21.步骤s101:将数据库接入许可链,形成数据库系统。
22.所述数据库可以是mysql、oracle、rocksdb等数据库。
23.在所述步骤s101前,所述方法还可以包括:在将数据库接入许可链,形成数据库系统前,构建包括多个共识节点的许可链。
24.步骤s102:在收到所述数据库系统的参与方的数据库增删改操作请求后,所述数据库系统对所述数据库增改删操作请求进行共识。
25.所述数据库系统对所述数据库增删改操作请求进行共识,具体指所述许可链对所述数据库增删改操作请求进行共识,可以采用已有的共识算法,例如工作量证明(pow)、实用拜占庭容错算法(pbft)等,经过许可链共识后的操作,不管是正确的还是错误的,都会被许可链记录下来,且相关方可以全链路查询。
26.步骤s103:所述数据库系统在所述数据库增删改操作请求通过共识后,按照所述数据库增删改操作请求,对所述数据库进行增删改操作。
27.本实施例的方法可以兼容传统的数据库,参与方基于许可链做出的对数据库数据的任何增删改操作经过许可链共识后,均可以被许可链记录以供查询,克服了已有技术可随时对数据库数据进行增删改操作而不为用户所述的问题。
28.进一步地,在所述步骤s101后,所述方法还包括:在所述许可链上为所述数据库系统的每个参与方创建参与方身份。这样,在收到所述数据库系统的参与方的数据库增删改
操作请求时,所述数据库系统可以根据所述参与方身份,对发出所述数据库增删改操作请求的参与方进行签名认证,具体地,可以采用已有的签名验签技术进行认证。
29.本实施例的方法通过对发出所述数据库增删改操作请求的参与方进行签名认证,能够提高用户认证强度。
30.进一步地,在所述步骤s101后,所述方法还包括:在所述许可链上为所述数据库系统的每个参与方设置参与方权限。这样,在对发出所述数据库增删改操作请求的参与方进行签名认证后,还可以根据所述参与方权限,确定所述发出所述数据库增删改操作请求的参与方是否具有数据库增删改操作权限,并在参与方具有数据库增删改操作权限时,执行实施步骤s103。
31.本实施例可以为不同参与方设置不同权限,例如权限较高的参与方可以创建、删除、查询数据库、表格等,权限较低的参与方可以查询数据库、表格、表格数据,权限级别设置并不局限于较高和较低两种,可以根据实际情况,设置多个级别。
32.相应地,本发明实施例还提供了一种可记录增删改操作的数据库系统,如图2所示的结构示意图,所述系统可以包括数据库和许可链,其中,所述数据库接入所述许可链形成数据库系统,所述许可链在收到所述数据库系统的参与方的数据库增删改操作请求后,对所述数据库增删改操作请求进行共识,并在所述数据库增删改操作请求通过共识后,按照所述数据库增删改操作请求,对所述数据库进行增删改操作。
33.其中,所述数据库可以是mysql、oracle、rocksdb等数据库。
34.其中,所述许可链可以采用已有的共识算法,例如工作量证明(pow)、实用拜占庭容错算法(pbft)等,对所述数据库增删改操作请求进行共识,经过许可链共识后的操作,不管是正确的还是错误的,都会被许可链记录下来,且相关方可以全链路查询。
35.本实施例的系统可以兼容传统的数据库,参与方基于许可链做出的对数据库数据的任何增删改操作经过许可链共识后,均可以被许可链记录以供查询,克服了已有技术可随时对数据库数据进行增删改操作而不为用户所述的问题。
36.进一步地,所述系统还可以包括:构建模块,用于在将数据库接入许可链,形成数据库系统前,构建包括多个共识节点的许可链。
37.进一步地,所述构建模块,还用于在形成数据库系统后,在所述许可链上为所述数据库系统的每个参与方创建参与方身份以及参与方权限。这样,所述许可链可以在收到所述数据库系统的参与方的数据库增删改操作请求时,根据所述参与方身份,对发出所述数据库增删改操作请求的参与方进行签名认证,例如采用已有的签名验签技术进行认证。
38.本实施例的系统通过对发出所述数据库增删改操作请求的参与方进行签名认证,能够提高用户认证强度。
39.进一步地,所述构建模块,还用于在形成数据库系统后,在所述许可链上为所述数据库系统的每个参与方设置参与方权限。这样,所述许可链还可以在对发出所述数据库增删改操作请求的参与方进行签名认证后,根据所述参与方权限,确定所述发出所述数据库增删改操作请求的参与方是否具有数据库增删改操作权限,并在参与方具有数据库增删改操作权限时,对所述数据库进行增删改操作。
40.本实施例的构建模块可以设置在作为运营机构的参与方,其可以为不同参与方设置不同权限,例如权限较高的参与方可以创建、删除、查询数据库、表格等,权限较低的参与
方可以查询数据库、表格、表格数据,权限级别设置并不局限于较高和较低两种,可以根据实际情况,设置多个级别。
41.下面通过图3和图4进行详细说明。
42.图3是本发明实施例提供的数据库系统的架构图,如图3所示,
43.许可链是参与方共同维护的一种联盟区块链,有严格的准入机制,其特点是任何参与方对数据的增删改操作,都要经过共识,都被记录下来,如果一方修改另一方数据,参与方能第一时间感知到。基于许可链以上特性,本发明在许可链上构建了一套数据库系统,支持数据库的创建、删除、查询,表格的创建、删除、查询,表格数据的插入、删除、更新、查询。
44.其中,所述许可链的共识节点有一个或多个,以共识节点f1.1为例,其能够接收各参与方提供的交易,存储交易、执行交易、转发交易。
45.针对某个应用场景,由某一个机构发起,联合该场景下的若干参与方,选举一个运营机构,由该机构搭建前述许可链,并承担后期参与方的身份申请和退出、权限授予和撤销、业务系统搭建、系统维护和管理以及纠纷处理等工作。如图3所示的许可链的参与方有多个,其中某一参与方f1.2拥有特殊角色,其可接收其他参与方的身份申请,在许可链上为其创建身份,并授予一定的权限。
46.本实施例通过基于许可链的数据库系统,其可记录对数据库的增删改操作,从而解决运营机构可随意增删改数据库中的数据而不为用户所知的问题。
47.以对数据库进行写操作为例,目前比较流行的数据库mysql、oracle、rocksdb的写操作主体流程如下:1、用户认证,使用用户名和密码进行认证;2、词法分析、语法分析和语义分析;3、直接执行写操作。采用图3所示的数据库系统后,数据库mysql、oracle、rocksdb的写操作主体流程如下:1、用户认证,使用签名验签技术进行认证,强度很高;2、词法分析、语法分析和语义分析;3、写操作通过共识后,才能最终写到数据库中。可见,本实施例通过许可链对写操作进行共识,可以在许可链上记录该写操作,另外,在用户认证阶段,通过采用签名验签技术,提高了用户认证强度,解决了已有技术认证强度不够的问题。
48.图4是本发明实施例提供的参与方申请加入数据库系统的工作流程图,如图4所示,包括以下步骤:
49.步骤s401:运营机构搭建许可链。
50.步骤s402:参与方提出加入许可链的申请。
51.步骤s403:运营机构在链上创建参与方身份。
52.步骤s404:运营机构授权参与方相关权限,如:数据库创建的权限、表格创建的权限等。
53.步骤s405:参与方可自行配置监听链上相关操作的类型。
54.本实施例的兼容传统数据库,参与方(或数据的拥有方)接入门槛低,其可以像操作传统数据库一样操作自己的数据,且能保证自己的数据不被其他人任意篡改,同时保证数据的动态感知,实现数据的可信协作。
55.尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1