CN110019327A - 基于区块链的数据库系统中数据库表的审计方法 - Google Patents
基于区块链的数据库系统中数据库表的审计方法 Download PDFInfo
- Publication number
- CN110019327A CN110019327A CN201711211850.6A CN201711211850A CN110019327A CN 110019327 A CN110019327 A CN 110019327A CN 201711211850 A CN201711211850 A CN 201711211850A CN 110019327 A CN110019327 A CN 110019327A
- Authority
- CN
- China
- Prior art keywords
- database
- audit
- database table
- data base
- volatile data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于区块链的数据库系统中数据库表的审计方法,本发明提出一种针对数据库表特定条目指定字段的追根溯源的方法,所述方法包括:S1,为本次审计在本地数据库新建临时数据库表;S2,将审计需求翻译成数据库的sql查询语句;S3,从区块链中顺次读取对需要审计的数据库表的操作;S4,在本地临时数据库中执行读到的sql语句;S5,用S2得到的查询语句查询临时数据库表;S6,如果查询结果发生变化,将对应的数据库表操作写入文件进行记录;循环执行S3—S6,直到所有针对需要审计数据库表的操作已经读完。S7,结束审计,删除S1中创建的临时数据库表。本发明通过读取在区块链上记录的不可更改的数据库表操作,在本地重放整个数据库表的操作过程,来判断指定条目特定字段是否被影响及改变,以达到审计的目的。
Description
技术领域
本发明涉及基于区块链的日志式数据库的审计技术,针对数据库表中一个或者多个条目中的一个或多个字段进行追根溯源。
背景技术
基于数据库的区块链系统,对数据的操作都记录在区块链系统中,而数据库中只展示了数据的最新状态。
在需要针对数据库表中的某一条目的特殊字段进行溯源检查时,单纯针对区块链进行文本式的sql语句的检测或者对数据库进行当前状态核查,都不能完全满足需求。
针对区块链计录的文本内容即sql语句进行解析,不能准确得出这一sql语句所影响的条目及字段,极大地增加了语句分析的难度;针对数据库的当前状态进行审核里,因为只有一个状态值,而没有一个过程值,所以无法追查历史操作,虽然某些类型的数据库本身提供了这个功能,但是基于数据库的区块链系统并未指定特定数据库,这种依赖数据库本身功能进行审计的方法,在很大程度上依赖了数据库本身的特性,降低系统选择数据库的灵活性。
单纯采用sql文本解析的方式或者单纯采用数据库自身溯源的方式都不切实际,不能满足用户在任何时候,不加任何限制的情况下对数据本身进行追根溯源的需求。
发明内容
针对背景技术中的问题,本发明提出了将区块链上的操作日志与本地数据库相结合进行某一特定条目指定字段的审计方法。
本发明关于并用区块链与数据库进行审计的方法包括:
S1,在本地数据库新建一个数据库中具有唯一名字的新的临时数据库表;
S2,将需要审计的特定条目的特定字段的审计需求翻译成sql查询语句;
S3,从区块链网络中按顺序读取对原数据库表的一个操作;
S4,修改S3读到的sql语句中的表名,在本地数据库中执行修改后的sql语句;
S5,用S2得到的查询语句对本地数据库进行查询;
S6,将S5得到的查询结果用统一的json数据结构进行保存;
S6,将S6保存结果与现有的查询结果进行比较(首次查询结果为空),二者不相同时视为针对这一字段的做过有效改动;
S7,S6检测出指定字段发生了效改动的情况下,将S3读取的对数据库表的操作详情写入文本文件进行记录;
S8,重复S3-S7的步骤直到对此数据库的操作结束。
附图说明
图1 为本发明的系统的一个结构示意图;
图2为本发明的方法的一个实施方式的流程图。
具体实施方式
下面参照附图描述本发明的实施方式,其中相同的部件用相同的附图标记表示。
在基于数据库的区块链系统中,对数据库的操作基于区块链共识,共识通过后,操作会被记录在区块链网络的区块里,如果节点还配置了数据库,则会操作操作数据库表得到正确的数据表状态结果。
有数据库表的地方就会有针对表内数据进行追根溯源的需求,需要知道表中某一条目指定字段在何时被何人修改。
本发明要实现的技术效果是,结合已经记录了数据库操作日志的区块链及本地任何类型的数据库进行数据库表数据的审计。
图1显示了区块链与数据库结合的一种拓扑结构,对数据库的操作会以交易的形式记录在区块链系统,同时会去改变本地数据库中的状态。
如图2所示,本发明的方法包括:
步骤S1,在本地数据库新建一个数据库中具有唯一名字的新的数据库表,本表与数据库中的其它表不冲突,专门用来针对某一次审计需求建立的临时表,用来重新执行一个数据库表的所有操作,在完成审计工作后,会删掉这个临时的数据库表。
步骤S2,将需要审计的条目及指定审计字段,即审计需求,用数据库表的SELECT语句来表示,例如,审计ID为2的条目的salary字段,表示的sql语句为:SELECT salary FROMtableName WHERE ID=2, 本语句将作为在执行完每一次针对数据库表的操作后的不变的查询语句。
步骤S3,在区块链网络中,从创建表的操作开始,读取针对待审计表的一条操作,对数据库表的第一条操作永远为创建表操作。
步骤S4,在S1新建的临时数据库表中执行从S3中获得的针对数据库表的操作(改变数据库表名),得到一个新的数据库表状态。
步骤S5,用S2中得到的查询语句对基于S4操作完成后得到的数据库表状态进行查询,得到一个查询结果。
步骤S6,将S5得到的查询结果与上一次的查询结果进行比较,如果两次的查询结果发生的变化,则代表最新的S5的数据库操作对需要审计条目的审计字段有影响,因为将本次数据库操作写入文本文件进行记录,作为审计结果中一部分。
比较当前读到的数据库表的操作是否在最新的区块链的区块上,如果是则表明对表的操作已经读完,如果不是,则返回S3继续读取存储在区块链中的数据库操作。
步骤S7,针对数据库表的审计工作已经结束,删除S1中创建的临时文件以避免垃圾文件的产生。
以上所述的实施步骤,基于的前提条件是将数据库的操作以交易的形式写入区块链网络,然后从区块链里读取针对数据库表的操作,再在新的数据库表时重新执行表的操作语句,从而进行特定条目指定字段的审计方法都应包含在本发明的保护范围内。
Claims (4)
1.一种基于区块链记录数据库表操作的数据库表的审计方法,其特征在于,包括:
S1, 为本次审计在本地数据库新建临时数据库表;
S2,将审计需求翻译成数据库的sql查询语句;
S3,从区块链中顺次读取对需要审计的数据库表的操作;
S4,在本地临时数据库中执行读到的sql语句(修改表名);
S5,用S2得到的查询语句查询临时数据库表;
S6,如果查询结果发生变化,将对应的数据库表操作写入文件进行记录;
循环执行S3—S6,直到所有针对需要审计的数据库表操作已经读完。
2.S7,结束审计,删除S1中创建的临时数据库表。
3.根据权利要求1所述的数据库表特定条目指定字段的审计方法,过程中的S2步骤,其特征在于,还包括审计参数与数据库表sql语句的对应翻译方法:
合理地对审计需要与数据库的SELECT语句进行映射。
4.语句SELECT field1,field2 FROM tableName WHERE id=2,表示的审计需求为:对tableName数据库表进行审计,需要审计的特定条目为id=2的条目,要审计的字段为field1与field2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711211850.6A CN110019327A (zh) | 2017-11-28 | 2017-11-28 | 基于区块链的数据库系统中数据库表的审计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711211850.6A CN110019327A (zh) | 2017-11-28 | 2017-11-28 | 基于区块链的数据库系统中数据库表的审计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110019327A true CN110019327A (zh) | 2019-07-16 |
Family
ID=67186624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711211850.6A Pending CN110019327A (zh) | 2017-11-28 | 2017-11-28 | 基于区块链的数据库系统中数据库表的审计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110019327A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199254A (zh) * | 2020-10-12 | 2021-01-08 | 平安科技(深圳)有限公司 | 数据模型的扫描方法、系统、计算机设备及存储介质 |
CN113742200A (zh) * | 2020-05-28 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 数据库版本升级的测试方法、设备及计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054034A (zh) * | 2010-12-27 | 2011-05-11 | 华中科技大学 | 企业信息系统的业务基础数据持久化实现方法 |
CN103473325A (zh) * | 2013-09-13 | 2013-12-25 | 中国工商银行股份有限公司 | 一种实现生成测试案例数据的系统及方法 |
CN106874440A (zh) * | 2017-02-07 | 2017-06-20 | 杭州秘猿科技有限公司 | 一种基于sql数据库的区块链状态存储方法 |
-
2017
- 2017-11-28 CN CN201711211850.6A patent/CN110019327A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054034A (zh) * | 2010-12-27 | 2011-05-11 | 华中科技大学 | 企业信息系统的业务基础数据持久化实现方法 |
CN103473325A (zh) * | 2013-09-13 | 2013-12-25 | 中国工商银行股份有限公司 | 一种实现生成测试案例数据的系统及方法 |
CN106874440A (zh) * | 2017-02-07 | 2017-06-20 | 杭州秘猿科技有限公司 | 一种基于sql数据库的区块链状态存储方法 |
Non-Patent Citations (1)
Title |
---|
黄冠华: "区块链改进联网审计途经研究", 《中国注册会计师》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742200A (zh) * | 2020-05-28 | 2021-12-03 | 阿里巴巴集团控股有限公司 | 数据库版本升级的测试方法、设备及计算机可读介质 |
CN112199254A (zh) * | 2020-10-12 | 2021-01-08 | 平安科技(深圳)有限公司 | 数据模型的扫描方法、系统、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11494688B2 (en) | Learning ETL rules by example | |
US11288243B2 (en) | Systems and methods for assessing data quality | |
US9734214B2 (en) | Metadata-based test data generation | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
EP3608801A1 (en) | Method of rapidly searching element information in a bim model | |
CN102236672A (zh) | 一种数据导入方法及装置 | |
US20140019941A1 (en) | Data selection | |
CN112612813B (zh) | 一种测试数据的生成方法和装置 | |
US20180300147A1 (en) | Database Operating Method and Apparatus | |
CN102760096A (zh) | 测试用数据的生成方法、单元测试方法以及单元测试系统 | |
CN113641591B (zh) | 测试用例生成方法及装置、测试方法及装置 | |
CN104899291A (zh) | 关系型数据库的多维分析的方法及装置 | |
US12066992B2 (en) | Maintaining a dataset based on periodic cleansing of raw source data | |
CN104598374B (zh) | 校正失效脚本的方法和设备 | |
CN110019327A (zh) | 基于区块链的数据库系统中数据库表的审计方法 | |
CN107609151A (zh) | 基于Redis实现XBRL实例文档缓存的方法 | |
CN112948473A (zh) | 数据仓库的数据处理方法、装置、系统及存储介质 | |
CN112286827A (zh) | 一种软件测试方法、设备、电子设备及存储介质 | |
CN109634585B (zh) | 一种基于表单自适应展示和更新服务端数据的方法 | |
JP2021002326A (ja) | ソフトウェアプログラムにおける静的分析違反の修復パターンの精緻化 | |
CN111046052A (zh) | 一种数据库中的操作记录存储方法、装置及设备 | |
CN114969215A (zh) | 数据仓库贴源层自动批量装载数据的方法及相关设备 | |
EP4145357A1 (en) | Automatic denoising of machine learning projects | |
CN102811445B (zh) | 配置数据的检查方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190716 |