1.本发明公开一种方法和系统,涉及区块链应用技术领域,具体地说是一种基于区块链的事项授权方法和系统。
背景技术:2.随着政务服务事项标准化的推进,政务服务领域对事项的同步标准化要求越来越高。现有事项管理模式通常是建立统一的标准事项,然后进行分级授权,将事项授权给有权实施的层级。而后,在实际的使用场景中,为了分担压力,不会由1个应用程序负担过于大量的访问压力,省市县多级通常会分级进行分布式部署。分布式分级部署的政务事项管理系统或政务运行系统,通常由一个最高层级的系统担任中心系统(主库),其他下级系统担任同步系统(从库),仅由中心系统上进行事项的授权、取消等操作,中心系统完成业务操作之后,数据同步至所有下级系统。各个下级系统就可以分别对外提供事项支撑,支持授权事项的运行。
3.但是现有技术通常只能保证一次同步的顺利进行,当数据同步完成后,就不再有强制关联关系,各下级系统允许对落地数据进行任意的篡改,包括新增授权、撤销授权、修改内容等,若非重新同步,则无法保持数据一致。如此,会影响中心系统中已完成的授权布局,对事项授权、权力责任一体化、通办事项业务办理等产生影响,甚至干扰公民申请业务办理,损害公民的合法权益。
技术实现要素:4.本发明针对现有技术的问题,提供一种基于区块链的事项授权方法和系统,是基于区块链中的联盟链技术,使用多中心化分布式存储来实现事项授权业务功能的方法,可以用于满足政务事项管理系统、政务运行系统等需要明确事项授权的场景。
5.本发明提出的具体方案是:
6.本发明提供一种基于区块链的事项授权方法,以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,其中将省级政务服务事项系统作为中心记账人节点,通过中心记账人节点配置记账人身份id,并分配至其他所有政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,
7.通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,
8.办理或调用事项数据时,先进行鉴权判定,通过记账人节点判断是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则办理或调用事项数据,否则禁用事项数据。
9.进一步,所述的一种基于区块链的事项授权方法中以dubbo分布式服务架构建立联盟链,通过所述联盟链以多中心记账方式,将省级与市级各政务服务事项系统作为记账
人节点。
10.进一步,所述的一种基于区块链的事项授权方法中将省市县三级各政务服务事项系统加入dubbo服务架构,将省级政务服务事项系统作为中心记账人节点配置记账人身份id,通过中心记账人节点分配到记账人身份id至其他所有市级政务服务事项系统,使所述其他所有市级政务服务事项系统在联盟链中注册记账人身份,成为记账人节点。
11.进一步,所述的一种基于区块链的事项授权方法中任何一个记账人节点发生数据变化,通过dubbo服务接口通知其他所有记账人节点,进行共同记录。
12.进一步,所述的一种基于区块链的事项授权方法中所述允许符合联盟协议的新节点加入dubbo服务架构的联盟链。
13.本发明提供一种基于区块链的事项授权系统,包括记账人节点模块、授权模块、鉴权模块和调用模块,
14.记账人节点模块以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,其中记账人节点模块将省级政务服务事项系统作为中心记账人节点,通过中心记账人节点配置记账人身份id,并分配至其他所有市级政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,
15.授权模块通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,
16.办理或调用事项数据时,先进行鉴权判定,通过记账人节点判断是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则办理或调用事项数据,否则禁用事项数据。
17.进一步,所述的一种基于区块链的事项授权系统中以dubbo分布式服务架构建立联盟链,记账人节点模块通过所述联盟链以多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点。
18.进一步,所述的一种基于区块链的事项授权系统中记账人节点模块将省市县三级各政务服务事项系统加入dubbo服务架构,将省级政务服务事项系统作为中心记账人节点配置记账人身份id,通过中心记账人节点分配到记账人身份id至其他所有市级政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点。
19.进一步,所述的一种基于区块链的事项授权系统中记账人节点模块在任何一个记账人节点发生数据变化时,通过dubbo服务接口通知其他所有记账人节点,进行共同记录。
20.进一步,所述的一种基于区块链的事项授权系统中记账人节点模块允许符合联盟协议的新节点加入dubbo服务架构的联盟链。
21.本发明的有益之处是:
22.本发明提供一种基于区块链的事项授权方法,能够基于联盟链,实现避免各下级系统允许对落地数据进行任意的篡改,保证数据同步一致,保证事项授权和业务办理的稳定性。能够更高效地实现事项授权数据的稳定同步,避免不必要的算法消耗,省去研发人员和运维人员花费时间和人力检查、执行数据锁定和同步问题。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明方法中事项授权流程示意图。
25.图2是本发明方法中鉴权流程示意图。
具体实施方式
26.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
27.本发明提供一种基于区块链的事项授权方法,以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,其中将省级政务服务事项系统作为中心记账人节点,通过中心记账人节点配置记账人身份id,并分配至其他所有市级政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,
28.通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,
29.通过记账人节点办理或调用事项数据时,先进行鉴权判定,判断记账人节点是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则办理或调用事项数据,否则禁用事项数据。
30.通过本发明方法可以部署多级系统,作为所有的记账人节点,部署区块链架构。仅在省系统上作为中心记账人节点维护统一的事项数据,并进行授权操作,观察数据是否正常同步到所有下级系统。测试获得授权的调用方正常请求事项信息,进行正常的事项展示和业务办理等。
31.后期验证测试,若增加本地授权或者撤销本地授权,篡改数据不会出现在区块链中。若调用不属于正确授权的事项,正确现象应该会调用失败。
32.具体应用中,在本发明方法的一些实施例中,可以dubbo分布式服务架构建立区块链为例进行说明。
33.联盟链的多中心记账方式:
34.将省市县三级各政务服务事项系统加入dubbo服务架构,将省级政务服务事项系统作为中心记账人节点配置记账人身份id,通过中心记账人节点分配到记账人身份id至其他所有市级政务服务事项系统,使所述其他所有市级政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,其中开发人员和部署人员可以利用本发明方法将各级系统加入dubbo服务架构,做到所有记账人节点全部互通,非记账人节点至少和一个记账人节点连通,通过在中心记账人节点配置一系列记账人身份id,将其分配给所有市级系统,分配到记账人身份id的市级系统,在区块链中注册为记账人身份,当任何一个记账人节点发生数据变化时,通过dubbo服务接口通知其他所有记账人,共同记录。
35.事项授权的数据保持同步,授权无法篡改:
36.事项的授权操作,即是标记某市、县、区有权限运行该事项,通常由上级某单位将事项授权给下级单位,如本发明实施例中省级系统给某市级系统下发事项授权。中心记账人节点进行事项授权操作,其他同步市级系统只负责同步承接数据,不进行数据操作,在联盟链架构中,所有事项授权数据全量储存与所有记账节点的账本中。并为了保持同步,任何一个数据变化都要发送到所有记账节点共同记录,所有记账节点的账本都是相同的。
37.在办理、调用事项数据时,进行鉴权判定,具体过程为:
38.任何一个节点需要办理、调用事项数据时,必须先连接到一个记账人节点,可以是记账人节点自身,进行鉴权判定,该一个记账人节点与所有记账人节点进行核对数据,核对账本中是否存在该事项,以及该事项是否被正确授权,通过鉴权判定,允许节点办理、调用事项数据,否则是非法请求,禁止使用。
39.联盟链的可扩展性:
40.允许更多授权的节点加入网络,只要其符合联盟协议,就可以加入联盟。以dubbo分布式服务架构建立区块链为例,新节点使用统一规范加入dubbo服务架构,就已经加入了区块链。视其情况,一般情况下外来节点不会作为记账人。如上文所述,只要不给新节点分配记账人身份id,就无法参与记账,保证能顺利使用数据,同时避免外来节点伪装记账人身份、入侵篡改账本的风险。
41.通过上述本发明方法的实施,基于区块链的事项授权模型,利用区块链技术进行多中心分布式记账,记录事项的授权信息,达到防篡改,确保授权的合法调用。每一次事项授权相关操作,通过区块链存储在所有记账节点中,即每一个节点存储全量的记账信息,当外部请求调用事项时,必须先通过区块链验证该事项是否授权予调用方,如果授权才允许调用;否则不允许调用。保证了数据同步,并限制数据篡改,不改变事项系统原有的数据结构和业务逻辑,能够更高效地实现事项授权数据的稳定同步,避免不必要的算法消耗。
42.本发明提供一种基于区块链的事项授权系统,包括记账人节点模块、授权模块、鉴权模块和调用模块,
43.记账人节点模块以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,其中记账人节点模块将省级政务服务事项系统作为中心记账人节点,通过中心记账人节点配置记账人身份id,并分配至其他所有市级政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,
44.授权模块通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,
45.记账人节点办理或调用事项数据时,先进行鉴权模块鉴权判定,判断记账人节点是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则调用模块办理或调用事项数据,否则禁用事项数据。
46.上述系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
47.同样地,本发明系统能够基于联盟链,实现避免各下级系统允许对落地数据进行任意的篡改,保证数据同步一致,保证事项授权和业务办理的稳定性。能够更高效地实现事项授权数据的稳定同步,避免不必要的算法消耗,省去研发人员和运维人员花费时间和人
力检查、执行数据锁定和同步问题。
48.需要说明的是,上述各流程和各系统结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
49.以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
技术特征:1.一种基于区块链的事项授权方法,其特征是以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,其中将省级政务服务事项系统作为中心记账人节点,通过中心记账人节点配置记账人身份id,并分配至其他所有政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,办理或调用事项数据时,先进行鉴权判定,通过记账人节点判断是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则办理或调用事项数据,否则禁用事项数据。2.根据权利要求1所述的一种基于区块链的事项授权方法,其特征是以dubbo分布式服务架构建立联盟链,通过所述联盟链以多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点。3.根据权利要求2所述的一种基于区块链的事项授权方法,其特征是将省市县三级各政务服务事项系统加入dubbo服务架构,将省级政务服务事项系统作为中心记账人节点配置记账人身份id,通过中心记账人节点分配到记账人身份id至其他市级政务服务事项系统,使所述其他所有市级政务服务事项系统在联盟链中注册记账人身份,成为记账人节点。4.根据权利要求2或3所述的一种基于区块链的事项授权方法,其特征是任何一个记账人节点发生数据变化,通过dubbo服务接口通知其他所有记账人节点,进行共同记录。5.根据权利要求2所述的一种基于区块链的事项授权方法,其特征是所述允许符合联盟协议的新节点加入dubbo服务架构的联盟链。6.一种基于区块链的事项授权系统,其特征是包括记账人节点模块、授权模块、鉴权模块和调用模块,记账人节点模块以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,其中记账人节点模块将省级政务服务事项系统作为中心记账人节点,通过中心记账人节点配置记账人身份id,并分配至其他市级政务服务事项系统,使所述其他所有政务服务事项系统在联盟链中注册记账人身份,成为记账人节点,授权模块通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,办理或调用事项数据时,先进行鉴权判定,通过记账人节点判断是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则办理或调用事项数据,否则禁用事项数据。7.根据权利要求6所述的一种基于区块链的事项授权系统,其特征是以dubbo分布式服务架构建立联盟链,记账人节点模块通过所述联盟链以多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点。8.根据权利要求7所述的一种基于区块链的事项授权系统,其特征是记账人节点模块将省级与市级各政务服务事项系统加入dubbo服务架构,将省级政务服务事项系统作为中心记账人节点配置记账人身份id,通过中心记账人节点分配到记账人身份id至其他所有政
务服务事项系统,使所述其他市级政务服务事项系统在联盟链中注册记账人身份,成为记账人节点。9.根据权利要求7或8所述的一种基于区块链的事项授权系统,其特征是记账人节点模块在任何一个记账人节点发生数据变化时,通过dubbo服务接口通知其他所有记账人节点,进行共同记录。10.根据权利要求7所述的一种基于区块链的事项授权系统,其特征是记账人节点模块允许符合联盟协议的新节点加入dubbo服务架构的联盟链。
技术总结本发明公开一种基于区块链的事项授权方法和系统,涉及区块链应用技术领域;以联盟链的多中心记账方式,将省级与市级各政务服务事项系统作为记账人节点,通过中心记账人节点授权事项在其他政务服务事项系统的运行权限,并将事项授权数据记录在所有记账人节点的账本中,通过所有记账人节点共同记录事项数据变化,保持事项数据同步,办理或调用事项数据时,先进行鉴权判定,通过记账人节点判断是否存在所述事项数据的事项,以及所述事项是否正确授权,若鉴权通过则办理或调用事项数据,否则禁用事项数据。用事项数据。用事项数据。
技术研发人员:王青泉 赵绍祥 陈兆亮
受保护的技术使用者:浪潮软件股份有限公司
技术研发日:2022.06.01
技术公布日:2022/11/1