首页> 中国专利> 一种基于区块链的去中心化web应用管理系统及方法

一种基于区块链的去中心化web应用管理系统及方法

摘要

本发明涉及区块链应用技术领域,具体地说,涉及一种基于区块链的去中心化web应用管理系统及方法。该系统包括数据管理系统、Web应用管理系统、Web应用访问系统、区块链系统和链上存储系统,数据管理系统用于实现Web应用的数据库的管理,Web应用管理系统用于实现Web应用的应用程序的管理,Web应用访问系统用于实现Web应用的访问的管理,区块链系统用于实现Web应用的结构化数据的存储,链上存储系统用于实现Web应用的非结构化数据的存储。该方法基于该系统实现。本发明能够较佳地实现Web应用的去中心化部署、管理和访问。

著录项

  • 公开/公告号CN112396526A

    专利类型发明专利

  • 公开/公告日2021-02-23

    原文格式PDF

  • 申请/专利权人 安徽中科晶格技术有限公司;

    申请/专利号CN202011497480.9

  • 发明设计人 李晓风;许金林;

    申请日2020-12-17

  • 分类号G06Q40/04(20120101);G06Q20/38(20120101);G06F21/64(20130101);G06F21/62(20130101);G06F16/27(20190101);

  • 代理机构34171 合肥初航知识产权代理事务所(普通合伙);

  • 代理人谢永

  • 地址 230011 安徽省合肥市蜀山区高新区长江西路2221号安徽工业技术创新研究院B座501

  • 入库时间 2023-06-19 10:00:31

说明书

技术领域

本发明涉及区块链应用技术领域,具体地说,涉及一种基于区块链的去中心化web应用管理系统及方法。

背景技术

传统Web应用系统部署在一台或集群服务器,具有业务应用系统中心化,易被控制或攻击;Web服务器访问压力大;单点故障概率大等问题存在。

基于区块链的去中心化Web应用将数据库部署到区块链上,实现数据的防篡改、防攻击功能。同时,将Web应用以数据文件形式部署到区块链上,与数据库形成多对多的访问管理,真正实现去中心化Web应用的访问。

发明内容

本发明提供了一种基于区块链的去中心化web应用管理系统,其能够克服现有技术的某种或某些缺陷。

根据本发明的基于区块链的去中心化web应用管理系统,其包括数据管理系统、Web应用管理系统、Web应用访问系统、区块链系统和链上存储系统,数据管理系统用于实现Web应用的数据库的管理,Web应用管理系统用于实现Web应用的应用程序的管理,Web应用访问系统用于实现Web应用的访问的管理,区块链系统用于实现Web应用的结构化数据的存储,链上存储系统用于实现Web应用的非结构化数据的存储。

通过本发明中的方案,使得开发者能够较佳地通过数据管理系统和Web应用管理系统实现Web应用的数据库和应用程序的创建及管理,通过Web应用访问系统能够较佳地实现用户对Web应用的访问。并且通过将数据库和应用程序均部署于区块链系统和链上存储系统中,能够较佳地解决传统Web应用的中心化带来的易被控制或被攻击等安全性问题、Web服务器访问压力大及单点故障概率大等问题,其通过数据和web应用的分布式存储管理,将web应用访问均衡跳转到不同的区块链节点,从而实现去中心化的web管理与访问,提升了web应用系统的安全性、访问效率。

作为优选,数据管理系统包括数据库管理模块、数据表结构管理模块和业务数据管理模块;数据库管理模块用于实现Web应用的数据库的创建及管理,数据表结构管理模块用于实现数据实体的创建,业务数据管理模块用于实现数据的存储。

本发明,通过上述,能够较佳地实现Web应用的数据库的创建,数据实体的创建以及数据的存储,从而能够较佳地实现相关数据的去中心化存储。

作为优选,Web应用管理系统包括Web应用基本信息管理模块和Web应用文件管理模块,Web应用基本信息管理模块用于实现Web应用的应用程序的创建和管理,Web应用文件管理模块用于实现Web应用的应用程序的所需文件进行管理。

通过上述,能够较佳地实现Web应用的应用程序的创建和管理。

作为优选,Web应用访问系统包括Web应用仓库模块、Web应用搜索模块和Web应用近节点访问模块,Web应用仓库模块同于提供Web应用的可视化展示界面,Web应用搜索模块用于实现Web应用的搜索功能,Web应用近节点访问模块用于实现Web应用的客户端与区块链系统的节点间的连接。

通过上述,能够较佳地实现对Web应用的访问。

本发明还提供了一种基于区块链的去中心化Web应用管理方法,其包括如下步骤:

