CN110544042B - 基于区块链网络的图书管理方法及装置 - Google Patents
基于区块链网络的图书管理方法及装置 Download PDFInfo
- Publication number
- CN110544042B CN110544042B CN201910843207.8A CN201910843207A CN110544042B CN 110544042 B CN110544042 B CN 110544042B CN 201910843207 A CN201910843207 A CN 201910843207A CN 110544042 B CN110544042 B CN 110544042B
- Authority
- CN
- China
- Prior art keywords
- book
- borrowing
- information
- terminal
- blockchain network
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000013475 authorization Methods 0.000 claims description 36
- 238000012795 verification Methods 0.000 claims description 29
- 230000001960 triggered effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Bioethics (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于区块链网络的图书管理方法及装置;方法包括:响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应所述目标图书的图书信息;基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络;响应于通过第二终端发送的针对所述目标图书的查询请求,从所述区块链网络中获取并返回所述目标图书的借阅记录;响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,以使所述第一终端基于所述第三借阅请求,确定所述目标图书的借阅归属状态。通过本发明,能够提高图书借阅效率。
Description
技术领域
本发明涉及区块链网络技术,尤其涉及一种基于区块链网络的图书管理方法及装置。
背景技术
为对图书馆的图书进行有效管理,需要为图书馆建立一个图书管理***。相关技术中,图书管理***通常是以图书馆作为中心节点进行建设的,即借阅者只能从图书馆借阅书籍,若借阅者想要借阅的图书已经被出借给其他借阅者,那么,借阅者需要等其他借阅者将图书归还后,再从图书馆进行借阅。如此,存在图书借阅效率低的问题。
发明内容
本发明实施例提供一种基于区块链网络的图书管理方法及装置,能够提高图书借阅效率。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种基于区块链网络的图书管理方法,包括:
响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应所述目标图书的图书信息;
基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络;
响应于通过第二终端发送的针对所述目标图书的查询请求,从所述区块链网络中获取并返回所述目标图书的借阅记录;
响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,以使所述第一终端基于所述第三借阅请求,确定所述目标图书的借阅归属状态。
本发明实施例提供一种基于区块链网络的图书管理装置,包括:
信息获取模块,用于响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应所述目标图书的图书信息;
记录存储模块,用于基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络;
记录查询模块,用于响应于通过第二终端发送的针对所述目标图书的查询请求,从所述区块链网络中获取并返回所述目标图书的借阅记录;
请求发送模块,用于响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,以使所述第一终端基于所述第三借阅请求,确定所述目标图书的借阅归属状态。
上述方案中,所述装置还包括:
信息存储模块,用于接收到所述区块链网络同步的多个非本地图书库的图书信息;
存储所述多个非本地图书库的图书信息。
上述方案中,所述装置还包括:
信息查询模块,用于接收针对非本地图书库的图书的查询请求;
基于所述多个非本地图书库的图书信息,返回对应所述查询请求的图书信息。
上述方案中,所述记录存储模块,还用于获取所述图书信息中所述目标图书的流转信息;
当所述流转信息表征所述目标图书对应的位置处于本地图书库时,存储所述目标图书的借阅记录至区块链网络。
上述方案中,所述记录存储模块,还用于生成用于存储所述借阅记录的交易;
提交所述交易至所述区块链网络,以使所述区块链网络中的节点对所述交易共识后存储所述借阅记录至区块链。
上述方案中,所述请求发送模块,还用于根据所述第二借阅请求,生成用于身份验证的交易,所述第二借阅请求携带有目标用户的数字签名;
提交所述交易至所述区块链网络,以使所述区块链网络的节点基于所述数字签名,对所述目标用户进行权限验证,得到并返回验证结果;
当所述验证结果表征所述目标用户具有借阅所述目标图书的权限时,发送对应所述目标图书的第三借阅请求给所述第一终端。
上述方案中,所述装置还包括:第一信息接收模块,用于接收所述第一终端发送的授权信息,所述授权信息为所述第一终端呈现对应所述第三借阅请求的借阅信息,所述借阅信息用于指示第二终端请求借阅所述目标图书;接收到基于所述借阅信息触发的授权指令;基于所述授权指令发送的,所述授权信息指示所述目标图书的借阅归属状态为归属于所述第二终端。
上述方案中,所述记录存储模块,还用于基于所述借阅授权信息,生成记录有所述借阅归属状态的借阅记录;
存储记录有所述借阅归属状态的借阅记录至所述区块链网络。
上述方案中,所述装置还包括:第二信息接收模块,用于接收所述第一终端发送的非授权信息,所述非授权信息为所述第一终端呈现对应所述第三借阅请求的借阅信息,所述借阅信息用于指示第二终端请求借阅所述目标图书;接收到基于所述借阅信息触发的非授权指令;基于所述非授权指令发送的,所述非授权信息指示所述目标图书的借阅归属状态为归属于所述第一终端。
本发明实施例提供了一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于区块链网络的图书管理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于区块链网络的图书管理方法。
本发明实施例具有以下有益效果:
1)通过基于图书信息确定目标图书的借阅条件得到满足时,存储目标图书的借阅记录至区块链网络;由于区块链网络不可篡改的特征,能够确保借阅记录的真实性;
2)通过响应于通过第二终端基于借阅记录,发送的第二借阅请求,发送对应目标图书的第三借阅请求给第一终端;基于区块链网络去中心化的特征,实现了借阅者之间的借阅,即当借阅者查询到借阅的图书已经被出借给其他借阅者时,可以向其他借阅者发送图书的借阅请求,以从其他借阅者借阅图书,而不需要等到其他借阅者将图书归还给图书馆,再从图书借阅,提高了图书的借阅效率。
附图说明
图1是本发明实施例提供的基于区块链网络的图书管理***的一个可选的架构示意图;
图2是本发明实施例提供的区块链的结构示意图;
图3是本发明提供的一个新区块产生过程的流程示意图;
图4是本发明实施例提供的区块链网络200的功能架构示意图;
图5是本发明实施例提供的电子设备的结构示意图;
图6是本发明实施例提供的基于区块链网络的图书管理方法的一个可选的流程示意图;
图7是本发明实施例提供的添加图书信息的界面示意图;
图8是本发明实施例提供的基于区块链网络的图书管理***的一个可选的架构示意图;
图9是本发明实施例提供的图书查询结果的一种可选的界面示意图;
图10是本发明实施例提供的图书查询结果的一种可选的界面示意图;
图11是本发明实施例提供的基于区块链网络的图书管理方法的另一个可选的流程示意图;
图12是本发明实施例提供的呈现借阅信息的界面示意图;
图13是本发明实施例提供的基于区块链网络的图书管理方法的另一个可选的流程示意图;
图14本发明实施例提供的基于区块链网络的图书管理方法的另一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
2)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
3)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
4)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。
其中,区块链是以文件***中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
5)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。
6)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
下面说明本发明实施例提供的区块链网络的示例性应用,参见图1,图1是本发明实施例提供的基于区块链网络的图书管理***的架构示意图,包括区块链网络200(示例性示出了包括节点210-1至节点210-3)、图书管理平台300、终端400(示例性示出第一终端400-1及其图形界面410-1、和第二终端400-2及其图形界面410-2),下面分别进行说明。
区块链网络200的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络200;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络200,此时,成为区块链网络200中的一类特殊的节点即客户端节点。
区块链网络200接收来自不同终端(例如,图1中示出的第一终端400-1、以及第二终端400-2)提交的交易,执行交易以更新账本或者查询账本,并在终端的用户界面(例如,第一终端400-1的图形界面410-1、第二终端400-2的图形界面410-2)显示执行交易的各种中间结果或最终结果。
下面以图书管理平台接入区块链网络以实现图书管理为例说明区块链网络的示例性应用。
参见图1,图书管理平台300在获得区块链网络200的授权后,图书管理平台300的第一终端400-1和第二终端400-2都可以接入区块链网络200。
图书管理平台300的用户在第一终端400-1的图形界面410-1中登录图书管理平台300,输入目标图书的第一借阅请求,图书管理平台300获取对应目标图书的图书信息,返回给第一终端400-1,基于图书信息确定目标图书的借阅条件得到满足时,生成用于存储目标图书的借阅记录的交易,在交易中指定了实现存储操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了图书管理平台300的数字签名(例如,使用图书管理平台300的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200。
区块链网络200中的节点210中接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的图书管理平台300的身份,确认图书管理平台300是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络200中广播。
区块链网络200中具有排序功能的节点210接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络200中提供共识服务的节点。
区块链网络200中的提供共识服务的节点210对新区块进行共识过程以达成一致,提供账本功能的节点210将新区块追加到区块链的尾部,并执行新区块中的交易:对于提交存储目标图书的借阅记录的交易,在状态数据库中存储借阅记录。
同理,图书管理平台300的第二用户在第二终端400-2的图形界面410-2中登录图书管理平台300,输入目标图书的查询请求,图书管理平台300根据目标图书的查询请求生成对应查询操作的交易,在交易中指定了实现查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了通过第二终端400-2签署的数字签名(例如,使用图书管理平台300的数字证书的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200。
区块链网络200中的节点210接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的目标用户的身份信息,确认目标用户是否具有交易权限,数字签名和权限验证中的任何一个验证失败都将导致交易失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络200中广播。
区块链网络200中具有排序功能的节点210接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络200中提供共识服务的节点。
区块链网络200中的提供共识服务的节点210对新区块进行共识过程以达成一致,提供账本功能的节点210将新区块追加到区块链的尾部,并执行新区块中的交易,从状态数据库中查询目标图书的借阅记录对应的键值对,并返回查询结果。
第二终端400-2的图形界面410-2可以呈现目标图书的查询结果,图书管理平台300的第二用户可以通过第二终端400-2的图形界面410-2输入第二借阅请求,图书管理平台300根据第二借阅请求生成用于身份验证的交易,在交易中指定了实现验证操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了通过第二终端400-2签署的数字签名(例如,使用图书管理平台300的数字证书的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200。
区块链网络200中的节点210接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的目标用户的身份信息,确认目标用户是否具有交易权限,数字签名和权限验证中的任何一个验证失败都将导致交易失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络200中广播。
区块链网络200中具有排序功能的节点210接收到验证成功的交易后,将交易填充到新的区块中,并广播到区块链网络200中提供共识服务的节点。
区块链网络200中的提供共识服务的节点210对新区块进行共识过程以达成一致,提供账本功能的节点210将新区块追加到区块链的尾部,并执行新区块中的交易,并返回验证结果。当所述验证结果表征第二用户具有借阅目标图书的权限时,发送对应目标图书的第三借阅请求给第一终端。
下面对区块链的结构进行说明,图2为本发明实施例提供的区块链的结构示意图。参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在生成区块链网络的各个区块时,参见图3,图3为本发明提供的一个新区块产生过程的流程示意图,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据区块链网络中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链网络中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图4,图4是本发明实施例提供的区块链网络200的功能架构示意图,包括应用层201、共识层202、网络层203、数据层204和资源层205,下面分别进行说明。
资源层205封装了实现区块链网路200中的各个节点210的计算资源、存储资源和通信资源,例如计算机、服务器/集群和云中的计算资源、存储资源和通信资源,进行抽象并向数据层204提供统一的接口以屏蔽实现资源层205的底层硬件的差异性。
计算资源包括各种形式的处理器,例如中央处理器(CPU)、应用专用集成电路(ASIC,Application Specific Integrated Circuit)、专用集成电路和现场可编程门阵列(FPGA,Field-Programmable Gate Array)的各种形式的处理器。
存储资源包括各种易失性存储器和非易失性存储器等各种类型的存储介质。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。
通信资源包括用于供区块链网络的节点210之间、区块链网络200与业务主体之间通信的各种链路。
数据层204封装了实现账本的各种数据结构,包括以文件***中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层203封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络200中节点210之间的通信,数据传播机制保证了交易在区块链网络200中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点210之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络200的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络200的权限;业务主体身份管理用于存储允许接入区块链网络200的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层202封装了区块链网络200中的节点210对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。
共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。
交易管理:用于验证节点210接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络200的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理:用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层201封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
下面说明本发明实施例提供的构成图书管理平台的电子设备示例性结构。本发明实施例中的图书管理平台300独立于区块链网络200而部署,且可将图书管理平台300部署在电子设备中,本发明实施例中的电子设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器,例如云服务器。下面将说明电子设备实施为终端或服务器时的示例性应用。
参见图5,图5是本发明实施例提供的电子设备的结构示意图,图5所示的电子设备包括:至少一个处理器310、存储器350和至少一个网络接口320和用户接口330。电子设备中的各个组件通过总线***340耦合在一起。可理解,总线***340用于实现这些组件之间的连接通信。总线***340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线***340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。
存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本发明实施例描述的存储器350旨在包括任意适合类型的存储器。
在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***351,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块352,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块353,用于经由一个或多个与用户接口330相关联的输出装置331(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块354,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的基于区块链网络的图书管理装置可以采用软件方式实现,图5示出了存储在存储器350中的基于区块链网络的图书管理装置355,其可以是程序和插件等形式的软件,包括以下软件模块:信息获取模块3551、记录存储模块3552、记录查询模块3553和请求发送模块3554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的基于区块链网络的图书管理装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于区块链网络的图书管理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于区块链网络的图书管理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific In tegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面将结合附图对本发明实施例的实施方法作进一步地详细描述。参见图6,图6是本发明实施例提供的基于区块链网络的图书管理方法的一个可选的流程示意图,将结合图6示出的步骤进行说明。
步骤401:图书管理平台响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应目标图书的图书信息。
在实际实施时,用户可以通过第一终端上的图形界面输入针对目标图书的第一借阅请求,这里,第一借阅请求至少携带有目标图书的标识。图书管理平台可以对第一借阅请求进行解析,获取目标图书的标识,并基于目标图书的标识,在图书管理平台的数据库中查询目标图书的图书信息。
这里,图书信息可以包括图书的名称、图书的作者、图书的出版信息(如XX出版社)、图书所处的位置(如XX图书馆XX楼XX书架)、图书的流转信息等。
在一些实施例中,接收到区块链网络同步的多个非本地图书库的图书信息;存储多个非本地图书库的图书信息。
需要说明的是,图书库可以为图书馆,每个图书馆分别对应一个图书管理平台,每个图书管理平台均可以接入区块链网络。各个图书馆的管理员可以通过各自的图书管理平台将图书馆的图书信息存储至区块链网络,以使区块链网络存储多个图书馆的图书信息。区块链网络获取到多个图书馆的图书信息后,将多个图书馆的信息同步给各个图书管理平台。如此,每个图书馆的图书管理平台均存储有多个其他图书馆的图书信息。
例如,图7为本发明实施例提供的添加图书信息的界面示意图。如图7所示,管理员通过在图书信息的输入框中输入需要存储至区块链网络的图书信息,然后点击添加图标,以使图书管理平台获取到图书信息,并存储至区块链网络中。这里,管理员可以选择单个添加,也可以选择批量添加。
在一些实施例中,图书管理平台接收针对非本地图书库的图书的查询请求;基于多个非本地图书库的图书信息,返回对应查询请求的图书信息。
这里,由于图书管理平台存储有多个非本地图书库的图书信息,当用户通过终端向图书管理平台发送查询请求时,可以返回其他图书库的图书信息。如此,用户可以根据图书信息到图书所处的图书馆进行图书借阅,能够实现不同图书馆之间的图书共享。
例如,图8为本发明实施例提供的图书管理***的一个可选的架构示意图。如图8所示,图书管理平台存储有图书馆A、B、C的图书信息,图书馆A、B、C的图书信息是共享的,也即用户A和用户B可以通过图书管理平台借阅图书馆A、B、C中任一图书馆的图书。
步骤402:基于图书信息确定目标图书的借阅条件得到满足时,存储目标图书的借阅记录至区块链网络。
在实际实施时,当目标图书的借阅条件得到满足时,图书馆将目标图书借阅给第一终端的用户,图书管理平台获取将目标图书借阅给第一终端的用户的借阅信息,并基于借阅信息生成对应的借阅记录,将借阅记录发送至区块链网络。区块链网络接收到目标图书的借阅记录后,可以将借阅记录保存在区块链上,即完成借阅记录上链的过程。基于区块链网络去中心化、分布式存储和不可篡改的特性,一旦借阅记录保存在区块链上,借阅记录不可被任意篡改,能够确保借阅记录的真实性。
在一些实施例中,当图书信息至少包括图书的流转信息时,图书管理平台可以获取图书信息中目标图书的流转信息;当流转信息表征目标图书对应的位置处于本地图书库时,存储目标图书的借阅记录至区块链网络。
这里,流转信息指的是图书在借阅过程中的周转信息,可以表征目标图书的位置处于本地图书库,或借阅给某一用户。在一些实施例中,图书管理平台还会对用户的借阅权限进行验证,只有当目标图书在本地图书库且用户具有借阅权限时,图书馆才会将目标图书借阅给该用户,进而生成对应的借阅记录。
在一些实施例中,可以通过以下方式存储目标图书的借阅记录至区块链网络:生成用于存储借阅记录的交易;提交交易至区块链网络,以使区块链网络中的节点对交易共识后存储借阅记录至区块链。
这里,用于存储借阅记录的交易中携带有借阅记录以及待调用的智能合约的版本,在实际实施时,区块链网络中提供共识服务的多个节点对借阅记录进行共识,当确认提供共识服务的多个节点对借阅记录达成共识时,图书管理平台根据待调用的智能合约的版本调用相应的智能合约,通过执行智能合约将借阅记录写入至区块链网络中。
在一些实施例中,在图书管理平台将用于存储借阅记录的交易提交至区块链网络后,区块链网络的每个节点都会将图书管理平台提交的交易向全网广播,这里,可以通过P2P的方式将交易广播至全网,此时,区块链网络中提供共识服务的多个节点,将对借阅记录进行投票,基于区块链网络中所采用的共识机制,当提供共识服务的多个节点之间对交易达成一致,例如进行投票的赞同票达到设定条件时,则图书管理平台可以根据待调用的智能合约的版本调用相应的智能合约,通过执行调用的智能合约向区块链网络写入借阅记录。
在本发明实施例中,上述的存储目标图书的借阅记录至区块链网络,使得所有用户均能够获取到目标图书的借阅记录,起到互相监督的作用。
步骤403:响应于通过第二终端发送的针对目标图书的查询请求,从区块链网络中获取并返回目标图书的借阅记录。
在实际实施时,在目标图书的借阅记录上链后,图书管理平台会接收到区块链网络返回的借阅记录的链上地址,并将链上地址与目标图书相关联。如此,在图书管理平台接收到针对目标图书的查询请求时,获取目标图书的借阅记录的链上地址,以基于链上地址在区块链网络中查询目标图书的借阅记录。
需要说明的是,链上地址可以是区块链网络存储借阅记录的交易的哈希。区块链网络每执行一次交易将生成一个对应的交易的哈希,交易的哈希为由64位字符组成的字符串,且具有唯一性,例如:0x28b87aa213f3a591bf8e8c05b3af3939e0e6219d204e5451e63c398a1f6b2228。
示例的,图书管理平台将目标图书的借阅记录存储至区块链网络后,区块链网络生成一个对应的交易的哈希,将交易的哈希与目标图书的唯一标识值进行关联。
这里,目标图书可以以图书的编号作为图书的唯一标识值,图书的编号可以采用唯一的字符串(0x03b34bd8a4a72cbf7338f2318e10a3290b65b45a)来进行区分,当然,也可以采用其他具有唯一性的标识符。
在实际实施时,第二终端接收到图书管理平台返回的目标图书的借阅记录后,在图形显示界面上呈现借阅记录。例如,图9为本发明实施例提供的图书查询结果的一种可选的界面示意图,如图9所示,用户对“XXXX编选”进行查询,得到借阅记录为“用户A在7月30日归还”,表征目标图书已归还,可以从本地图书库借阅目标图书;图10为本发明实施例提供的图书查询结果的一种可选的界面示意图,如图10所示,用户对“XXXX编选”进行查询,得到借阅记录为“用户A在7月28日借出”,表征目标图书已被用户A借出,不在本地图书库中。
在一些实施例中,在执行步骤403之前,图书管理平台会验证发送查询请求中携带的数字签名和发起查询请求的用户的身份信息,根据用户的身份信息,确定用户是否具有发起查询请求的权限。
区块链网络的管理模块记录了可以发起查询请求的用户的身份信息、以及所述用户能够查询的信息的类型。当接收到查询请求时,管理模块首先将发起查询请求的用户的身份信息与管理模块的记录进行比对,确定所述用户是否能够发起查询请求、以及该用户能够查询的信息的类型。当用户不具有权限或者验证签名失败时,区块链网络向图书管理平台返回拒绝消息和原因,图书管理平台进而将拒绝消息返回给对应的终端。
需要说明的是,多个图书馆组成图书馆联盟,将各自图书馆的图书的借阅记录保存在同一区块链中。图书馆联盟中的任一图书馆的用户均可以在区块链网络中查询所有图书馆的图书的借阅记录。例如,用户B想要查询图书A的借阅记录时,可以在终端的图形界面登录图书管理平台,输入图书A的查询请求生成对应的查询操作的交易,在交易中指定实现查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了用户B签署的数字签名,并将交易广播到区块链网络。区块链网络中的节点在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的用户B的身份信息,确定用户B的交易权限,进而从状态数据库中查询图书A的信息对应的键值对,并将查询结果返回给用户B的终端的图形界面。
步骤404:响应于通过第二终端基于借阅记录,发送的第二借阅请求,发送对应目标图书的第三借阅请求给第一终端,以使第一终端基于第三借阅请求,确定目标图书的借阅归属状态。
这里,当第二终端呈现的借阅记录表征目标图书已经出借给其他用户时,第二终端的用户可以通过第二终端的图形界面输入第二借阅请求,以向目标图书的用户请求借阅图书。例如,如图10所示,借阅记录表征目标图书已经出借给用户A,第二终端的用户可以选中目标图书,通过点击借阅按钮,发送第二借阅请求,以向用户A请求借阅目标图书。
在一些实施例中,响应于通过第二终端基于借阅记录,发送的第二借阅请求,发送对应目标图书的第三借阅请求给第一终端,包括:根据第二借阅请求,生成用于身份验证的交易,第二借阅请求携带有目标用户的数字签名;提交交易至区块链网络,以使区块链网络的节点基于数字签名,对目标用户进行权限验证,得到并返回验证结果;当验证结果表征目标用户具有借阅目标图书的权限时,发送对应目标图书的第三借阅请求给第一终端。
在实际实施时,区块链网络记录了用户的身份信息、以及用户的权限。区块链网络可以将用户的身份信息与记录进行比对,确定用户的权限,以验证该用户是否能够发起第二借阅请求,并将验证结果返回给图书管理平台。只有当验证结果表征目标用户具有借阅目标图书的权限时,图书管理平台才会将对应目标图书的第三请求发送给第一终端;否则,会返回拒绝信息至第二终端。
在一些实施例中,参见图11,图11为本发明实施例提供的基于区块链网络的图书管理方法的另一个可选的流程示意图,基于图6,在步骤404之后,还可以执行步骤405至步骤407。
步骤405:第一终端呈现对应第三借阅请求的借阅信息,借阅信息用于指示第二终端请求借阅目标图书;
步骤406:接收到借阅信息触发的授权指令;
步骤407:基于授权指令,发送相应的授权信息,授权信息指示目标图书的借阅归属状态为归属于第二终端。
这里,第一终端基于第三借阅请求呈现对应的借阅信息,以使第一终端的用户能够根据借阅信息选择是否将目标图书借阅给第二终端的用户。在实际实施时,若第一终端的用户同意将目标图书借阅给第二终端的用户,用户可以通过在第一终端上的图形界面上执行点击操作,以触发授权指令。
例如,图12为本发明实施例提供的呈现借阅信息的界面示意图,如图12所示,第一终端呈现“XXX请求借阅XXX”的提示信息,并呈现“同意”及“拒绝”的选项,以使第一终端的用户能够通过点击“同意”触发授权指令。
在一些实施例中,图书管理平台在接收到第一终端发送的授权信息后,生成记录有借阅归属状态的借阅记录;存储记录有借阅归属状态的借阅记录至区块链网络。
这里,当第一终端发送授权信息后,表征目标图书由第一终端的用户借阅给第二终端的用户,图书管理平台会生成对应的借阅记录,如“7月20日,用户A将图书XX借给用户B”,并将借阅记录存储至区块链网络,以使所有用户均能查看到该借阅记录,如此,当有用户需要借阅目标图书时,能够准确确定目标图书的归属。
在实际实施时,存储记录有借阅归属状态的借阅记录至区块链网络的过程与上述存储借阅记录至区块链网络的过程相同,在此不再赘述。在一些实施例中,参见图13,图13为本发明实施例提供的基于区块链网络的图书管理方法的另一个可选的流程示意图,基于图6,在步骤404之后,还可以执行步骤408至步骤410。
步骤408:第一终端呈现对应第三借阅请求的借阅信息,借阅信息用于指示第二终端请求借阅目标图书;
步骤409:接收到基于借阅信息触发的非授权指令;
步骤410:基于非授权指令,发送相应的非授权信息,非授权信息指示目标图书的借阅归属状态为归属于第一终端。
在实际实施时,若第一终端的用户同意将目标图书借阅给第二终端的用户,用户可以通过在第一终端上的图形界面上执行点击操作,以触发授权指令。例如,如图12所示,第一终端的用户能够通过点击“拒绝”触发非授权指令。
这里,图书管理平台接收到第一终端发送的非授权信息后,将非授权信息发送给第二终端,以提示第一终端的用户拒绝将目标图书借出。
图14为本发明实施例提供的基于区块链网络的图书管理方法的另一个可选的流程示意图,参见图14,本发明实施例提供的基于区块链网络的图书管理方法包括:
步骤501:第一终端发送针对目标图书的第一借阅请求。
这里,用户可以通过第一终端上的客户端输入针对目标图书的第一借阅请求。
步骤502:图书管理平台根据第一借阅请求中携带的用户信息,确定第一用户的权限。
步骤503:当确定第一用户具有发起第一借阅请求的权限时,图书管理平台获取目标图书的流转信息。
这里,图书管理平台存储的目标图书的图书信息中包含目标图书的流转信息。流转信息为流转信息指的是图书在借阅过程中的周转信息,可以表征目标图书的位置处于本地图书库,或借阅给某一用户。
步骤504:当目标图书的流转信息表征目标图书位于本地图书库时,图书管理平台存储目标图书的借阅记录至区块链网络。
步骤505:区块链网络返回目标图书的借阅记录的链上地址。
这里,链上地址可以是区块链网络存储借阅记录的交易的哈希。区块链网络每执行一次交易将生成一个对应的交易的哈希,交易的哈希为由64位字符组成的字符串,且具有唯一性。
步骤506:图书管理平台将链上地址与目标图书进行关联存储。
例如,图书管理平台将目标图书的借阅记录存储至区块链网络后,区块链网络生成一个对应的交易的哈希,将交易的哈希与目标图书的唯一标识值进行关联。
步骤507:第二终端发送针对目标图书的查询请求。
这里,用户可以通过第二终端上的客户端输入针对目标图书的查询。
步骤508:图书管理平台基于查询请求,获取目标图书的借阅记录的链上地址。
步骤509:图书管理平台基于链上地址,在区块链网络上查询目标图书的借阅记录。
步骤510:图书管理平台将目标图书的借阅记录返回给第二终端。
步骤511:第二终端呈现目标图书的借阅记录。
步骤512:将第二借阅请求发送给图书管理平台。
步骤513:图书管理平台基于第二借阅请求,生成用于身份验证的交易。
步骤514:图书管理平台提交用于身份验证的交易至区块链网络。
步骤515:区块链网络的节点基于数字签名,对第二用户进行权限验证,得到并返回验证结果。
步骤516:当验证结果表征第二用户具有借阅目标图书的权限时,图书管理平台发送对应目标图书的第三借阅请求给第一终端。
步骤517:第一终端呈现第二用户请求借阅目标图书的借阅信息。
步骤518:基于接收到的授权指令,发送相应的授权信息。
这里,当第一用户同意将目标图书借给第二用户时,可以通过第一终端的图形界面发送授权指令,授权信息指示目标图书的借阅归属状态为归属于所述第二用户。若第一用户拒绝将目标图书借给第二用户,则会发送非授权指令,以指示目标图书的借阅归属状态为归属于所述第一用户。
步骤519:存储记录有借阅归属状态的借阅记录至所述区块链网络。
步骤520:区块链网络返回目标图书的借阅记录的链上地址。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
首先对本发明实施例提供的图书管理平台进行说明。相关技术中,每个图书馆分别建立有一个图书管理平台,分别存储有各自图书馆的图书信息。本发明实施例通过将各图书馆的信息存储至区块链网络,区块链网络再将多个图书馆的图书信息同步至各图书管理平台,使得每个图书管理平台存储多个图书馆的图书信息,实现不同图书馆的图书共享。如图8所示,图书管理平台存储有图书馆A、B、C三个图书馆的图书信息,用户可以通过图书管理平台查询/借阅不同图书馆的图书,实现了图书信息的共享。
接下来基于本发明实施例提供的图书管理平台,对基于区块链网络的图书管理方法进行说明。
在实际实施时,用户A可以登录图书管理平台进行图书的借阅,在图书借阅的过程中,可以先对想要借阅的图书A进行查询,若查询到图书A位于图书馆中时,可以对图书A进行借阅。在图书馆将图书A借给用户A后,图书管理平台会获取到相应的借阅记录,然后将借阅记录上传至区块链网络,以使所有用户均能够查阅到图书A的借阅记录。
在一些实施例中,将借阅记录上传至区块链网络可以通过以下方式实现:生成用于存储借阅记录的交易;提交交易至区块链网络,以使区块链网络中的节点对交易共识后存储借阅记录至区块链。
这里,用于存储借阅记录的交易中携带有借阅记录以及待调用的智能合约的版本,在实际实施时,区块链网络中提供共识服务的多个节点对借阅记录进行共识,当确认提供共识服务的多个节点对借阅记录达成共识时,图书管理平台根据待调用的智能合约的版本调用相应的智能合约,通过执行智能合约将借阅记录写入至区块链网络中。
然后,当用户B想要查询图书A的借阅记录时,可以在终端的图形界面登录图书管理平台,输入图书A的查询请求生成对应的查询操作的交易,在交易中指定实现查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了用户B签署的数字签名,并将交易广播到区块链网络。区块链网络中的节点在接收到交易时,对交易携带的数字签名进行验证,数字签名验证成功后,根据交易中携带的用户B的身份信息,确定用户B的交易权限,进而从状态数据库中查询图书A的信息对应的键值对,并将查询结果返回给用户B的终端的图形界面。
基于查询请求,用户B会获取到图书A已经被用户A借出的借阅记录,用户B可以通过终端输入借阅请求,通过图书管理平台发送给区块链网络,以请求向用户A借阅图书A。
在实际实施时,借阅请求中携带有数字签名和用户B的身份信息,区块链网络可以验证数字签名以确定用户B的身份信息,根据用户B的身份信息,确定用户B具有借阅权限时,通过图书管理平台将借阅请求发送给用户A的终端,以在终端上呈现读者B请求借阅图书A的借阅信息。用户A可以根据终端上呈现的信息,同意将图书A借给用户B时,输入授权指令,以通过终端发送授权信息给图书管理平台;否则,输入非授权指令,拒绝将图书A借给用户B,以通过终端发送非授权信息给图书管理平台。
这里,当用户A将图书A借给用户B后,图书管理平台根据授权信息,将对应的借阅记录上传至区块链网络,以便所有用户能够获知图书A处于用户B处。
下面继续说明本发明实施例提供的基于区块链网络的图书管理装置355的实施为软件模块的示例性结构,在一些实施例中,如图5所示,存储在存储器340的基于区块链网络的图书管理装置355中的软件模块可以包括:
信息获取模块3551,用于响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应所述目标图书的图书信息;
记录存储模块3552,用于基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络;
记录查询模块3553,用于响应于通过第二终端发送的针对所述目标图书的查询请求,从所述区块链网络中获取并返回所述目标图书的借阅记录;
请求发送模块3554,用于响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,以使所述第一终端基于所述第三借阅请求,确定所述目标图书的借阅归属状态。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图6示出的基于区块链网络的图书管理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例具有以下有益效果:
1)通过基于图书信息确定目标图书的借阅条件得到满足时,存储目标图书的借阅记录至区块链网络;由于区块链网络不可篡改的特征,能够确保借阅记录的真实性;
2)通过响应于通过第二终端基于借阅记录,发送的第二借阅请求,发送对应目标图书的第三借阅请求给第一终端;基于区块链网络去中心化的特征,实现了借阅者之间的借阅,即当借阅者查询到借阅的图书已经被出借给其他借阅者时,可以向其他借阅者发送图书的借阅请求,以从其他借阅者借阅图书,而不需要等到其他借阅者将图书归还给图书馆,再从图书借阅,提高了图书的借阅效率。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (8)
1.一种基于区块链网络的图书管理方法,其特征在于,包括:
响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应所述目标图书的图书信息;所述区块链网络存储有多个非本地图书库的图书信息;每一所述非本地图书库对应一个图书管理平台;每一所述图书管理平台接入所述区块链网络;不同的非本地图书库的图书信息共享;所述第一终端和第二终端能够通过所述图书管理平台借阅任一所述非本地图书库的图书;
基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络;
响应于通过第二终端发送的针对所述目标图书的查询请求,从所述区块链网络中获取并返回所述目标图书的借阅记录;
响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,通过所述第一终端呈现对应所述第三借阅请求的借阅信息,所述借阅信息用于指示第二终端请求借阅所述目标图书;
接收到基于所述借阅信息触发的授权指令;基于所述授权指令,发送相应的授权信息,所述授权信息指示所述目标图书的借阅归属状态为归属于所述第二终端;
接收到基于所述借阅信息触发的非授权指令;基于所述非授权指令,发送相应的非授权信息,所述非授权信息指示所述目标图书的借阅归属状态为归属于所述第一终端;以使所述第一终端基于所述第三借阅请求,确定所述目标图书的借阅归属状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收到所述区块链网络同步的所述多个非本地图书库的图书信息;
存储所述多个非本地图书库的图书信息。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收针对非本地图书库的图书的查询请求;
基于所述多个非本地图书库的图书信息,返回对应所述查询请求的图书信息。
4.如权利要求1所述的方法,其特征在于,所述基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络,包括:
获取所述图书信息中所述目标图书的流转信息;
当所述流转信息表征所述目标图书对应的位置处于本地图书库时,存储所述目标图书的借阅记录至区块链网络。
5.如权利要求1所述的方法,其特征在于,所述存储所述目标图书的借阅记录至区块链网络,包括:
生成用于存储所述借阅记录的交易;
提交所述交易至所述区块链网络,以使所述区块链网络中的节点对所述交易共识后存储所述借阅记录至区块链。
6.如权利要求1所述的方法,其特征在于,所述响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,包括:
根据所述第二借阅请求,生成用于身份验证的交易,所述第二借阅请求携带有目标用户的数字签名;
提交所述交易至所述区块链网络,以使所述区块链网络的节点基于所述数字签名,对所述目标用户进行权限验证,得到并返回验证结果;
当所述验证结果表征所述目标用户具有借阅所述目标图书的权限时,发送对应所述目标图书的第三借阅请求给所述第一终端。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于借阅授权信息,生成记录有所述借阅归属状态的借阅记录;
存储记录有所述借阅归属状态的借阅记录至所述区块链网络。
8.一种基于区块链网络的图书管理装置,其特征在于,所述装置包括:
信息获取模块,用于响应于通过第一终端发送的针对目标图书的第一借阅请求,获取对应所述目标图书的图书信息;所述区块链网络存储有多个非本地图书库的图书信息;每一所述非本地图书库对应一个图书管理平台;每一所述图书管理平台接入所述区块链网络;不同的非本地图书库的图书信息共享;所述第一终端和第二终端能够通过所述图书管理平台借阅任一所述非本地图书库的图书;
记录存储模块,用于基于所述图书信息确定所述目标图书的借阅条件得到满足时,存储所述目标图书的借阅记录至区块链网络;
记录查询模块,用于响应于通过第二终端发送的针对所述目标图书的查询请求,从所述区块链网络中获取并返回所述目标图书的借阅记录;
请求发送模块,用于响应于通过所述第二终端基于所述借阅记录,发送的第二借阅请求,发送对应所述目标图书的第三借阅请求给所述第一终端,以使所述第一终端基于所述第三借阅请求,确定所述目标图书的借阅归属状态;
第一信息接收模块,用于通过所述第一终端呈现对应所述第三借阅请求的借阅信息,所述借阅信息用于指示第二终端请求借阅所述目标图书;接收到基于所述借阅信息触发的授权指令;基于所述授权指令,发送相应的授权信息,所述授权信息指示所述目标图书的借阅归属状态为归属于所述第二终端;
第二信息接收模块,用于接收到基于所述借阅信息触发的非授权指令;基于所述非授权指令,发送相应的非授权信息,所述非授权信息指示所述目标图书的借阅归属状态为归属于所述第一终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843207.8A CN110544042B (zh) | 2019-09-06 | 2019-09-06 | 基于区块链网络的图书管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843207.8A CN110544042B (zh) | 2019-09-06 | 2019-09-06 | 基于区块链网络的图书管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110544042A CN110544042A (zh) | 2019-12-06 |
CN110544042B true CN110544042B (zh) | 2024-05-28 |
Family
ID=68713038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843207.8A Active CN110544042B (zh) | 2019-09-06 | 2019-09-06 | 基于区块链网络的图书管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110544042B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111682945B (zh) * | 2020-05-29 | 2023-04-18 | 百度在线网络技术(北京)有限公司 | 一种区块链的权限控制方法、装置、设备和介质 |
CN112559988A (zh) * | 2020-12-11 | 2021-03-26 | 杭州趣链科技有限公司 | 基于区块链的图书借阅方法、装置、设备和可读存储介质 |
CN115099681B (zh) * | 2022-07-18 | 2023-01-31 | 北京师范大学 | 一种基于区块链的图书馆管理***及其方法 |
CN115311732A (zh) * | 2022-10-12 | 2022-11-08 | 中国信息通信研究院 | 基于区块链的图书管理方法和装置 |
CN117523367B (zh) * | 2023-11-20 | 2024-06-28 | 南方电网调峰调频发电有限公司检修试验分公司 | 用于工器具管理的区块链*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760942A (zh) * | 2016-02-18 | 2016-07-13 | 李晓秋 | 一种图书借阅方法和装置 |
CN108491291A (zh) * | 2018-02-09 | 2018-09-04 | 厦门快商通信息技术有限公司 | 一种基于区块链的公安***档案管理方法 |
KR101897032B1 (ko) * | 2018-04-26 | 2018-09-10 | 이준엽 | 블록체인을 이용한 저작권 보호 장치 및 저작권 보호 방법 |
CN108765082A (zh) * | 2018-05-29 | 2018-11-06 | 深圳市元征科技股份有限公司 | 一种图书借阅方法、***、设备及计算机可读存储介质 |
CN109034437A (zh) * | 2018-08-16 | 2018-12-18 | 刘仕博 | 一种基于云终端的图书馆*** |
CN109034692A (zh) * | 2018-07-09 | 2018-12-18 | 遵义师范学院 | 一种二手书快速流通方法和*** |
CN109102664A (zh) * | 2018-09-21 | 2018-12-28 | 上海点融信息科技有限责任公司 | 基于区块链实现图书共享的方法、图书借阅终端及存储介质 |
CN109254975A (zh) * | 2018-09-21 | 2019-01-22 | 上海点融信息科技有限责任公司 | 基于区块链实现图书共享的方法、设备及可读存储介质 |
CN109635585A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市智税链科技有限公司 | 在区块链网络中查询交易信息的方法、代理节点和介质 |
CN109710823A (zh) * | 2018-11-02 | 2019-05-03 | 远光软件股份有限公司 | 基于区块链的档案管理方法、档案管理网络及电子设备 |
CN109785073A (zh) * | 2019-01-23 | 2019-05-21 | 北京星阑微光文化科技有限公司 | 共享图书的借阅方法和***、电子设备和存储介质 |
-
2019
- 2019-09-06 CN CN201910843207.8A patent/CN110544042B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760942A (zh) * | 2016-02-18 | 2016-07-13 | 李晓秋 | 一种图书借阅方法和装置 |
CN108491291A (zh) * | 2018-02-09 | 2018-09-04 | 厦门快商通信息技术有限公司 | 一种基于区块链的公安***档案管理方法 |
KR101897032B1 (ko) * | 2018-04-26 | 2018-09-10 | 이준엽 | 블록체인을 이용한 저작권 보호 장치 및 저작권 보호 방법 |
CN108765082A (zh) * | 2018-05-29 | 2018-11-06 | 深圳市元征科技股份有限公司 | 一种图书借阅方法、***、设备及计算机可读存储介质 |
CN109034692A (zh) * | 2018-07-09 | 2018-12-18 | 遵义师范学院 | 一种二手书快速流通方法和*** |
CN109034437A (zh) * | 2018-08-16 | 2018-12-18 | 刘仕博 | 一种基于云终端的图书馆*** |
CN109102664A (zh) * | 2018-09-21 | 2018-12-28 | 上海点融信息科技有限责任公司 | 基于区块链实现图书共享的方法、图书借阅终端及存储介质 |
CN109254975A (zh) * | 2018-09-21 | 2019-01-22 | 上海点融信息科技有限责任公司 | 基于区块链实现图书共享的方法、设备及可读存储介质 |
CN109710823A (zh) * | 2018-11-02 | 2019-05-03 | 远光软件股份有限公司 | 基于区块链的档案管理方法、档案管理网络及电子设备 |
CN109635585A (zh) * | 2018-12-07 | 2019-04-16 | 深圳市智税链科技有限公司 | 在区块链网络中查询交易信息的方法、代理节点和介质 |
CN109785073A (zh) * | 2019-01-23 | 2019-05-21 | 北京星阑微光文化科技有限公司 | 共享图书的借阅方法和***、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
区块链技术在图书馆馆藏借阅中的应用研究;严珊;图书馆研究与工作;第78-81页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110544042A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110544042B (zh) | 基于区块链网络的图书管理方法及装置 | |
US11451530B2 (en) | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment | |
CN109981679B (zh) | 在区块链网络中执行事务的方法和装置 | |
US11611560B2 (en) | Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform | |
US11038771B2 (en) | Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT) | |
US20230122875A1 (en) | User controlled storage and sharing of personal user information on a blockchain | |
CN110543545B (zh) | 基于区块链的档案管理方法、装置及存储介质 | |
US10997159B2 (en) | Blockchain notification board storing blockchain resources | |
US11196772B2 (en) | Data access policies | |
US20200242595A1 (en) | Systems, methods, and apparatuses utilizing a blended blockchain ledger in a cloud service to address local storage | |
US20190236562A1 (en) | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment | |
CN110503373B (zh) | 一种基于区块链网络的物流方法及装置 | |
US20220209948A1 (en) | Blockchain notification board storing blockchain resources | |
US20220382746A1 (en) | Blockchain notification board storing blockchain resources | |
WO2020119506A1 (zh) | 一种基于联盟链的身份认证方法及终端设备 | |
CN112513900A (zh) | 用于共识管理的***和方法 | |
CN112925589B (zh) | 扩展接口的调用方法及装置 | |
CN115658794B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
WO2023193971A1 (en) | Software Application Feature Access and Enhancement Using Non-Fungible Tokens | |
CN117408687A (zh) | 基于区块链的业务处理方法、装置、设备、介质及产品 | |
WO2022140948A1 (zh) | 账户管理方法、***、服务器及介质 | |
CN117081782A (zh) | 网络接入方法、***、计算机设备及存储介质 | |
CN116541813A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |