本发明实施例涉及区块链技术领域,尤其涉及一种面向区块链应用的数据监控方法、装置及存储介质。
背景技术:
随着区块链技术的发展,业务数据量逐渐增多。为了保证业务的正常开展,提前规避业务风险,需要对业务进行监控。现有技术中,在区块链技术的应用中,数字货币是应用最广泛的领域之一,在区块链中可以隐藏交易账号背后的真实用户身份,这导致常规的监控难以实现。此外,区块链技术在征信、税务、医疗等众多领域的应用也逐渐展开,同样需要通过有效监控对恶意节点、非法信息等进行严厉打击。
故此,如何监控区块链应用的数据成为亟需解决的问题。
技术实现要素:
由于现有技术中,本申请实施例提供了一种面向区块链应用的数据监控方法及系统,该系统包括:
一方面,本申请实施例提供了一种面向区块链应用的数据监控方法,该方法包括:
监控区块链的交易事件,根据交易事件实时获取交易原始数据;
将获取的原始数据根据预设规则存储到预先构建的原始数据库中;
接收到数据监控指令后,获取对应的数据监控规则;
根据所述数据监控规则对所述原始数据库中的数据进行监控。
另一方面,本申请实施例提供了一种面向区块链应用的数据监控装置,包括:
原始数据获取模块,用于监控区块链的交易事件,根据交易事件实时获取交易原始数据;
存储模块,用于将获取的原始数据根据预设规则存储到预先构建的原始数据库中;
规则获取模块,用于接收到数据监控指令后,获取对应的数据监控规则;
监控模块,用于根据所述数据监控规则对所述原始数据库中的数据进行监控。
再一方面,本申请实施例提供了一种面向区块链应用的数据监控设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述面向区块链应用的数据监控方法的步骤。
又一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由面向区块链应用的数据监控设备执行的计算机程序,当所述程序在面向区块链应用的数据监控设备上运行时,使得所述面向区块链应用的数据监控设备执行上述面向区块链应用的数据监控方法的步骤。
本申请实施例中,本申请实施例中通过对原始数据进行监控使得获得的监控结果更加准确。采用对应的监控规则进行监控,使得监控能够自动化的实现。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请适用的一种应用场景示意图;
图2为本申请提供的一种面向区块链应用的数据监控方法的流程示意图之一;
图3为本申请提供的一种面向区块链应用的数据监控方法的流程示意图之二;
图4为本申请提供的一种面向区块链应用的数据监控装置的结构示意图;
图5为本申请提供的一种面向区块链应用的数据监控设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要监控的原始数据存在于区块链交易中,有鉴于此,本申请实施例中可以从交易事件中获取原始数据并保存。可以保存在数据库中,并且不允许任何修改,该修改例如可以包括增删、修改原始数据等。这样,在监控时,可以从数据库中调取原始数据,进行监控。为了提高监控的效率可以采用预先设置的模板将原始数据进行处理后采用预先配置好的监管规则表达式对数据进行监控,然后可以采用预先设置好的模板将监控处理结果按照模板进行导出。这样,本申请实施例中不仅能够实现对区块链应用的数据监控,还通过模板实现不同用户可以根据自己的需求配置监控的规则。
本申请实施例中的面向区块链应用的数据监控可以应用于如图1所示的应用场景,在该应用场景中包括数据库101、监控系统102、用户终端103、区块链节点104以及监控终端105。
用户终端中可以安装有浏览器或者各种应用,用户通过用户终端进行交易,通过区块链节点执行交易。区块链节点104中会产生包含交易的原始数据的交易事件。监控系统102通过监听区块链节点104中监控区块链的交易事件,根据交易事件实时获取交易原始数据,从中获取原始数据并存储到数据库101中。监控客户端可以根据自己的需求在监控系统102上配置监控规则,监控系统102可以根据配置的监控规则从数据库101中获取原始数据,执行监控,并将监控结果反馈给监控客户端105。
其中。用户终端103和105可以是智能手机、平板电脑或便携式个人计算机等等。
基于图1所示的应用场景图,本发明实施例提供了一种面向区块链应用的数据监控方法,如图2所示,包括以下步骤:
步骤201:监控区块链的交易事件,根据交易事件实时获取交易原始数据。
具体实施时,可以通过标准接口从区块链上监控交易事件。
步骤202:将获取的原始数据根据预设规则存储到预先构建的原始数据库中。
具体实施时,原始数据存储于区块链账本上,使得原始数据无法被删除与篡改,因此由区块链账本得到的监控结果具有可靠性。
进一步的,不同用户可以有不同监控规则,在具体实施时所述数据监控指令中包括用户标识,所述接收到数据监控指令后,可以获取所述用户标识对应的数据监控规则来执行相应的监控处理。
步骤203:接收到数据监控指令后,获取对应的数据监控规则。
步骤204:根据所述数据监控规则对所述原始数据库中的数据进行监控。
基于以上步骤,本申请实施例中通过对原始数据进行监控使得获得的监控结果更加准确。采用对应的监控规则进行监控,使得监控能够自动化的实现。
进一步的,不同业务需求处理的数据格式可能会有不同,本申请实施例中为了能够适应不同用户的业务需求,可以根据用户的模板对数据进行处理后进行监控。具体的,根据所述数据监控规则对所述原始数据库中的数据进行监控,可实施为:
步骤a1:从所述原始数据库中获取所述数据监控指令请求监控的数据;
步骤a2:根据所述数据监控规则中指定的数据导入模板,将获取的所述数据进行模板化处理后存储到监控数据库;
步骤a3:根据所述数据监控规则中的监管规则表达式对监控数据库中的数据进行监控;
步骤a4:若监控到异常数据,则生成与该异常数据相应的告警事件。
也即,用户可以根据自己的业务需求配置数据导入模板,该模板中可以配置有导入哪些数据、数据的格式等需求并将处理后的数据存储到监控数据库,然后根据监管规则表达式对监控数据库中的数据统一进行处理。并在监控到异常时,触发报警。例如可以触发报警给监控客户端。
进一步的,本申请实施例中针对不同的异常情况可以配置有不同的告警级别并可以采用相应的措施。具体可实施为:
步骤b1:针对每个告警事件,根据告警事件和告警级别的对应关系确定该告警事件的告警级别;
其中该对应关系也可以根据用户的需求设定。
具体对应关系可以以查表的形式实现。
步骤b2:根据该告警事件的告警内容和告警级别确定管控决策;
具体实施时,如图1所述的监控系统102可以提供不同管控决策,监控用户可以具体设置不同的事件对应的管控决策。
步骤b3:执行确定的管控决策。
这样,本申请实施例中,可以根据不同的情况提供不同的管控决策,实现了针对异常事件的自动处理。
进一步的,所述管控决策包括以下中的至少一种:停止区块链节点、注销区块链节点、禁止交易和注销区块链用户证书;相应的,执行确定的管控决策,可实施为:
1)、若确定管控决策为停止区块链节点,则停止告警事件中包括的交易发布节点的服务;
2)、若确定管控决策为注销区块链节点,则注销所述告警事件中包括的问题区块链节点的证书;
同注销有问题的区块链节点证书,使得该有问题的区块链节点不能进行交易和背书。
3)、若确定管控决策为禁止交易,则锁定告警事件中包括的智能合约,并禁止该智能合约的交易;
这样,对于基于智能合约执行的交易,可以有效的通过禁止智能合约来有效的避免更多异常情况的出现。
4)、若确定管控决策为注销区块链用户证书,则注销所述告警事件中包括的问题用户的用于交易的证书。
用于交易的整数被注销后,用户将不能继续进行交易。
这样,针对不同的告警事件可以自动触发相应的管控措施,实现对异常的自动处理。
当然具体实施时,也可以有的告警事件有对应的管控措施可以自动执行,也可以有些告警事件可以输出给监控用户,由监控用户手动触发异常事件的处理。
进一步的,如前所述,在根据所述数据监控规则中的监管规则表达式对监控数据库中的数据进行监控之后,可以根据所述数据监控规则中的数据导出模板,将根据监管规则表达式监控后的数据进行模板化处理后输出。
进一步的,本申请实施例中为了能够更加适应不同用户的业务需求,用户可以对模板进行增伤和修改以及查看。具体的可包括以下(1)-(3)方面中的至少一种:
(1)、接收针对数据导入模板的第一处理指令,根据所述第一处理指令进行相应操作;所述第一处理指令包括为以下中的一种:增加数据导入模板、删除数据导入模板、修改指定数据导入模板、查询指定数据导入模块、启用指定数据导入模板、停用指定数据导入模板;
(2)、接收针对数据导出模板的第二处理指令,根据所述第二处理指令进行相应操作;所述第二处理指令包括为以下中的一种:增加数据导出模板、删除数据导出模板、修改指定数据导出模板、查询指定数据导出模块、启用指定数据导出模板、停用指定数据导出模板;
(3)、接收针对数据监控规则的第三处理指令,根据所述第三处理指令进行相应操作;所述第三处理指令包括为以下中的一种:增加数据监控规则、删除数据监控规则、修改数据监控规则、查询数据监控规则、启用数据监控规则、停用数据监控规则。
这样,不同监控用户根据自己的需求,可以对数据导入模板、数据导出模板进行适当的处理,并且可以实时根据自己的需求对数据监控规则进行增删和修改。
具体实施时,所述数据导入模板、数据导出模板和监管规则存储于网络中的数据库节点如图1所示的数据库101,用户终端105通过服务器(如图1中的监控系统102)进行访问。这样,便可以实现所述数据导入模板可被用户修改、查询、启用、停用或删除。同样的,数据导出模板也可被用户修改、查询或删除,类似的监管规则可被用户修改、查询、启用、停用或删除。
当然,进一步的,在具体实施时,生成的告警事件可以存储起来,例如存储到如图1所示的数据库中,以便于供用户查阅。具体可实施为:接收对告警事件的查询指令;然后查询所述查询指令中的告警事件,并获取该告警事件对应的监管规则表达式并输出。这样,用户可以查询告警事件,并可以查询对应该告警事件的监管规则表达式,以便于用户对数据监控情况进行了解。
其中,在一个实施例中,本实施例中可以hyperledgerfabric作为所述区块链网络的实现。
下面以一个具体的实施例对本申请实施例提供的面向区块链应用的数据监控方法做系统说明,如图3所示,包括以下步骤:
步骤301:接收用户对数据导出模板、监控规则和数据导出模板的配置指令。
步骤302:根据所述配置指令进行用户配置。
当然,需要说明的是,步骤301和步骤302的执行顺序不受限。可以根据用户的需求随时配置。
步骤303:监控区块链的交易事件,根据交易事件实时获取交易原始数据。
步骤304:将获取的原始数据根据预设规则存储到预先构建的原始数据库中。
步骤305:从所述原始数据库中获取所述数据监控指令请求监控的数据。
步骤306:根据所述数据监控规则中指定的数据导入模板,将获取的所述数据进行模板化处理后存储到监控数据库。
步骤307:若监控到异常数据,则生成与该异常数据相应的告警事件。
步骤308:针对每个告警事件,根据告警事件和告警级别的对应关系确定该告警事件的告警级别;
步骤309:根据该告警事件的告警内容和告警级别确定管控决策。
步骤310:若确定管控决策为停止区块链节点,则停止告警事件中包括的交易发布节点的服务;若确定管控决策为注销区块链节点,则注销所述告警事件中包括的问题区块链节点的证书;若确定管控决策为禁止交易,则锁定告警事件中包括的智能合约,并禁止该智能合约的交易;若确定管控决策为注销区块链用户证书,则注销所述告警事件中包括的问题用户的用于交易的证书。
步骤311:接收针对数据导入模板的第一处理指令,根据所述第一处理指令进行相应操作;所述第一处理指令包括为以下中的一种:增加数据导入模板、删除数据导入模板、修改指定数据导入模板、查询指定数据导入模块、启用指定数据导入模板、停用指定数据导入模板。
步骤312:接收针对数据导出模板的第二处理指令,根据所述第二处理指令进行相应操作;所述第二处理指令包括为以下中的一种:增加数据导出模板、删除数据导出模板、修改指定数据导出模板、查询指定数据导出模块、启用指定数据导出模板、停用指定数据导出模板。
步骤313:接收针对数据监控规则的第三处理指令,根据所述第三处理指令进行相应操作;所述第三处理指令包括为以下中的一种:增加数据监控规则、删除数据监控规则、修改数据监控规则、查询数据监控规则、启用数据监控规则、停用数据监控规则。
其中,步骤311-步骤313的执行顺序不受限。
基于相同技术构思,本申请实施例提供了一种面向区块链应用的数据监控装置,该装置可以,如图4所示,包括:
原始数据获取模块401,用于监控区块链的交易事件,根据交易事件实时获取交易原始数据;
存储模块402,用于将获取的原始数据根据预设规则存储到预先构建的原始数据库中;
规则获取模块403,用于接收到数据监控指令后,获取对应的数据监控规则;
监控模块404,用于根据所述数据监控规则对所述原始数据库中的数据进行监控。
进一步的,监控模块,包括:
数据获取单元,用于从所述原始数据库中获取所述数据监控指令请求监控的数据;
导入处理单元,用于根据所述数据监控规则中指定的数据导入模板,将获取的所述数据进行模板化处理后存储到监控数据库;
监控单元,用于根据所述数据监控规则中的监管规则表达式对监控数据库中的数据进行监控;
告警事件生成单元,用于若监控到异常数据,则生成与该异常数据相应的告警事件。
进一步的,所述装置还包括:
告警级别确定模块,用于针对每个告警事件,根据告警事件和告警级别的对应关系确定该告警事件的告警级别;
管控决策确定模块,用于根据该告警事件的告警内容和告警级别确定管控决策;
管控模块,用于执行确定的管控决策。
进一步的,所述管控决策包括以下中的至少一种:停止区块链节点、注销区块链节点、禁止交易和注销区块链用户证书;
管控模块,包括:
第一管控单元,用于若确定管控决策为停止区块链节点,则停止告警事件中包括的交易发布节点的服务;
第二管控单元,用于若确定管控决策为注销区块链节点,则注销所述告警事件中包括的问题区块链节点的证书;
第三管控单元,用于若确定管控决策为禁止交易,则锁定告警事件中包括的智能合约,并禁止该智能合约的交易;
第四管控单元,用于若确定管控决策为注销区块链用户证书,则注销所述告警事件中包括的问题用户的用于交易的证书。
进一步的,所述数据监控指令中包括用户标识,所述规则获取模,用于获取所述用户标识对应的数据监控规则。
进一步的,所述装置还包括:
根据所述数据监控规则中的监管规则表达式对监控数据库中的数据进行监控之后,根据所述数据监控规则中的数据导出模板,将根据监管规则表达式监控后的数据进行模板化处理后输出。
进一步的,所述装置还包括:
处理指令处理模块,用于:
接收针对数据导入模板的第一处理指令,根据所述第一处理指令进行相应操作;所述第一处理指令包括为以下中的一种:增加数据导入模板、删除数据导入模板、修改指定数据导入模板、查询指定数据导入模块、启用指定数据导入模板、停用指定数据导入模板;和/或,
接收针对数据导出模板的第二处理指令,根据所述第二处理指令进行相应操作;所述第二处理指令包括为以下中的一种:增加数据导出模板、删除数据导出模板、修改指定数据导出模板、查询指定数据导出模块、启用指定数据导出模板、停用指定数据导出模板;和/或,
接收针对数据监控规则的第三处理指令,根据所述第三处理指令进行相应操作;所述第三处理指令包括为以下中的一种:增加数据监控规则、删除数据监控规则、修改数据监控规则、查询数据监控规则、启用数据监控规则、停用数据监控规则。
进一步的,所述装置还包括:
查询指令接收模块,用于接收对告警事件的查询指令;
查询模块,用于查询所述查询指令中的告警事件,并获取该告警事件对应的监管规则表达式并输出。
基于相同的技术构思,本申请实施例提供了一种面向区块链应用的数据监控设备,如图5所示,包括至少一个处理器1501,以及与至少一个处理器连接的存储器1502,本申请实施例中不限定处理器1501与存储器1502之间的具体连接介质,图5中处理器1501和存储器1502之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1502存储有可被至少一个处理器1501执行的指令,至少一个处理器1501通过执行存储器1502存储的指令,可以执行前述面向区块链应用的数据监控方法中所包括的步骤。
其中,处理器1501是面向区块链应用的数据监控的控制中心,可以利用各种接口和线路连接跟踪车辆位置的设备的各个部分,通过运行或执行存储在存储器1502内的指令以及调用存储在存储器1502内的数据,从而处理数据。可选的,处理器1501可包括一个或多个处理单元,处理器1501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1501中。在一些实施例中,处理器1501和存储器1502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1501可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器1502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由面向区块链应用的数据监控设备执行的计算机程序,当所述程序在面向区块链应用的数据监控设备上运行时,使得面向区块链应用的数据监控设备执行面向区块链应用的数据监控方法的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。