步骤S1、Web应用的数据库的管理

该步骤中,开发者通过数据管理系统实现对数据库的新建及管理,并通过数据管理系统将数据库部署在区块链系统和链上存储系统中;

步骤S2、Web应用的应用程序的管理

该步骤中,开发者通过Web应用管理系统实现对应用程序的新建和管理,并通过Web应用管理系统将应用程序部署在区块链系统和链上存储系统中;

步骤S3、Web应用的访问

该步骤中,用户通过客户端接入Web应用访问系统对Web应用进行访问。

通过本发明中的方法,能够较佳地实现Web应用的去中心化部署、管理和访问。

作为优选,步骤S1具体包括如下步骤,

步骤S11、数据库的管理

该步骤中,开发者通过数据库管理模块实现对数据库的基本信息的创建和修改;

步骤S12、数据实体的管理

该步骤中,开发者通过数据表结构管理模块实现对数据库的数据实体进行创建和管理;

步骤S13、数据的存储

该步骤中,开发者通过业务数据管理模块实现业务应用数据和交易数据的上链存储。

通过步骤S11-S13,能够较佳地实现Web应用的数据库的去中心化部署和管理。

作为优选,步骤S2具体包括如下步骤,

步骤S21、应用程序的管理

该步骤中,开发者通过Web应用基本信息管理模块对所有存储到区块链系统中的的应用程序进行管理;

步骤S22、应用程序的文件存储

该步骤中,开发者通过Web应用文件管理模块对应用程序提供服务功能所需要的文件进行管理。

通过步骤S21和S22,能够较佳地实现Web应用的应用程序的去中心化部署和管理。

作为优选,步骤S3具体包括如下步骤,

步骤S31、所有Web应用的展示

该步骤中,通过Web应用仓库模块对所有Web应用进行展示;

步骤S32、Web应用的搜索

该步骤中,用户通过Web应用搜索模块搜索具体的Web应用;

步骤S33、Web应用的访问路线选择

该步骤中,通过Web应用近节点访问模块基于负载均衡机制跳转到离客户端最近的节点进行访问。

通过步骤S31-S33,能够较佳地实现Web应用的访问。

附图说明

图1为实施例1中的基于区块链的去中心化web应用管理系统的整体架构;

图2为实施例1中的数据管理过程示意图;

图3为实施例1中的区块链与结构化数据的关联关系示意图;

图4为实施例1中的去中心化Web应用访问方式示意图。

具体实施方式

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。

实施例1

结合图1所示,本实施例提供了一种基于区块链的去中心化Web应用管理系统,其包括数据管理系统、Web应用管理系统、Web应用访问系统、区块链系统和链上存储系统,数据管理系统用于实现Web应用的数据库的管理,Web应用管理系统用于实现Web应用的应用程序的管理,Web应用访问系统用于实现Web应用的访问的管理,区块链系统用于实现Web应用的结构化数据的存储,链上存储系统用于实现Web应用的非结构化数据的存储。

其中,数据管理系统能够具备可视化界面,通过该可视化界面能够较佳地对数据管理系统所要实现的功能进行展示,使得用户能够较佳地实现新数据库的创建以及对其所创建的所有的数据库的查看编辑。用户在新建Web应用的数据库时,数据管理系统能够针对数据库表及数据管理Function自动生成如查询、增加、修改、删除等API接口,从而能够较佳地实现对数据库的访问。用户在查看一个既有数据库时,能够直接选择该数据库,即可查看该数据库中的所有表、表结构及表中存储的数据、数据管理Function等信息。

其中,Web应用管理系统也能够具备可视化界面,通过该可视化界面能够较佳地对Web应用管理系统所要实现的功能进行展示,使得用户能够较佳地实现应用程序的创建以及对其所创建的所有的应用程序的查看编辑。用户在查看其所创建的应用程序时,能够选择相应的应用程序,即可较佳地查看其基本信息,并能够较佳地实现对应用程序的增加、修改、删除等管理操作。同时,Web应用管理系统还能够较佳地实现对应用程序的应用内容文件的管理,并对应用程序进行预览。Web应用管理系统类似于现有的应用市场,其能够将区块链系统中所有上线的web应用进行统一管理,提供web应用的上架、下架、搜索、评价、访问入口等功能。并且,Web应用的开发者登录Web应用管理系统后,可以查看其已经创建的所有Web应用。

其中,Web应用访问系统也能够具备可视化界面,通过该可视化界面能够较佳地对所有Web应用进行展示,使得使用者能够较佳地通过Web应用访问系统实现对相应Web应用的访问。用户在进行具体的访问动作时,能够通过客户端接入Web应用访问系统,之后Web应用访问系统能够基于负载均衡机制跳转到离客户端最近的节点进行访问。Web应用访问系统类似现有应用市场中的搜索、下载功能,使用者进入Web应用访问系统后,能够根据访问的需求,输入关键字进行搜索,系统展示所有匹配的web应用;选择需要访问的web应用,区块链系统将跳转到离客户端最近的节点进行访问。

可以理解的是,Web应用(也称Web应用系统)都是由数据库(后端)和Web应用程序(前端)两部分构成,数据库用于提供整个Web应用的数据支撑,Web应用程序用于向用户提供使用界面。在创建Web应用时,需要首先创建与之相对应的数据库,之后再创建Web应用程序,通过构建Web应用程序调用数据库,即可较佳地实现Web应用的创建。

其中,Web应用管理系统和Web应用访问系统能够由具备统一的访问入口,以开发者身份访问该接口时,能够进入Web应用管理系统,以普通用户的身份访问该接口时,能够进入Web应用访问系统。

由于区块链系统中没有类似关系型数据库的管理工具,为方便不同的web应用管理其数据库,本实施例提供一个可视化的数据库管理工具。通过可视化的数据库管理工具,用户可以方便创建web应用对应的数据库及表结构,系统通过数据管理引擎,生成表中数据的查询、增加、修改、删除等管理的API接口。为满足web应用中,多表之间的关联查询、事务处理等特殊的数据操作应用需求,系统提供数据管理Function功能,可根据需要来创建数据操作方法。

通过本实施例中的方案,使得开发者能够较佳地通过数据管理系统和Web应用管理系统实现Web应用的数据库和应用程序的创建及管理,通过Web应用访问系统能够较佳地实现用户对Web应用的访问。并且通过将数据库和应用程序均部署于区块链系统和链上存储系统中,能够较佳地解决传统Web应用的中心化带来的易被控制或被攻击等安全性问题、Web服务器访问压力大及单点故障概率大等问题,其通过数据和web应用的分布式存储管理,将web应用访问均衡跳转到不同的区块链节点,从而实现去中心化的web管理与访问,提升了web应用系统的安全性、访问效率。

结合图2和3,数据管理系统包括数据库管理模块、数据表结构管理模块和业务数据管理模块;数据库管理模块用于实现Web应用的数据库的创建及管理,数据表结构管理模块用于实现数据实体的创建,业务数据管理模块用于实现数据的存储。

其中,通过数据库管理模块能够实现对数据库的基本信息的创建和修改,基本信息能够包括名称、分类、描述、创建人、创建时间等,Web应用新建完成之后,创建人可对应用的分类、描述等基本信息进行编辑修改。

其中,通过数据表结构管理模块能够较佳地对数据库的数据实体进行创建和管理。数据实体为数据库的表结构字段的对应数据项,每个Web应用都可能包含多个数据实体,这些数据实体都有一个相同的数据项(保留属性)和相同的方法(保留方法),这些相同的数据项即为父实体。一个Web应用可以有多个数据实体,所有数据实体都是继承父实体,每个数据实体都继承父实体的保留属性和保留方法,数据实体创建之后不可修改。数据实体包括名称和多个实体属性,实体属性包括属性名称、属性类型、属性长度、属性描述。

其中,通过业务数据管理模块能够较佳地实现数据的存储,所存储的数据包括业务应用数据和交易数据;业务应用数据是指用于描述Web应用的核心业务实体数据,根据Web应用需求的不同,业务应用数据结构也不同,为了业务应用的性能,采用关系型数据库存储管理业务应用数据中的结构化数据,业务应用数据中的非结构化数据采用文件附件的形式存储到链上存储系统中。交易数据是指用于记录不同账户之间进行转账信息的数据,包括交易输入、交易输出、交易脚本数据等;用户将交易发送到区块链节点,区块链节点将多个交易打包进区块,区块会在区块链网络上广播和共识,区块链网络对区块达成共识后,认同区块中的交易,则交易得到确认;为了保证业务应用数据链上存储的安全性,存储一条业务数据,需要支付少量费用,从而产生一条交易数据,交易数据中存储了业务应用数据的hash值,业务应用数据也存储了对应交易数据的hash值。

本实施例,通过上述,能够较佳地实现Web应用的数据库的创建,数据实体的创建以及数据的存储,从而能够较佳地实现相关数据的去中心化存储。

本实施例中,Web应用管理系统包括Web应用基本信息管理模块和Web应用文件管理模块,Web应用基本信息管理模块用于实现Web应用的应用程序的创建和管理,Web应用文件管理模块用于实现Web应用的应用程序的所需文件进行管理。

其中,通过Web应用基本信息管理模块能够对所有存储到区块链系统中的的应用程序进行管理,开发者可以创建一个新的应用程序,编辑已经创建的一个应用程序,或删除一个以前创建的应用程序。

其中,通过Web应用文件管理模块能够对应用程序提供服务功能所需要的文件进行管理,用户上传到区块链节点后,通过节点之间的文件数据同步到区块链网络中的所有节点。

通过上述,能够较佳地实现Web应用的应用程序的创建和管理。

结合图4,Web应用访问系统包括Web应用仓库模块、Web应用搜索模块和Web应用近节点访问模块,Web应用仓库模块同于提供Web应用的可视化展示界面,Web应用搜索模块用于实现Web应用的搜索功能,Web应用近节点访问模块用于实现Web应用的客户端与区块链系统的节点间的连接。

其中,通过Web应用仓库模块能够提供应用程序的可视化展示界面,其能够提供应用实体列表、实体详细信息、实体数据列表及实体数据管理功能。

其中,通过Web应用搜索模块能够通过Web应用名称、功能描述、Web应用创建人等不同属性关键字搜索Web应用仓库模块中的具体应用。

其中,通过Web应用近节点访问模块,能够较佳地实现对应用程序的访问。本实施例中的Web应用的模型由区块链系统中的全节点以及应用客户端组成,区块链系统中的全节点用于存储交易数据与业务应用数据,并运行了所有应用平台(包括数据管理系统、Web应用管理系统和Web应用访问系统)。用户通过应用客户端通过P2P网络加入到区块链网络,客户端访问业务应用平台时,首先连接到邻节点,再访问部署在邻节点业务应用平台。可以知晓的是,区块链系统中每个节点都有一个节点唯一标识,即节点地址;用户访问的节点同样拥有一个节点地址A,使用该节点地址A与所要访问的节点地址B进行异或运算,可以计算出两个节点之间的距离;区块链系统中任意两个节点都可以使用该方法来计算距离,距离值越小,表明两个节点离的越近;从而能够较佳地实现最近节点的访问。

通过上述,能够较佳地实现对Web应用的访问。

基于本实施例中的系统,本实施例还提供了一种基于区块链的去中心化Web应用管理方法,其包括如下步骤:

步骤S1、Web应用的数据库的管理

该步骤中,开发者通过数据管理系统实现对数据库的新建及管理,并通过数据管理系统将数据库部署在区块链系统和链上存储系统中;

步骤S2、Web应用的应用程序的管理

该步骤中,开发者通过Web应用管理系统实现对应用程序的新建和管理,并通过Web应用管理系统将应用程序部署在区块链系统和链上存储系统中;

步骤S3、Web应用的访问

该步骤中,用户通过客户端接入Web应用访问系统对Web应用进行访问。

通过本实施例中的方法,能够较佳地实现Web应用的去中心化部署、管理和访问。

其中,步骤S1具体包括如下步骤:

步骤S11、数据库的管理

该步骤中,开发者通过数据库管理模块实现对数据库的基本信息的创建和修改;

步骤S12、数据实体的管理

该步骤中,开发者通过数据表结构管理模块实现对数据库的数据实体进行创建和管理;

步骤S13、数据的存储

该步骤中,开发者通过业务数据管理模块实现业务应用数据和交易数据的上链存储。

通过步骤S11-S13,能够较佳地实现Web应用的数据库的去中心化部署和管理。

其中,步骤S2具体包括如下步骤:

步骤S21、应用程序的管理

该步骤中,开发者通过Web应用基本信息管理模块对所有存储到区块链系统中的的应用程序进行管理;

步骤S22、应用程序的文件存储

该步骤中,开发者通过Web应用文件管理模块对应用程序提供服务功能所需要的文件进行管理。

通过步骤S21和S22,能够较佳地实现Web应用的应用程序的去中心化部署和管理。

其中,步骤S3具体包括如下步骤:

步骤S31、所有Web应用的展示

该步骤中,通过Web应用仓库模块对所有Web应用进行展示;

步骤S32、Web应用的搜索

该步骤中,用户通过Web应用搜索模块搜索具体的Web应用;

步骤S33、Web应用的访问路线选择

该步骤中,通过Web应用近节点访问模块基于负载均衡机制跳转到离客户端最近的节点进行访问。

通过步骤S31-S33,能够较佳地实现Web应用的访问。

以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号