首页 / 专利库 / 专利权 / 申请 / 国际申请 / 请求书 / 一种基于区块链技术的图书漂流方法及系统

一种基于链技术的图书漂流方法及系统

阅读:913发布:2020-05-12

专利汇可以提供一种基于链技术的图书漂流方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 区 块 链 技术的图书漂流方法及系统,属于区块链技术领域,包括:Web前端将用户 请求 发送至Web后端后,由Web后端进行解析;若为用户注册请求,则将第一用户信息和第二用户信息分别存储到 数据库 和区块链中;若为图书捐赠请求,则将第一书籍信息存储到数据库中,并将第二书籍信息连同初始书籍状态信息存储到区块链中;若为图书借阅请求或图书归还请求,则利用书籍状态信息对区块链中的书籍状态信息进行更新;若为图书查询请求,则根据书名或书籍类别信息分别查询数据库和区块链,得到被查询书籍的第一书籍信息、第二书籍信息以及最新的书籍状态信息。本发明能够提高书籍流转效率并为图书漂流活动提供监督机制,促进图书漂流活动发展。,下面是一种基于链技术的图书漂流方法及系统专利的具体信息内容。

1.一种基于链技术的图书漂流方法,其特征在于,包括:
Web前端将用户请求发送至Web后端后,由所述Web后端对所述用户请求进行解析;
若所述用户请求为用户注册请求,则所述Web后端将从所述用户请求中解析得到的第一用户信息存储到数据库中,并通过调用智能合约,将从所述用户请求中解析得到的第二用户信息存储到区块链中;
若所述用户请求为图书捐赠请求,则所述Web后端将从所述用户请求中解析得到的第一书籍信息存储到所述数据库中,并初始化被捐赠书籍的书籍状态信息,之后通过调用所述智能合约,将从所述用户请求中解析得到的第二书籍信息连同该书籍状态信息存储到所述区块链中;
若所述用户请求为图书借阅请求,则所述Web后端通过调用所述智能合约,利用从所述用户请求中解析得到的书籍状态信息对所述区块链中的书籍状态信息进行更新;
若所述用户请求为图书归还请求,则所述Web后端通过调用所述智能合约,利用从所述用户请求中解析得到的书籍状态信息对所述区块链中的书籍状态信息进行更新;
若所述用户请求为图书查询请求,则所述Web后端从所述用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询所述数据库,以得到被查询书籍的第一书籍信息,并通过调用所述智能合约查询所述区块链,以得到被查询书籍的第二书籍信息以及最新的书籍状态信息;
其中,所述第一用户信息包括:用户编号、用户名以及密码;所述第二用户信息包括:所在机构名称、联系方式、捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量;所述第一书籍信息包括:书籍编号、书名、图片路径、作者、书籍描述、出版社;所述第二书籍信息包括:捐赠用户的用户编号、书名、书籍类别;所述书籍状态包括:当前借阅用户的用户编号、是否可借阅、想看此书籍的读者数量、最长借阅时间、开始借阅时间。
2.如权利要求1所述的基于区块链技术的图书漂流方法,其特征在于,还包括:
所述Web后端按照固定的时间间隔调用所述智能合约,遍历所有已借出的书籍,并检测各书籍的借阅时间是否超过对应的最长借阅时间,若是,则更新该书籍的书籍状态信息,以标记该书籍可借阅,并从借阅用户的当前借阅书籍列表中删除该书籍的信息,从而完成该书籍的自动归还。
3.如权利要求1所述的基于区块链技术的图书漂流方法,其特征在于,还包括:
若所述用户请求为用户登录请求,则所述Web后端从所述用户请求中解析得到登录用户的用户名和密码后,查询所述数据库中的第一用户信息,以验证登录用户的身份是否合法。
4.如权利要求1所述的基于区块链技术的图书漂流方法,其特征在于,还包括:
若所述用户请求为书籍收藏请求,则所述Web后端从所述用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询所述数据库,以得到被查询书籍的第一书籍信息,并返回给所述Web前端,以由用户在本地进行记录。
5.如权利要求1所述的基于区块链技术的图书漂流方法,其特征在于,还包括:
若所述用户请求为书籍预定请求,则所述Web后端从所述用户请求中解析得到被预定书籍的书名或书籍类别信息后,通过调用所述智能合约,更新所述区块链中被预定书籍的书籍状态信息,使得其中想看此书籍的读者数量加1。
6.如权利要求1-5任一项所述的基于区块链技术的图书漂流方法,其特征在于,若所述用户请求为图书借阅请求,则所述Web后端通过调用所述智能合约,利用从所述用户请求中解析得到的书籍状态信息对所述区块链中的书籍状态信息进行更新,包括:
所述Web后端根据从所述用户请求中解析得到的信息,设置被借阅书籍当前借阅用户的用户编号和开始借阅时间,并标记该书籍为不可借阅,从而生成被借阅书籍的新的书籍状态信息,之后调用所述智能合约;
由机构所在区块链节点作为代理,将图书借阅行为构成一个事务,并广播到所述区块链网络中进行共识,从而在共识成功后,将新的书籍状态信息以区块的形式存储到所述区块链中。
7.如权利要求1-5任一项所述的基于区块链技术的图书漂流方法,其特征在于,若所述用户请求为图书归还请求,则所述Web后端通过调用所述智能合约,利用从所述用户请求中解析得到的书籍状态信息对所述区块链中的书籍状态信息进行更新,包括:
所述Web后端根据从所述用户请求中解析得到的信息,标记被归还书籍为可借阅,从而生成被借阅书籍的新的书籍状态信息,之后调用所述智能合约;
由机构所在区块链节点作为代理,将图书归还行为构成一个事务,并广播到所述区块链网络中进行共识,从而在共识成功后,将新的书籍状态信息以区块的形式存储到所述区块链中。
8.一种基于区块链技术的图书漂流系统,其特征在于,包括:Web前端、Web后端、数据库、智能合约以及区块链;
所述Web后端包括:请求解析模块、用户管理模块、书籍管理模块、借阅管理模块、归还管理模块以及查询管理模块;
所述Web前端,用于将用户请求发送至所述请求解析模块;
所述请求解析模块用于对所述用户请求进行解析,若为用户注册请求,则将解析结果发送至所述用户管理模块;若为书籍捐赠请求,则将解析结果发送至所述书籍管理模块;若为书籍借阅请求,则将解析结果发送至所述借阅管理模块;若为书籍归还模块,则将解析结果发送至所述归还管理模块;若为书籍查询模块,则将解析结果发送至所述查询管理模块;
所述用户管理模块,用于将从所述用户请求中解析得到的第一用户信息存储到数据库中,并通过调用所述智能合约,将从所述用户请求中解析得到的第二用户信息存储到区块链中;
所述书籍管理模块,用于将从所述用户请求中解析得到的第一书籍信息存储到所述数据库中,并初始化被捐赠书籍的书籍状态信息,之后通过调用所述智能合约,将从所述用户请求中解析得到的第二书籍信息连同该书籍状态信息存储到所述区块链中;
所述借阅管理模块,用于通过调用所述智能合约,利用从所述用户请求中解析得到的书籍状态信息对所述区块链中的书籍状态信息进行更新;
所述归还管理模块,用于通过调用所述智能合约,利用从所述用户请求中解析得到的书籍状态信息对所述区块链中的书籍状态信息进行更新;
所述查询管理模块,用于从所述用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询所述数据库,以得到被查询书籍的第一书籍信息,并通过调用所述智能合约查询所述区块链,以得到被查询书籍的第二书籍信息以及最新的书籍状态信息;
其中,所述第一用户信息包括:用户编号、用户名以及密码;所述第二用户信息包括:所在机构名称、联系方式、捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量;所述第一书籍信息包括:书籍编号、书名、图片路径、作者、书籍描述、出版社;所述第二书籍信息包括:捐赠用户的用户编号、书名、书籍类别;所述书籍状态包括:当前借阅用户的用户编号、是否可借阅、想看此书籍的读者数量、最长借阅时间、开始借阅时间。
9.如权利要求8所述的基于区块链技术的图书漂流系统,其特征在于,所述Web后端还包括:登录验证模块;
所述请求解析模块,还用于在解析所述用户请求为用户登录请求时,将对所述用户请求的解析结果发送至所述登录验证模块;
所述登录验证模块,用于从所述用户请求中解析得到登录用户的用户名和密码后,查询所述数据库中的第一用户信息,以验证登录用户的身份是否合法。
10.如权利要求8所述的基于区块链技术的图书漂流系统,其特征在于,所述归还管理模块,还用于按照固定的时间间隔调用所述智能合约,遍历所有已借出的书籍,并检测各书籍的借阅时间是否超过对应的最长借阅时间,若是,则更新该书籍的书籍状态信息,以标记该书籍可借阅,并从借阅用户的当前借阅书籍列表中删除该书籍的信息,从而完成该书籍的自动归还。

说明书全文

一种基于链技术的图书漂流方法及系统

技术领域

[0001] 本发明属于区块链技术领域,更具体地,涉及一种基于区块链技术的图书漂流方法及系统。

背景技术

[0002] 图书漂流,是指书籍所有者将自己的图书放置在公共的区域内无偿地提供给大家进行阅读,拿到书籍的人阅读完之后,再以相同的方式将书籍投放到公共场所中。
[0003] 互联网的出现加速了图书漂流的活动的普及,2001年4月,美国的罗恩·霍恩贝克开设了一个图书漂流的网站,从此图书漂流活动得以迅速发展。但是目前,与图书漂流有关的网站和APP并不多,而且图书漂流活动还存在着以下问题:
[0004] (1)流转效率低:漂流书籍被放置在指定位置的时候,没有实际的方法通知潜在的读者,导致图书不能及时地被拿走阅读,图书将在一段时间内处于闲置状态,大大降低了图书漂流的效率;另一方面,当书籍被读者拿走时,由于没有时间的限制,读者可以随意地进行阅读,书籍可能长期在某位读者的手中,进一步降低了书籍的流转效率;
[0005] (2)书籍遭受损坏:由于缺乏监督机制,在图书漂流的过程中,有些读者未能妥善的保管爱护书籍,当归还书籍的时候,书籍上会存在笔划、缺页等情况,严重的可能使书籍完全损坏,导致图书无法继续漂流;
[0006] (3)信任缺失:社会上普遍存在信任缺失的现象,一些人不讲诚信,也会同时猜疑别人同样不讲诚信,而现有的图书漂流活动缺乏监督机制,导致了参与图书漂流活动的用户有限,限制了图书漂流活动的范围;通过调查得知,有部分人认为拿走图书会被人视作是贪小便宜,还有部分人认为图书漂流可能是个陷阱;
[0007] (4)图书馆的工作模式存在问题:一些热图书的库存数量有限,不能完全满足读者的借阅需求;同时,书籍的归还-借阅的周期较长,存在着重新上架的一段空档期,严重影响了书籍的及时借阅;此外,大多数图书馆只在馆内提供图书的查询服务,读者需要亲自到图书馆才能了解图书的具体情况,信息的传递方式较单一。

发明内容

[0008] 针对现有技术缺陷和改进需求,本发明提供了一种基于区块链技术的图书漂流方法及系统,其目的在于,提高书籍流转效率,并为图书漂流活动提供监督机制,促进图书漂流活动发展。
[0009] 为实现上述目的,按照本发明的第一方面,提供了一种基于区块链技术的图书漂流方法,包括:
[0010] Web前端将用户请求发送至Web后端后,由Web后端对用户请求进行解析;
[0011] 若用户请求为用户注册请求,则Web后端将从用户请求中解析得到的第一用户信息存储到数据库中,并通过调用智能合约,将从用户请求中解析得到的第二用户信息存储到区块链中;
[0012] 若用户请求为图书捐赠请求,则Web后端将从用户请求中解析得到的第一书籍信息存储到数据库中,并初始化被捐赠书籍的书籍状态信息,之后通过调用智能合约,将从用户请求中解析得到的第二书籍信息连同该书籍状态信息存储到区块链中;
[0013] 若用户请求为图书借阅请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0014] 若用户请求为图书归还请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0015] 若用户请求为图书查询请求,则Web后端从用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询数据库,以得到被查询书籍的第一书籍信息,并通过调用智能合约查询区块链,以得到被查询书籍的第二书籍信息以及最新的书籍状态信息;
[0016] 其中,第一用户信息包括:用户编号、用户名以及密码;第二用户信息包括:所在机构名称、联系方式、捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量;第一书籍信息包括:书籍编号、书名、图片路径、作者、书籍描述、出版社;第二书籍信息包括:捐赠用户的用户编号、书名、书籍类别;书籍状态包括:当前借阅用户的用户编号、是否可借阅、想看此书籍的读者数量、最长借阅时间、开始借阅时间。
[0017] 第一用户信息和第一书籍信息为用户和书籍的固有属性信息,会被经常查询,并且在实际应用中,篡改这些信息是毫无意义的,因而这些信息被篡改的险较小;本发明所提供的基于区块链技术的图书漂流方法,利用数据库存储第一用户信息和第一书籍信息,能够在保证数据安全的情况下,有效提升查询性能;第二用户信息、第二书籍信息以及书籍状态信息共同指明了书籍的当前位置信息,以及当前借阅者的详细信息,这些信息的丢失将导致书籍的丢失;本发明所提供的基于区块链技术的图书漂流方法,利用区块链存储第二用户信息、第二书籍信息以及书籍状态信息,能够利用区块链为图书漂流活动提供监督机制,使得书籍的借阅和归还行为受到其他用户的监督,从而规范书籍的借阅和归还行为;本发明所提供的基于区块链技术的图书漂流方法,可供用户及时、准确地查询书籍的基本信息及状态信息,能够有效提高图书的流转效率。总的来说,本发明能够提高书籍流转效率,并为图书漂流活动提供监督机制,促进图书漂流活动发展。
[0018] 进一步地,本发明第一方面提供的基于区块链技术的图书漂流方法,还包括:
[0019] Web后端按照固定的时间间隔调用智能合约,遍历所有已借出的书籍,并检测各书籍的借阅时间是否超过对应的最长借阅时间,若是,则更新该书籍的书籍状态信息,以标记该书籍可借阅,并从借阅用户的当前借阅书籍列表中删除该书籍的信息,从而完成该书籍的自动归还。
[0020] 本发明所提供的基于区块链技术的图书漂流方法,通过上述归还机制,能够保证书籍被借阅后,在指定时间内被归还,避免书籍被同一用户长时间借阅,从而进一步提高书籍的流转效率。
[0021] 进一步地,本发明第一方面提供的基于区块链技术的图书漂流方法,还包括:
[0022] 若用户请求为用户登录请求,则Web后端从用户请求中解析得到登录用户的用户名和密码后,查询数据库中的第一用户信息,以验证登录用户的身份是否合法。
[0023] 进一步地,本发明第一方面提供的基于区块链技术的图书漂流方法,还包括:
[0024] 若用户请求为书籍收藏请求,则Web后端从用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询数据库,以得到被查询书籍的第一书籍信息,并返回给Web前端,以由用户在本地进行记录。
[0025] 进一步地,本发明第一方面提供的基于区块链技术的图书漂流方法,还包括:
[0026] 若用户请求为书籍预定请求,则Web后端从用户请求中解析得到被预定书籍的书名或书籍类别信息后,通过调用智能合约,更新区块链中被预定书籍的书籍状态信息,使得其中想看此书籍的读者数量加1。
[0027] 进一步地,若用户请求为图书借阅请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新,包括:
[0028] Web后端根据从用户请求中解析得到的信息,设置被借阅书籍当前借阅用户的用户编号和开始借阅时间,并标记该书籍为不可借阅,从而生成被借阅书籍的新的书籍状态信息,之后调用智能合约;
[0029] 由机构所在区块链节点作为代理,将图书借阅行为构成一个事务,并广播到区块链网络中进行共识,从而在共识成功后,将新的书籍状态信息以区块的形式存储到区块链中。
[0030] 进一步地,若用户请求为图书归还请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新,包括:
[0031] Web后端根据从用户请求中解析得到的信息,标记被归还书籍为可借阅,从而生成被借阅书籍的新的书籍状态信息,之后调用智能合约;
[0032] 由机构所在区块链节点作为代理,将图书归还行为构成一个事务,并广播到区块链网络中进行共识,从而在共识成功后,将新的书籍状态信息以区块的形式存储到区块链中。
[0033] 按照本发明的第二方面,提供了一种基于区块链技术的图书漂流系统,包括:Web前端、Web后端、数据库、智能合约以及区块链;
[0034] Web后端包括:请求解析模块、用户管理模块、书籍管理模块、借阅管理模块、归还管理模块以及查询管理模块;
[0035] Web前端,用于将用户请求发送至请求解析模块;
[0036] 请求解析模块用于对用户请求进行解析,若为用户注册请求,则将解析结果发送至用户管理模块;若为书籍捐赠请求,则将解析结果发送至书籍管理模块;若为书籍借阅请求,则将解析结果发送至借阅管理模块;若为书籍归还模块,则将解析结果发送至归还管理模块;若为书籍查询模块,则将解析结果发送至查询管理模块;
[0037] 用户管理模块,用于将从用户请求中解析得到的第一用户信息存储到数据库中,并通过调用智能合约,将从用户请求中解析得到的第二用户信息存储到区块链中;
[0038] 书籍管理模块,用于将从用户请求中解析得到的第一书籍信息存储到数据库中,并初始化被捐赠书籍的书籍状态信息,之后通过调用智能合约,将从用户请求中解析得到的第二书籍信息连同该书籍状态信息存储到区块链中;
[0039] 借阅管理模块,用于通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0040] 归还管理模块,用于通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0041] 查询管理模块,用于从用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询数据库,以得到被查询书籍的第一书籍信息,并通过调用智能合约查询区块链,以得到被查询书籍的第二书籍信息以及最新的书籍状态信息;
[0042] 其中,第一用户信息包括:用户编号、用户名以及密码;第二用户信息包括:所在机构名称、联系方式、捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量;第一书籍信息包括:书籍编号、书名、图片路径、作者、书籍描述、出版社;第二书籍信息包括:捐赠用户的用户编号、书名、书籍类别;书籍状态包括:当前借阅用户的用户编号、是否可借阅、想看此书籍的读者数量、最长借阅时间、开始借阅时间。
[0043] 进一步地,Web后端还包括:登录验证模块;
[0044] 请求解析模块,还用于在解析用户请求为用户登录请求时,将对用户请求的解析结果发送至登录验证模块;
[0045] 登录验证模块,用于从用户请求中解析得到登录用户的用户名和密码后,查询数据库中的第一用户信息,以验证登录用户的身份是否合法。
[0046] 进一步地,归还管理模块,还用于按照固定的时间间隔调用智能合约,遍历所有已借出的书籍,并检测各书籍的借阅时间是否超过对应的最长借阅时间,若是,则更新该书籍的书籍状态信息,以标记该书籍可借阅,并从借阅用户的当前借阅书籍列表中删除该书籍的信息,从而完成该书籍的自动归还。
[0047] 总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
[0048] (1)本发明所提供的基于区块链技术的图书漂流方法及系统,利用数据库存储第一用户信息和第一书籍信息,能够在保证数据安全的情况下,有效提升查询性能;利用区块链存储第二用户信息、第二书籍信息以及书籍状态信息,能够利用区块链为图书漂流活动提供监督机制,使得书籍的借阅和归还行为受到其他用户的监督,从而规范书籍的借阅和归还行为;可供用户及时、准确地查询书籍的基本信息及状态信息,能够有效提高图书的流转效率。总的来说,本发明能够提高书籍流转效率,并为图书漂流活动提供监督机制,促进图书漂流活动发展。
[0049] (2)本发明所提供的基于区块链技术的图书漂流方法及系统,设置了自动归还机制,能够保证书籍被借阅后,在指定时间内被归还,避免书籍被同一用户长时间借阅,从而进一步提高书籍的流转效率。附图说明
[0050] 图1为本发明实施例提供的基于区块链技术的图书漂流方法流程图
[0051] 图2为本发明实施例提供的基于区块链技术的图书漂流系统示意图。

