一种基于区块链的应用程序可信日志记录与预警的方法以及装置制造方法及图纸

技术编号:36451883 阅读:14 留言:0更新日期:2023-01-25 22:48
本发明专利技术公开了一种基于区块链的应用程序可信日志记录与预警的方法以及装置,日志缓存可以实现日志输出与打印的异步处理,避免日志接收出现丢失风险,同时也可以等待日志上链反馈交易ID。区块链数字身份健、权与上链信息不可篡改特性完美链接到一起,从而为输出的所有程序日志提供了一种可以验证对比是否篡改、防止冒充程序身份的机会。日志程序自动、随时进行日志比对,可以自动发现日志风险并预警,从而可以实现对日志风险的快速处理。而可以实现对日志风险的快速处理。而可以实现对日志风险的快速处理。

【技术实现步骤摘要】
一种基于区块链的应用程序可信日志记录与预警的方法以及装置


[0001]本专利技术涉及区块链的应用程序可信日志
,具体是一种基于区块链的应用程序可信日志记录与预警的方法以及装置。

技术介绍

[0002]区块链(Blockchain)是由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。它是比特币的一个重要概念,完整比特币区块链的副本,记录了其代币(token)的每一笔交易,通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。区块链是由一串使用密码学方法产生的数据块组成的,每一个区块都包含了上一个区块的哈希值(hash),从创始区块(genesis block)开始连接到当前区块,形成块链。每一个区块都确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的,这些特征使得比特币的双花(double

spending)非常困难,区块链是比特币的核心创新。任何节点都可以创建交易,在经过一段时间的确认之后,就可以合理地确认该交易是否为有效,区块链可有效地防止双花问题的发生。对于试图重写或者修改交易记录而言,它的成本是非常高的。区块链实现了两种记录:交易(transactions)以及区块(blocks)。交易是被存储在区块链上的实际数据,而区块则是记录确认某些交易是在何时,以及以何种顺序成为区块链数据库的一部分。交易是由参与者在正常过程中使用系统所创建的(在加密数字货币的例子中,一笔交易是由bob将代币发送给alice所创建的),而区块则是由我们称之为矿工(miners)的单位负责创建。
[0003]应用程序可信日志是应用程序的一个重要组成部分,它一方面应用程序运行过程信息的完整体现与记录,同时也是应用程序出现故障与风险时技术人员进行问题分析、应用程序优化的基础资料,也是技术运维人员进行运维风险排查的重要手段。应用程序可信日志主要保存在日志文件中,供日志分析程序读取或者人工需要提取,现阶段应用程序可信日志记录主要有两种方式:
[0004]方式一:应用程序直接输出程序日志,由应用程序开发人员直接在程序中编写日志代码到对应的程序中,按照预设的日志信息、格式信息进行输出到日志文件或者其他存储载体中。
[0005]方式二:应用程序通过调用专门的日志格式化控件来输出日志。由应用程序开发人员使用java.util.logging、apachelog4j、logback等日志库来进行程序日志的输出。
[0006]对于常规的日志记录输出,无论是方式一还是方式二,虽然能够实现程序的输出以及格式美化的输出,由于程序日志输出是伴随着程序运行、用户请求访问以及应用使用所产生,而且日志的主要输出载体是日志文件,日志文件什么时候会有日志写入,会写入多少日志,日志文件内容是否由丢失,都无从知晓。
[0007]现有技术的主要的缺陷集中在如下情形:无法知道日志内容是否完整、无法知道日志内容是否被删减、修改以及无法抵御安全人员人员破坏伪造日志的行为,因此,亟需一
种基于区块链的应用程序可信日志记录与预警的方法以及装置来解决上述问题。

技术实现思路

