CN110209671A - 一种分布式账本数据的存取系统及其应用 - Google Patents
一种分布式账本数据的存取系统及其应用 Download PDFInfo
- Publication number
- CN110209671A CN110209671A CN201910412629.XA CN201910412629A CN110209671A CN 110209671 A CN110209671 A CN 110209671A CN 201910412629 A CN201910412629 A CN 201910412629A CN 110209671 A CN110209671 A CN 110209671A
- Authority
- CN
- China
- Prior art keywords
- data
- account book
- request
- business
- distributed account
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
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)
- Software Systems (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种分布式账本数据的存取系统及其应用,包括业务逻辑层、应用对象抽象层和分布式账本层,业务逻辑层用于根据不同业务类型对应的业务对象进行业务对象的定义以及具体业务逻辑的执行;应用对象抽象层根据约定将数据包转换成键和值、或将数据请求解释成分布式账本层理解的键数据请求;分布式账本层将数据写入链中、或将键数据请求对应的值通过JSON格式字符串返回。本发明优化了分布式账本的开发友好性,提升的分布式账本数据存取性能,简化了分布式账本批量查询的操作。加快区块链分布式账本的存取速度,可以加大区块链的应用场景,从低频业务向中高频业务发展,向电商等一些时效并发要求较高的业务发展。
Description
技术领域
本发明属于通信技术领域,具体涉及一种分布式账本数据的存取系统及其应用。
背景技术
目前,业内常用的现有技术是这样的:分布式账本是一种在网络成员之间共享、复制和同步的数据库。分布式账本记录网络参与者之间的交易,比如资产或数据的交换。网络中的参与者根据共识原则来制约和协商对账本中的记录的更新,没有中间的第三方仲裁机构(比如金融机构或票据交换所)的参与。分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有交易的可审计历史记录。达到去中心化和不可篡改目的。目前的分布式账本技术底层实现是将数据存储在同一个键值存储数据库中,不同数据对象仅以不同的键(key)加以区分。这种存储方式与业务逻辑完全无关,对分布式账本应用开发非常不友好。
综上所述,现有技术存在的问题是:1、由于分布式账本采用键(key)来区分数据对象,而非根据不同业务对象刻画区分存储数据,致使分布式账本对复杂业务逻辑开发缺乏支撑,带来难度。
2、由于分布式账本的记录通过共识机制和密码算法要网络内所有节点认可,致使分布式账本存取速度较慢,一般只用于低频场景的应用。
发明内容
为解决现有技术存在的缺陷,本发明提供一种分布式账本数据的存取系统。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明提供一种分布式账本数据的存取系统,包括业务逻辑层、应用对象抽象层和分布式账本层,业务逻辑层用于根据不同业务类型对应的业务对象进行业务对象的定义、以及具体业务逻辑的执行,将数据包或数据请求通过应用程序接口发送给应用对象抽象层;应用对象抽象层根据约定将数据包转换成键和JSON格式字符串的值、或将数据请求解释成分布式账本层理解的键数据请求,然后通过应用程序接口发送给分布式账本层;分布式账本层根据接收的数据包进行共识算法和哈希加密算法计算后将数据写入链中、或将键数据请求对应的值通过JSON格式字符串返回。
具体地,业务逻辑层接收写入或读取命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象、内容的数据包、或生成包含项目、类名、具体业务对象的数据请求。
具体地,应用对象抽象层根据约定将数据包内的项目、类名、具体业务对象转换成键,应用对象抽象层根据约定将数据包内的内容转换成JSON格式字符串的值。
具体地,还包括用户层,用户层发送写入或读取命令请求,业务逻辑层接收写入或读取命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,业务逻辑层将写入的信息生成数据包或读取的信息生成数据请求。
本发明还提供一种分布式账本数据的写入方法,包括以下步骤:
S1、业务逻辑层接收写入命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象、内容的数据包,然后将数据包通过应用程序接口发送给应用对象抽象层;
S2、应用对象抽象层根据约定将数据包内的项目、类名、具体业务对象转换成键,并将数据包内的内容转换成JSON格式字符串的值,然后通过应用程序接口发送给分布式账本层;
S3、分布式账本层根据接收的数据进行共识算法和哈希加密算法计算后将数据写入链中。
具体地,还包括:
步骤S0、用户层发送写入请求,业务逻辑层接收写入命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,进入步骤S1。
本发明还提供一种分布式账本数据的读取方法,包括以下步骤:
S1、业务逻辑层接收读取命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象的数据请求,然后将数据请求通过应用程序接口发送给应用对象抽象层;
S2、应用对象抽象层将数据请求解释成分布式账本层理解的键数据请求,然后通过应用程序接口发送给分布式账本层;
S3、分布式账本层将键数据请求对应的值通过JSON格式字符串返回。
具体地,还包括:
步骤S0、用户层发送读取请求,业务逻辑层接收写入命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,进入步骤S1。
本发明的有益效果是:本发明优化了分布式账本的开发友好性,提升的分布式账本数据存取性能,简化了分布式账本批量查询的操作。加快区块链分布式账本的存取速度,可以加大区块链的应用场景,从低频业务向中高频业务发展,向电商等一些时效并发要求较高的业务发展。
附图说明
图1是本发明一种分布式账本数据的存取系统的结构原理图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
为了达到本发明的目的,如图1所示,在本发明的其中一种实施方式中提供一种分布式账本数据的存取系统,包括业务逻辑层、应用对象抽象层和分布式账本层,业务逻辑层用于根据不同业务类型对应的业务对象进行业务对象的定义、以及具体业务逻辑的执行,本实施例中业务逻辑层接收写入或读取命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象、内容的数据包、或生成包含项目、类名、具体业务对象的数据请求,然后将数据包或数据请求通过应用程序接口发送给应用对象抽象层。业务逻辑层使用面相对象的语言进行开发。主要用于对复杂业务逻辑进行描述。对于不同业务类型的业务对象对应不同的类,例如客户的订单、供应商的货款等业务都生成独立的类。每种业务对象都有唯一的类名,具有同一类名的业务对象视为同一类对象,同一类对象具有相同的数据结构定义,在读写时可被同时操作。不同业务类型的业务对象的类名在整个项目中是不相同的。
应用对象抽象层使用JAVA开发。主要用于按照业务逻辑层的解释,按类生成分布式账本层的键、值并按分布式账本应用程序接口读取或写入。应用对象抽象层根据约定应用对象抽象层根据约定将数据包内的项目、类名、具体业务对象转换成键、并将数据包内的内容转换成JSON格式字符串的值;或将数据请求解释成分布式账本层理解的键数据请求,然后通过应用程序接口发送给分布式账本层。
分布式账本层是区块链底层,主要用于分布式账本记录数据的共识算法、哈希加密算法等来保证数据的去中心化和不可篡改性。分布式账本层在部署时,会对数据值的类名字段建立索引,与应用对象抽象层的值处理方法对应,提升查询性能。分布式账本层根据接收的数据包进行共识算法和哈希加密算法计算后将数据写入链中、或将键数据请求对应的值通过JSON格式字符串返回。
为了进一步地优化本发明的实施效果,在本发明的另一种实施方式中,在前述内容的基础上,还包括用户层,用户层发送写入或读取命令请求,业务逻辑层接收写入或读取命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,业务逻辑层将写入的信息生成数据包或读取的信息生成数据请求。
本实施方式验证用户层信息的合法性,保证数据的安全。
为了进一步地优化本发明的实施效果,在本发明的另一种实施方式中,在前述内容的基础上,本实施方式还提供一种分布式账本数据的写入方法,包括以下步骤:
S1、业务逻辑层接收写入命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象、内容的数据包,然后将数据包通过应用程序接口发送给应用对象抽象层;
S2、应用对象抽象层根据约定将数据包内的项目、类名、具体业务对象转换成键,并将数据包内的内容转换成JSON格式字符串的值,然后通过应用程序接口发送给分布式账本层;
由于分布式账本底层以键值对的方式存储数据,因此必须对传入的业务对象指定键。本实施方式中使用的编码方式是:项目代号_类名_对象ID,例如app1_com.chaoyang.asset.order_12345,表示app1项目中类名为com.chaoyang.asset.order,id为12345的业务对象。这种编码方式使得应用程序接口在需要取出指定的一条业务对象时逻辑非常清晰。
应用对象抽象层会将业务对象序列化为JSON字符串。并添加一个保留字段,记录业务对象的类名。在批量查找时,可以通过该字段迅速过滤无关数据条目,提升性能。
S3、分布式账本层根据接收的数据进行共识算法和哈希加密算法计算后将数据写入链中。
为了进一步地优化本发明的实施效果,在本发明的另一种实施方式中,在前述内容的基础上,本实施方式还提供一种分布式账本数据的读取方法,包括以下步骤:
S1、业务逻辑层接收读取命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象的数据请求,然后将数据请求通过应用程序接口发送给应用对象抽象层;
S2、应用对象抽象层将数据请求解释成分布式账本层理解的键数据请求,然后通过应用程序接口发送给分布式账本层;
S3、分布式账本层将键数据请求对应的值通过JSON格式字符串返回。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种分布式账本数据的存取系统,其特征在于,包括业务逻辑层、应用对象抽象层和分布式账本层,业务逻辑层用于根据不同业务类型对应的业务对象进行业务对象的定义、以及具体业务逻辑的执行,将数据包或数据请求通过应用程序接口发送给应用对象抽象层;应用对象抽象层根据约定将数据包转换成键和JSON格式字符串的值、或将数据请求解释成分布式账本层理解的键数据请求,然后通过应用程序接口发送给分布式账本层;分布式账本层根据接收的数据包进行共识算法和哈希加密算法计算后将数据写入链中、或将键数据请求对应的值通过JSON格式字符串返回。
2.根据权利要求1所述的分布式账本数据的存取系统,其特征在于,业务逻辑层接收写入或读取命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象、内容的数据包、或生成包含项目、类名、具体业务对象的数据请求。
3.根据权利要求2所述的分布式账本数据的存取系统,其特征在于,应用对象抽象层根据约定将数据包内的项目、类名、具体业务对象转换成键,应用对象抽象层根据约定将数据包内的内容转换成JSON格式字符串的值。
4.根据权利要求3所述的分布式账本数据的存取系统,其特征在于,还包括用户层,用户层发送写入或读取命令请求,业务逻辑层接收写入或读取命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,业务逻辑层将写入的信息生成数据包或读取的信息生成数据请求。
5.一种分布式账本数据的写入方法,其特征在于,包括以下步骤:
S1、业务逻辑层接收写入命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象、内容的数据包,然后将数据包通过应用程序接口发送给应用对象抽象层;
S2、应用对象抽象层根据约定将数据包内的项目、类名、具体业务对象转换成键,并将数据包内的内容转换成JSON格式字符串的值,然后通过应用程序接口发送给分布式账本层;
S3、分布式账本层根据接收的数据进行共识算法和哈希加密算法计算后将数据写入链中。
6.根据权利要求5所述的分布式账本数据的存取方法,其特征在于,还包括:
步骤S0、用户层发送写入请求,业务逻辑层接收写入命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,进入步骤S1。
7.一种分布式账本数据的读取方法,其特征在于,包括以下步骤:
S1、业务逻辑层接收读取命令请求,根据业务对象和数据内容生成包含项目、类名、具体业务对象的数据请求,然后将数据请求通过应用程序接口发送给应用对象抽象层;
S2、应用对象抽象层将数据请求解释成分布式账本层理解的键数据请求,然后通过应用程序接口发送给分布式账本层;
S3、分布式账本层将键数据请求对应的值通过JSON格式字符串返回。
8.根据权利要求7所述的分布式账本数据的读取方法,其特征在于,还包括:
步骤S0、用户层发送读取请求,业务逻辑层接收写入命令请求后,业务逻辑层获取并验证用户层信息的合法性,若验证失败,业务逻辑层将错误状态码和错误信息返回用户层;若验证通过后,进入步骤S1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910412629.XA CN110209671A (zh) | 2019-05-17 | 2019-05-17 | 一种分布式账本数据的存取系统及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910412629.XA CN110209671A (zh) | 2019-05-17 | 2019-05-17 | 一种分布式账本数据的存取系统及其应用 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110209671A true CN110209671A (zh) | 2019-09-06 |
Family
ID=67787581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910412629.XA Pending CN110209671A (zh) | 2019-05-17 | 2019-05-17 | 一种分布式账本数据的存取系统及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209671A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000679A (zh) * | 2020-08-22 | 2020-11-27 | 杭州烽顺科技信息服务有限公司 | 业务操作与数据操作分离的区块链数据处理方法及装置 |
CN112100279A (zh) * | 2020-10-30 | 2020-12-18 | 中航信移动科技有限公司 | 基于区块链的数据共享系统 |
CN113672046A (zh) * | 2020-05-13 | 2021-11-19 | 胡敏 | 一种基于区块链的大规模快速账本存取系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980649A (zh) * | 2017-02-28 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN106991612A (zh) * | 2017-03-31 | 2017-07-28 | 北京京东金融科技控股有限公司 | 用于金融数据共享的方法、装置及电子设备 |
CN107239479A (zh) * | 2017-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据存储以及查询的方法及装置 |
CN108427601A (zh) * | 2017-02-13 | 2018-08-21 | 北京航空航天大学 | 一种私有链节点的集群交易处理方法 |
CN109086325A (zh) * | 2018-06-29 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN109493224A (zh) * | 2018-11-10 | 2019-03-19 | 平凡视界(深圳)科技有限公司 | 一种区块链图片社交系统 |
CN109710405A (zh) * | 2018-12-21 | 2019-05-03 | 平安科技(深圳)有限公司 | 区块链智能合约管理方法、装置、电子设备及存储介质 |
-
2019
- 2019-05-17 CN CN201910412629.XA patent/CN110209671A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427601A (zh) * | 2017-02-13 | 2018-08-21 | 北京航空航天大学 | 一种私有链节点的集群交易处理方法 |
CN106980649A (zh) * | 2017-02-28 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN107239479A (zh) * | 2017-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种基于区块链的数据存储以及查询的方法及装置 |
CN106991612A (zh) * | 2017-03-31 | 2017-07-28 | 北京京东金融科技控股有限公司 | 用于金融数据共享的方法、装置及电子设备 |
CN109086325A (zh) * | 2018-06-29 | 2018-12-25 | 阿里巴巴集团控股有限公司 | 基于区块链的数据处理方法和装置 |
CN109493224A (zh) * | 2018-11-10 | 2019-03-19 | 平凡视界(深圳)科技有限公司 | 一种区块链图片社交系统 |
CN109710405A (zh) * | 2018-12-21 | 2019-05-03 | 平安科技(深圳)有限公司 | 区块链智能合约管理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
呆呆_小茗: "fastJson过滤字段(深层次)", 《HTTPS://BLOG.CSDN.NET/BAIDU_38990811/ARTICLE/DETAILS/78415594》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672046A (zh) * | 2020-05-13 | 2021-11-19 | 胡敏 | 一种基于区块链的大规模快速账本存取系统 |
CN112000679A (zh) * | 2020-08-22 | 2020-11-27 | 杭州烽顺科技信息服务有限公司 | 业务操作与数据操作分离的区块链数据处理方法及装置 |
CN112000679B (zh) * | 2020-08-22 | 2024-01-09 | 杭州烽顺科技信息服务有限公司 | 业务操作与数据操作分离的区块链数据处理方法及装置 |
CN112100279A (zh) * | 2020-10-30 | 2020-12-18 | 中航信移动科技有限公司 | 基于区块链的数据共享系统 |
CN112100279B (zh) * | 2020-10-30 | 2021-06-29 | 中航信移动科技有限公司 | 基于区块链的数据共享系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zakhary et al. | Atomic commitment across blockchains | |
CN108846659B (zh) | 基于区块链的转账方法、装置及存储介质 | |
CN109981679B (zh) | 在区块链网络中执行事务的方法和装置 | |
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
WO2020063820A1 (zh) | 资产交易方法、存储介质及计算机设备 | |
CN110390525B (zh) | 区块链世界状态的直接访问方法及区块链节点 | |
US11423473B2 (en) | Blockchain-based leasing | |
CN109614813B (zh) | 基于区块链的隐私交易方法、装置及其应用方法、装置 | |
CN110209671A (zh) | 一种分布式账本数据的存取系统及其应用 | |
CN110069295B (zh) | 区块链处理方法、装置、设备和介质 | |
CN110930152B (zh) | 一种基于区块链的数据处理方法及相关设备 | |
US20210304191A1 (en) | System and method for integration and validation | |
CN111402033A (zh) | 基于区块链的资产信息管理方法和装置 | |
JP2022101479A (ja) | イーサリアム仮想マシンのトランザクション処理方法、装置、機器、プログラムおよび媒体 | |
CN109447636A (zh) | 一种资产转移方法及装置 | |
CN111461751A (zh) | 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置 | |
KR20220143705A (ko) | 블록체인과 연관된 서비스들의 플랫폼을 위한 컴퓨팅 서비스들 | |
CN113486114B (zh) | 一种区块链智能合约调用管理方法 | |
CN112134707B (zh) | 一种针对多个kerberos集群的并发访问方法和装置 | |
US20090140843A1 (en) | Method for providing radio frequency identification application interface and system thereof | |
CN113221175A (zh) | 一种基于区块链的授权方法和系统 | |
KR20220143873A (ko) | 블록체인과 연관된 이벤트들의 시퀀스에 대한 이벤트 스트림들 | |
CN113221165A (zh) | 一种基于区块链的用户要素认证方法及装置 | |
CN110458541B (zh) | 基于区块链的对象置换方法及装置 | |
WO2023207529A1 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190906 |