一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种钻完井数据库细粒度权限管理系统及方法与流程

2022-11-19 08:34:41 来源:中国专利 TAG:


1.本发明涉及石油技术领域,特别涉及一种钻完井数据库细粒度权限管理系统。


背景技术:

2.钻完井作业数据库或者钻完井工程数据库等钻完井领域使用的数据库系统,其采用的数据库管理系统包含本地数据库和网络数据库两部分。本地数据库多采用access;网络数据库多采用mysql、oracle或sql server等。受限于钻完井作业现场的网络环境,用户在填报数据时一般流程如下:先在客户端使用网络数据库的账户密码登录到网络数据库;导出网络数据库的数据文件;导入本地数据库;使用本地数据库填写修改数据;最终通过导出数据文件或其他上传方式将数据同步至网络数据库中。
3.钻完井数据库系统采用了多种数据库管理系统管理同一组数据,而各数据库管理系统权限管理能力不同,由此产生木桶效应,导致钻完井数据库系统权限管理能力取决于权限管理能力最低的数据库管理系统,即本地数据库的权限管理能力。因此目前钻完井数据库系统权限管理能力只能做到对数据库级的权限管理。
4.在实际使用过程中,钻完井数据库系统的填报是由多用户协同完成的。比如:数据库系统需要钻井工程技术人员填报钻井数据,需要完井工程技术人员填报完井数据。而数据库是基于井为对象建立的,完井数据本身也依赖钻井数据,因此钻井和完井数据被设计在同一个数据库中,甚至在同一个数据表中。这样在实际填报过程中就存在填报冲突的问题。比如完井工程技术人员误操作修改了钻井数据,或者钻井工程技术人员在补充数据时误修改完井数据的情况。
5.另外,实际使用过程中也存在数据访问权限不能精细化管理的问题。比如某技术人员需要查询某口井的钻完井液数据,但就目前的技术方案只能对数据库级的访问权限进行控制,一旦授权不但能访问本井钻完井液数据,还能访问本井其他数据以及其他井的全部数据。为了数据保密,目前只能人工控制,即由授权人员查询数据后再反馈给该技术人员。


技术实现要素:

6.本发明的目的在于提供一种钻完井数据库细粒度权限管理系统,其设有本地数据库加解密模块和行为权限管理模块,不依赖数据库自身的权限管理模式,通过本地数据库加解密模块对本地数据库进行加解密,实现数据访问权限的精细化控制。
7.本发明还有一个目的在于提供一种钻完井数据库细粒度权限管理方法,通过对本地数据库加密和对用户进行行为权限管理,实现对钻完井数据库的细粒度权限管理。
8.为实现上述目的,本发明采用如下技术方案,包括:客户端和服务端;
9.所述客户端包括;
10.主程序,用于加载和调用客户端内的各个模块;
11.本地数据库加解密模块,用于加密本地数据库和解密本地数据库;
12.客户端用户身份验证模块,用于在登录时验证用户身份;
13.数据库连接模块,用于连接数据库,并提供访问、操作网络数据库和本地数据库的数据接口;
14.行为权限管理模块,用于对用户行为进行管理;
15.用户界面模块,用于提供用户界面,包括用户登录界面、数据展示界面及操作界面;
16.客户端更新模块,用于更新客户端的各模块,以及用户行为权限的更新;
17.所述服务端包括;
18.网络数据库模块,用于提供网络数据库及网络数据库管理系统;
19.客户端管理模块,用于管理客户端应用,管理客户端用户,管理客户端用户行为权限。
20.进一步地,在所述行为权限管理模块内设置有用户行为权限表,用于通过读取所述用户行为权限表来获得用户对应的行为权限。
21.进一步地,所述客户端管理模块的功能包括新建用户、删除用户、配置用户身份验证信息和生成用户身份配置文件;所述客户端管理模块负责管理所述用户行为权限表,包括在所述用户行为权限表内添加用户行为权限、修改用户行为权限、删除用户行为权限,并负责导出所述用户行为权限表;所述客户端管理模块,负责生成加密的包含本地数据库及网络数据库地址、账户和密码的客户端配置文件,并负责导出数据库配置文件。
22.进一步地,所述客户端管理模块,负责生成客户端升级文件,提供在线升级服务,用于实现客户端的升级。
23.一种钻完井数据库细粒度权限管理方法,其特征在于,应用于上述任一项所述钻完井数据库细粒度权限管理系统,包括如下步骤:
24.s1、在客户端内设置主程序、本地数据库加解密模块、客户端用户身份验证模块、数据库连接模块、行为权限管理模块、用户界面模块和客户端更新模块;
25.s2、通过本地数据库加解密模块提供加密存储的本地数据库;
26.s3、不授予客户端用户本地数据库和网络数据库的账户密码,通过客户端用户身份验证模块对客户端用户身份进行独立验证,实现客户端用户与数据库账户脱钩;
27.s4、通过数据库连接模块访问网络数据库和加密存储的本地数据库;网络数据库地址、账户及密码内置加密存储在数据库连接模块中;
28.s5、仅允许用户通过客户端提供的用户界面模块间接访问数据库内的数据;
29.s6、通过行为权限管理模块的既定规则对用户行为进行管理;
30.s7、当网络数据库地址及账户密码、用户行为权限规则、客户端各模块需要更新时,由服务端负责做出变更,并推送更新;通过客户端更新模块实现客户端的更新。
31.进一步地,在步骤s1中,所述主程序包括如下步骤:
32.s101、加载所述本地数据库加解密模块、客户端用户身份验证模块、数据库连接模块、行为权限管理模块、用户界面模块和客户端更新模块;
33.s102、调用用户界面模块,显示用户登录的界面;
34.s103、由用户输入用户身份验证信息并选择要连接的数据库类型;
35.s104、调用客户端用户身份验证模块,对用户进行用户身份验证;
36.s105、身份验证成功后,获取用户对应的行为权限;
37.s106、调用数据库连接模块,并根据用户的选择,连接所选数据库;
38.s107、调用用户界面模块,显示数据展示及操作界面;
39.s108、等待用户操作;
40.s109、调用行为权限处理模块,依据用户行为权限对其行为进行处理。
41.进一步地,在步骤s4中,所述数据库连接模块在连接网络数据库或本地数据库并初始化数据接口时包括如下步骤:
42.s401、获取用户选择连接的数据库类型;
43.s402、若用户选择连接本地数据库,调用本地数据库加解密模块;
44.s403、解密本地数据库;
45.s404、读取本地数据库账户及密码;
46.s405、连接本地数据库;
47.s406、若用户选择连接网络数据库,读取网络数据库账户及密码;
48.s407、连接网络数据库;
49.s408、初始化数据接口。
50.进一步地,在步骤s6中,所述行为权限管理模块,对用户进行用户行为权限管理时包括如下步骤:
51.s601、读取用户行为权限表;
52.s602、获取用户身份;
53.s603、获取用户行为权限;
54.s604、等待系统连接数据库;
55.s605、等待用户行为;
56.s606、依据用户行为权限对其行为进行处理。
57.其中,所述行为权限管理模块依据用户行为权限对其行为进行处理时包括如下步骤:
58.s6061、验证用户所请求执行的行为是否在其拥有的行为权限内;
59.s6062、若用户拥有相应行为权限,则执行该行为;
60.s6063、若用户没有相应行为权限,则拒绝执行该行为。
61.进一步地,在步骤s7中,所述客户端更新模块更新客户端的方式如下:联网时,通过自动下载更新文件进行更新;无网络时,通过导入离线升级包进行更新。
62.进一步地,在步骤s7中,所述客户端和服务端共同实现身份配置文件、用户行为权限表的更新管理,步骤如下:
63.s701、用户申请;
64.s702、服务端管理员接到申请;
65.s703、管理员通过服务端生成用户身份配置文件、用户行为权限表;
66.s704、管理员发送相关文件给用户,或在网络推送更新;
67.s705、用户收到相关文件,或客户端接收到更新推送;
68.s706、用户导入相关文件,或客户端下载更新;
69.s707、客户端更新;
70.s708、客户端在重启后完成更新。
71.本发明的有益效果是:通过加密本地数据库,同时在客户端进行用户行为权限管理,不再依赖数据库自身的权限管理模式,实现对钻完井数据库系统的细粒度权限管理,即数据级的权限管理;通过数据级的权限管理,消除多用户协同填报数据时误修改他人数据项可能性,并实现数据访问权限的精细化控制;同时不需要在钻完井数据库中添加任何字段,完全兼容现有技术,便于迁移。
附图说明
72.图1是本发明一种钻完井数据库细粒度权限管理系统的示意图
73.图2是本发明一种钻完井数据库细粒度权限管理方法的示意图。
74.图3是本发明中主程序的流程图。
75.图4是本发明中用户身份验证模块流程图。
76.图5是本发明中数据库连接模块流程图。
77.图6是本发明中权限管理模块流程图。
78.图7是本发明中依据用户行为权限对其行为进行处理的流程图。
79.图8是本发明中系统客户端总体流程示意图。
具体实施方式
80.下面结合附图对发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
81.应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或其它元件或其组合的存在或添加。
82.如图1所示,本发明一种钻完井数据库细粒度权限管理系统包括:客户端100和服务端200;所述客户端100包括;主程序110,用于加在客户端100内的各个模块;本地数据库加解密模块120,用于加密本地数据库和解密本地数据库;客户端用户身份验证模块130,用于在登录时验证用户身份;数据库连接模块140,用于连接数据库,并提供访问、操作网络数据库和本地数据库的数据接口;行为权限管理模块150,用于对用户行为和行为权限进行管理;用户界面模块160,用于提供用户界面,包括用户登录界面、数据展示界面及操作界面;客户端更新模块170,用于更新客户端的各模块,以及用户行为权限的更新;所述服务端200包括;网络数据库模块210,用于提供网络数据库及网络数据库管理系统;客户端管理模块220,用于管理客户端应用,管理客户端用户,管理客户端用户行为权限。
83.在另一个实施例中,在所述行为权限管理模块150内设置有用户行为权限表,用于通过读取所述用户行为权限表来获得用户对应的行为权限。
84.在另一个实施例中,所述客户端管理模块220的功能包括新建用户、删除用户、配置用户身份验证信息和生成用户身份配置文件;所述客户端管理模块负责生成所述用户行为权限表,所述用户行为权限表的功能包括添加用户行为权限、修改用户行为权限、删除用户行为权限,并负责导出客户端用户行为权限表;所述客户端管理模块,负责生成加密的包含本地数据库及网络数据库地址、账户和密码的客户端配置文件,并负责导出数据库配置文件。
85.在另一个实施例中,所述客户端管理模块220,负责生成客户端升级文件,提供在线升级服务,用于实现客户端升级。
86.如图2所示,一种钻完井数据库细粒度权限管理方法,应用于上述任一项所述钻完井数据库细粒度权限管理系统,包括如下步骤:
87.s1、在客户端内设置主程序、本地数据库加解密模块、客户端用户身份验证模块、数据库连接模块、行为权限管理模块、用户界面模块和客户端更新模块;
88.s2、通过本地数据库加解密模块提供加密存储的本地数据库;
89.s3、不授予客户端用户本地数据库和网络数据库的账户密码,通过客户端用户身份验证模块对客户端用户身份进行独立验证,实现客户端用户与数据库账户脱钩;
90.s4、通过数据库连接模块访问网络数据库和加密存储的本地数据库;网络数据库地址、账户及密码内置加密存储在数据库连接模块中;
91.s5、仅允许用户通过客户端提供的用户界面模块间接访问数据库内的数据;
92.s6、通过行为权限管理模块的既定规则对用户行为进行管理;
93.s7、当网络数据库地址及账户密码、用户行为权限规则、客户端各模块需要更新时,由服务端负责做出变更,并推送更新;通过客户端更新模块实现客户端的更新。
94.如图3所示,在步骤s1中,所述主程序110包括如下步骤:
95.s101、加载所述本地数据库加解密模块120、客户端用户身份验证模块130、数据库连接模块140、行为权限管理模块150、用户界面模块160和客户端更新模块170;
96.s102、调用用户界面模块160,显示用户登录的界面;
97.s103、由用户输入用户身份验证信息并选择要连接的数据库类型;
98.s104、调用客户端用户身份验证模块130,对用户进行用户身份验证;
99.s105、身份验证成功后,获取用户对应的行为权限;
100.s106、调用数据库连接模块140,并根据用户的选择,连接所选数据库;
101.s107、调用用户界面模块160,显示数据展示及操作界面;
102.s108、等待用户操作;
103.s109、调用行为权限处理模块150,依据用户行为权限对其行为进行处理。
104.如图4所示,在所述s104中,通过客户端用户身份验证模块130验证用户身份的步骤如下:
105.s1041、用户在登陆界面填写用户名及密码;
106.s1042、读取客户端用户名及密码文件;
107.s1043、校核用户名密码是否一致;
108.s1044、若用户名密码一致,验证成功并返回用户身份;
109.s1045、若用户名密码不一致,验证失败并输出提示,等待重新输入。
110.如图5所示,在步骤s4中,所述数据库连接模块140在连接网络数据库或本地数据库并初始化数据接口时包括如下步骤:
111.s401、获取用户选择连接的数据库类型;
112.s402、若用户选择连接本地数据库,调用本地数据库加解密模块;
113.s403、解密本地数据库;
114.s404、读取本地数据库账户及密码;
115.s405、连接本地数据库;
116.s406、若用户选择连接网络数据库,读取网络数据库账户及密码;
117.s407、连接网络数据库;
118.s408、初始化数据接口。
119.如图6所示,在步骤s6中,所述行为权限管理模块150,对用户进行用户行为权限管理时包括如下步骤:
120.s601、读取用户行为权限表;
121.s602、获取用户身份;
122.s603、获取用户行为权限;
123.s604、等待系统连接数据库;
124.s605、等待用户行为;
125.s606、依据用户行为权限对其行为进行处理。
126.如图7所示,所述行为权限管理模块依据用户行为权限对其行为进行处理时包括如下步骤:
127.s6061、验证用户所请求执行的行为是否在其拥有的行为权限内;
128.s6062、若用户拥有相应行为权限,则执行该行为;
129.s6063、若用户没有相应行为权限,则拒绝执行该行为。
130.在步骤s7中,所述客户端更新模块更新客户端的方式如下:联网时,通过自动下载更新文件进行更新;无网络时,通过导入离线升级包进行更新。
131.在步骤s7中,还包括,所述客户端和服务端共同实现身份配置文件及用户行为权限表管理的步骤如下:
132.s701、用户申请;
133.s702、服务端管理员接到申请;
134.s703、管理员通过服务端生成用户身份配置文件、用户行为权限表;
135.s704、管理员发送相关文件给用户,或在网络推送更新;
136.s705、用户收到相关文件,或客户端接收到更新推送;
137.s706、用户导入相关文件,或客户端下载更新;
138.s707、客户端更新;
139.s708、客户端在重启后完成更新。
140.客户端100的总体流程如图8所示。
141.综上所述本发明一种钻完井数据库细粒度权限管理系统1,通过加密本地数据库,同时在客户端进行用户行为权限管理,不再依赖数据库自身的权限管理模式,实现对钻完井数据库系统的细粒度权限管理,即数据级的权限管理;通过数据级的权限管理,消除多用户协同填报数据时误修改他人数据项可能性,并实现数据访问权限的精细化控制;同时不需要在钻完井数据库中添加任何字段,完全兼容现有技术,便于迁移。
142.尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献