[0008]本专利技术的目的在于提供一种基于区块链的应用程序可信日志记录与预警的方法以及装置,以解决上述
技术介绍
中提出的问题。
[0009]为实现上述目的,本专利技术提供如下技术方案:
[0010]一种基于区块链的应用程序可信日志记录与预警的方法,包括以下步骤:
[0011]用户执行应用程序请求;
[0012]应用分析用户行为类型与执行的业务动作;
[0013]应用程序调用区块链系统获取其区块链身份,并生成业务日志信息,进行日志签名生成上链hash信息;
[0014]应用程序把日志信息推送到缓存队列中,等待业务日志的后续处理;
[0015]上链队列处理程序启动日志hash信息上链,并返回上链唯一的交易ID值;
[0016]日志记录程序读取待处理的日志,为上链反馈的交易ID,写入日志文件并刷新待处理队列;
[0017]日志预警程序扫描日志文件、同步链上日志信息、执行比对逻辑,对于不一致的日志出现时,启动自动预警。
[0018]作为本专利技术进一步的方案:业务工作包括登录、注册、交易支付、浏览、修改密码以及个人信息编辑。
[0019]作为本专利技术进一步的方案:预警包括短信、邮件以及电话形式。
[0020]一种基于区块链的应用程序可信日志记录与预警的装置,包括应用程序模块、身份验证模块、日志记录模块、缓存通知模块、区块链系统模块以及日志预警模块。
[0021]作为本专利技术进一步的方案:所述应用程序模块负责运行程序并生成日志。
[0022]作为本专利技术进一步的方案:所述身份验证模块负责确认当前应用程序的执行身份,即区块链系统认可的身份,此身份用于进行日志签名,确认当前日志是由特定的应用程序生成的。
[0023]作为本专利技术进一步的方案:所述日志记录模块负责从缓存容器中读取加固后的日志信息并写入到日志文件或其他日志载体中。
[0024]作为本专利技术进一步的方案:所述缓存通知模块负责接收待上链的应用程序日志基础信息,同步给区块链系统,完成日志hash上链与结果返回,更新日志处理的状态与扩展信息。
[0025]作为本专利技术进一步的方案:所述区块链系统模块负责提供区块链能力支持,主要涉及到区块链身份以及完成日志hash上链、查询日志历史上链信息、供后续的日志篡改的验证。
[0026]作为本专利技术再进一步的方案:所述日志预警模块负责定期同步链上数据,并与日志文件内容进行比对,最后对查询到的异常日志进行多形式预警通知。
[0027]与现有技术相比,本专利技术的有益效果是:
[0028]1.日志缓存可以实现日志输出与打印的异步处理,避免日志接收出现丢失风险,同时也可以等待日志上链反馈交易ID;
[0029]2.区块链数字身份健、权与上链信息不可篡改特性完美链接到一起,从而为输出的所有程序日志提供了一种可以验证对比是否篡改、防止冒充程序身份的机会;
[0030]3.日志程序自动、随时进行日志比对,可以自动发现日志风险并预警,从而可以实现对日志风险的快速处理。
附图说明
[0031]图1为基于区块链的应用程序可信日志记录与预警的方法的流程图。
[0032]图2为基于区块链的应用程序可信日志记录与预警的装置的结构组成框图。
具体实施方式
[0033]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0034]实施例一
[0035]请参阅图1,一种基于区块链的应用程序可信日志记录与预警的方法,包括以下步骤:...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的应用程序可信日志记录与预警的方法,其特征在于,包括以下步骤:用户执行应用程序请求;应用分析用户行为类型与执行的业务动作;应用程序调用区块链系统获取其区块链身份,并生成业务日志信息,进行日志签名生成上链hash信息;应用程序把日志信息推送到缓存队列中,等待业务日志的后续处理;上链队列处理程序启动日志hash信息上链,并返回上链唯一的交易ID值;日志记录程序读取待处理的日志,为上链反馈的交易ID,写入日志文件并刷新待处理队列;日志预警程序扫描日志文件、同步链上日志信息、执行比对逻辑,对于不一致的日志出现时,启动自动预警。2.根据权利要求1所述的基于区块链的应用程序可信日志记录与预警的方法,其特征在于,业务工作包括登录、注册、交易支付、浏览、修改密码以及个人信息编辑。3.根据权利要求1所述的基于区块链的应用程序可信日志记录与预警的方法以及装置,其特征在于,预警包括短信、邮件以及电话形式。4.一种基于区块链的应用程序可信日志记录与预警的装置,其特征在于,包括应用程序模块、身份验证模块、日志记录模块、缓存通知模块、区块链系统模块以及日志预警模块。5.根据权利要求4所述的基于区块链的应用程序可信日志记录与预警的装置,其特征在于,所述...

【专利技术属性】
技术研发人员:张宇杨莉莉隆文喜韩珺马国雷李楠芳袁学斌李宗容
申请(专利权)人:国网青海省电力公司电力科学研究院国网青海省电力公司国家电网有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1