具体实施方式

[0052] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0053] 在本发明中,本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0054] 为了提高书籍流转效率,并为图书漂流活动提供监督机制,本发明所提供的基于区块链技术的图书漂流方法,如图1所示,包括:
[0055] Web前端将用户请求发送至Web后端后,由Web后端对用户请求进行解析;
[0056] 若用户请求为用户注册请求,则Web后端将从用户请求中解析得到的第一用户信息存储到数据库中,并通过调用智能合约,将从用户请求中解析得到的第二用户信息存储到区块链中;
[0057] 若用户请求为图书捐赠请求,则Web后端将从用户请求中解析得到的第一书籍信息存储到数据库中,并初始化被捐赠书籍的书籍状态信息,之后通过调用智能合约,将从用户请求中解析得到的第二书籍信息连同该书籍状态信息存储到区块链中;
[0058] 若用户请求为图书借阅请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0059] 若用户请求为图书归还请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0060] 若用户请求为图书查询请求,则Web后端从用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询数据库,以得到被查询书籍的第一书籍信息,并通过调用智能合约查询区块链,以得到被查询书籍的第二书籍信息以及最新的书籍状态信息;
[0061] 其中,第一用户信息包括:用户编号、用户名以及密码;第二用户信息包括:所在机构名称、联系方式、捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量;第一书籍信息包括:书籍编号、书名、图片路径、作者、书籍描述、出版社;第二书籍信息包括:捐赠用户的用户编号、书名、书籍类别;书籍状态包括:当前借阅用户的用户编号、是否可借阅、想看此书籍的读者数量、最长借阅时间、开始借阅时间。
[0062] 第一用户信息和第一书籍信息为用户和书籍的固有属性信息,会被经常查询,并且在实际应用中,篡改这些信息是毫无意义的,因而这些信息被篡改的风险较小;上述基于区块链技术的图书漂流方法,利用数据库存储第一用户信息和第一书籍信息,能够在保证数据安全的情况下,有效提升查询性能;第二用户信息、第二书籍信息以及书籍状态信息共同指明了书籍的当前位置信息,以及当前借阅者的详细信息,这些信息的丢失将导致书籍的丢失;上述基于区块链技术的图书漂流方法,利用区块链存储第二用户信息、第二书籍信息以及书籍状态信息,能够利用区块链为图书漂流活动提供监督机制,使得书籍的借阅和归还行为受到其他用户的监督,从而规范书籍的借阅和归还行为;上述基于区块链技术的图书漂流方法,可供用户及时、准确地查询书籍的基本信息及状态信息,能够有效提高图书的流转效率。总的来说,上述基于区块链技术的图书漂流方法,能够提高书籍流转效率,并为图书漂流活动提供监督机制,促进图书漂流活动发展。
[0063] 在一个可选的实施方式中,为进一步提高书籍流转效率,如图1所示,上述基于区块链技术的图书漂流方法,还可包括:
[0064] Web后端按照固定的时间间隔调用智能合约,遍历所有已借出的书籍,并检测各书籍的借阅时间是否超过对应的最长借阅时间,若是,则更新该书籍的书籍状态信息,以标记该书籍可借阅,并从借阅用户的当前借阅书籍列表中删除该书籍的信息,从而完成该书籍的自动归还;
[0065] 由于图书漂流没有固定的放书地点,借阅者阅读完成后书籍还是在原借阅者手上的,其它读者在系统中看到这本书籍可用的时候就可以联系原借阅者进行借阅,实体书籍不用进行物理上的归还;通过上述归还机制,能够保证书籍被借阅后,在指定时间内被归还,避免书籍被同一用户长时间借阅,从而进一步提高书籍的流转效率;Web后端遍历所有已借出书籍的时间间隔,可根据实际需求确定,以保证能够及时发现借阅超期的书籍,并触发自动归还的操作,例如,在本实施例中,该时间间隔被设置为1分钟。
[0066] 在一个可选的实施方式中,如图1所示,上述基于区块链技术的图书漂流方法,还包括:
[0067] 若用户请求为用户登录请求,则Web后端从用户请求中解析得到登录用户的用户名和密码后,查询数据库中的第一用户信息,以验证登录用户的身份是否合法。
[0068] 在一个可选的实施方式中,如图1所示,上述基于区块链技术的图书漂流方法,还包括:
[0069] 若用户请求为书籍收藏请求,则Web后端从用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询数据库,以得到被查询书籍的第一书籍信息,并返回给Web前端,以由用户在本地进行记录。
[0070] 在一个可选的实施方式中,如图1所示,上述基于区块链技术的图书漂流方法,还包括:
[0071] 若用户请求为书籍预定请求,则Web后端从用户请求中解析得到被预定书籍的书名或书籍类别信息后,通过调用智能合约,更新区块链中被预定书籍的书籍状态信息,使得其中想看此书籍的读者数量加1。
[0072] 在一个可选的实施方式中,若用户请求为图书借阅请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新,包括:
[0073] Web后端根据从用户请求中解析得到的信息,设置被借阅书籍当前借阅用户的用户编号和开始借阅时间,并标记该书籍为不可借阅,从而生成被借阅书籍的新的书籍状态信息,之后调用智能合约;
[0074] 由用户所属机构所在的区块链节点作为代理,将图书借阅行为构成一个事务,并广播到区块链网络中进行共识,从而在共识成功后,将新的书籍状态信息以区块的形式存储到区块链中;
[0075] 在本实施例中,所使用的区块链具体为FISCO-BCOS,智能合约即部署在FISCO-BCOS区块链上;FISCO-BCOS开源区块链平台是金融区块链合作联盟开源工作组深度定制的安全可控、适用于金融行业且完全开源的区块链底层平台;机构节点运行FISCO-BCOS区块链平台,提供了节点间的共识与存储服务,为智能合约的执行提供了良好的环境;FISCO-BCOS采用了PBFT共识机制,相应的共识过程为:每轮由一个leader负责将区块链网络中的事务进行验证,验证通过后将这些事务打包成一个区块然后广播给所有的follower节点,follower节点对区块中的事务进行再次验证,然后对这个区块的有效性进行投票,若follower节点收到超过2/3的节点投票通过的消息,则认为当前区块是有效的并将其追加到本地的区块链上;
[0076] 应当理解的是,具体的共识过程是由区块链内部的共识机制决定,以上描述仅为示例性的描述,不应理解为对本发明的唯一限定,对于其他区块链中的具体共识过程,在此将不再一一列举。
[0077] 在一个可选的实施方式中,若用户请求为图书归还请求,则Web后端通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新,包括:
[0078] Web后端根据从用户请求中解析得到的信息,标记被归还书籍为可借阅,从而生成被借阅书籍的新的书籍状态信息,之后调用智能合约;
[0079] 由用户所属机构所在的区块链节点作为代理,将图书归还行为构成一个事务,并广播到区块链网络中进行共识,从而在共识成功后,将新的书籍状态信息以区块的形式存储到区块链中;
[0080] 在本实施例中,对图书归还行为事务的共识过程与图书借阅行为事务的共识过程类似,在此将不再复述。
[0081] 本发明还提供了一种基于区块链技术的图书漂流系统,包括:Web前端、Web后端、数据库、智能合约以及区块链;
[0082] Web后端包括:请求解析模块、用户管理模块、书籍管理模块、借阅管理模块、归还管理模块以及查询管理模块;
[0083] Web前端,用于将用户请求发送至请求解析模块;
[0084] 请求解析模块用于对用户请求进行解析,若为用户注册请求,则将解析结果发送至用户管理模块;若为书籍捐赠请求,则将解析结果发送至书籍管理模块;若为书籍借阅请求,则将解析结果发送至借阅管理模块;若为书籍归还模块,则将解析结果发送至归还管理模块;若为书籍查询模块,则将解析结果发送至查询管理模块;
[0085] 用户管理模块,用于将从用户请求中解析得到的第一用户信息存储到数据库中,并通过调用智能合约,将从用户请求中解析得到的第二用户信息存储到区块链中;
[0086] 书籍管理模块,用于将从用户请求中解析得到的第一书籍信息存储到数据库中,并初始化被捐赠书籍的书籍状态信息,之后通过调用智能合约,将从用户请求中解析得到的第二书籍信息连同该书籍状态信息存储到区块链中;
[0087] 借阅管理模块,用于通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0088] 归还管理模块,用于通过调用智能合约,利用从用户请求中解析得到的书籍状态信息对区块链中的书籍状态信息进行更新;
[0089] 查询管理模块,用于从用户请求中解析得到被查询书籍的书名或书籍类别信息后,查询数据库,以得到被查询书籍的第一书籍信息,并通过调用智能合约查询区块链,以得到被查询书籍的第二书籍信息以及最新的书籍状态信息;
[0090] 其中,第一用户信息包括:用户编号、用户名以及密码;第二用户信息包括:所在机构名称、联系方式、捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量;第一书籍信息包括:书籍编号、书名、图片路径、作者、书籍描述、出版社;第二书籍信息包括:捐赠用户的用户编号、书名、书籍类别;书籍状态包括:当前借阅用户的用户编号、是否可借阅、想看此书籍的读者数量、最长借阅时间、开始借阅时间。
[0091] 在一个可选的实施方式中,Web后端还可包括:登录验证模块;
[0092] 请求解析模块,还用于在解析用户请求为用户登录请求时,将对用户请求的解析结果发送至登录验证模块;
[0093] 登录验证模块,用于从用户请求中解析得到登录用户的用户名和密码后,查询数据库中的第一用户信息,以验证登录用户的身份是否合法。
[0094] 在一个可选的实施方式中,为了进一步提高图书流转效率,归还管理模块,还用于按照固定的时间间隔调用智能合约,遍历所有已借出的书籍,并检测各书籍的借阅时间是否超过对应的最长借阅时间,若是,则更新该书籍的书籍状态信息,以标记该书籍可借阅,并从借阅用户的当前借阅书籍列表中删除该书籍的信息,从而完成该书籍的自动归还。
[0095] 本发明所提供的基于区块链技术的图书漂流系统,可表示成图2所示的三层结构,具体为:应用层、系统服务层和区块链网络层;其中,应用层由Web前端构成,系统服务层由Web后端和数据库构成,区块链网络层由区块链和智能合约构成;应用层与系统服务层之间可通过HTTP协议通信,系统服务层和区块链网络层之间可通过远程过程调用(RPC)通信;
[0096] 容易理解的是,Web前端为用户提供了与该图书漂流系统之间的交互接口,Web前端中会存在相应的功能模块;在一个可选的实施方式中,Web前端中具体包括:注册模块、捐赠模块、借阅模块、归还模块、查询模块、登录模块、收藏模块、预定模块以及请求发送模块;
[0097] 注册模块,用于为待注册用户生成唯一的用户编号,并接收待注册用户的用户名和密码,从而得到待注册用户的第一用户信息,同时接收待注册用户所在机构名称和联系方式,并初始化待注册用户的捐赠书籍数量、捐赠书籍编号列表、当前借阅书籍列表以及当前借阅数量,从而得到待注册用户的第二用户信息,根据待注册用户的第一用户信息和第二用户信息生成用户注册请求;容易理解的是,用户注册完成的初始时刻,其捐赠书籍数量为和当前借阅数量均0,且其捐赠书籍编号列表和当前借阅书籍列表均为空;
[0098] 捐赠模块,用于为被捐赠书籍生成唯一的书籍编号,并接收被捐赠书籍的书名、图片路径、作者、书籍描述以及出版社信息,从而生成被捐赠书籍的第一书籍信息,同时初始化被捐赠书籍的书籍状态信息,并接收被捐赠书籍的捐赠用户的用户编号、书名和书籍类别信息,从而生成被捐赠书籍的第二书籍信息,根据被捐赠书籍的第一书籍信息、第二书籍信息以及书籍状态信息生成书籍捐赠请求;应当理解的是,书籍被捐赠的初始时刻,该书籍可借阅,想看此书籍的读者数量为0,想看此书籍的读者数量以及开始借阅时间均为空,最长借阅时间应根据自动归还机制相应设置,例如设置为90天;
[0099] 借阅模块,用于为被借阅书籍生成新的书籍状态信息,并根据新生成的书籍状态信息生成书籍借阅请求;在该书籍状态信息中,被借阅书籍被标记为不可借阅,并且开始借阅时间为系统当前时间;
[0100] 归还模块,用于为被归还书籍生成新的书籍状态信息,并根据新生成的书籍状态信息生成书籍归还请求;在该书籍状态信息中,被归还书籍被标记为可借阅,并且开始借阅时间为系统当前时间;
[0101] 查询模块,用于接收被查询书籍的书名或书籍类别信息,并根据被查询书籍的书名或书籍类别信息生成图书查询请求;
[0102] 登录模块,用于接收待登录用户的用户名和密码,并根据待登录用户的用户名和密码生成用户登录请求;
[0103] 收藏模块,用于接收被收藏书籍的书名或书籍类别信息,并根据被收藏书籍的书名或书籍类别信息生成书籍收藏请求;
[0104] 预定模块,用于接收被预定书籍的书名或书籍类别信息,并根据被预定书籍的书名或书籍类别信息生成书籍预定请求;
[0105] 请求发送模块,用于将其他模块生成的用户请求发送至请求解析模块;
[0106] 如图2所示,Web前端具体可采用App应用、微信小程序或其他前端实现方式实现。
[0107] 本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