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

文档序号:33038039发布日期:2023-01-24 20:34阅读:57来源:国知局
一种基于区块链的应用程序可信日志记录与预警的方法以及装置与流程

1.本发明涉及区块链的应用程序可信日志技术领域,具体是一种基于区块链的应用程序可信日志记录与预警的方法以及装置。


背景技术:

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


技术实现要素:

8.本发明的目的在于提供一种基于区块链的应用程序可信日志记录与预警的方法以及装置,以解决上述背景技术中提出的问题。
9.为实现上述目的,本发明提供如下技术方案:
10.一种基于区块链的应用程序可信日志记录与预警的方法,包括以下步骤:
11.用户执行应用程序请求;
12.应用分析用户行为类型与执行的业务动作;
13.应用程序调用区块链系统获取其区块链身份,并生成业务日志信息,进行日志签名生成上链hash信息;
14.应用程序把日志信息推送到缓存队列中,等待业务日志的后续处理;
15.上链队列处理程序启动日志hash信息上链,并返回上链唯一的交易id值;
16.日志记录程序读取待处理的日志,为上链反馈的交易id,写入日志文件并刷新待处理队列;
17.日志预警程序扫描日志文件、同步链上日志信息、执行比对逻辑,对于不一致的日志出现时,启动自动预警。
18.作为本发明进一步的方案:业务工作包括登录、注册、交易支付、浏览、修改密码以及个人信息编辑。
19.作为本发明进一步的方案:预警包括短信、邮件以及电话形式。
20.一种基于区块链的应用程序可信日志记录与预警的装置,包括应用程序模块、身份验证模块、日志记录模块、缓存通知模块、区块链系统模块以及日志预警模块。
21.作为本发明进一步的方案:所述应用程序模块负责运行程序并生成日志。
22.作为本发明进一步的方案:所述身份验证模块负责确认当前应用程序的执行身份,即区块链系统认可的身份,此身份用于进行日志签名,确认当前日志是由特定的应用程序生成的。
23.作为本发明进一步的方案:所述日志记录模块负责从缓存容器中读取加固后的日志信息并写入到日志文件或其他日志载体中。
24.作为本发明进一步的方案:所述缓存通知模块负责接收待上链的应用程序日志基础信息,同步给区块链系统,完成日志hash上链与结果返回,更新日志处理的状态与扩展信息。
25.作为本发明进一步的方案:所述区块链系统模块负责提供区块链能力支持,主要涉及到区块链身份以及完成日志hash上链、查询日志历史上链信息、供后续的日志篡改的验证。
26.作为本发明再进一步的方案:所述日志预警模块负责定期同步链上数据,并与日志文件内容进行比对,最后对查询到的异常日志进行多形式预警通知。
27.与现有技术相比,本发明的有益效果是:
28.1.日志缓存可以实现日志输出与打印的异步处理,避免日志接收出现丢失风险,同时也可以等待日志上链反馈交易id;
29.2.区块链数字身份健、权与上链信息不可篡改特性完美链接到一起,从而为输出的所有程序日志提供了一种可以验证对比是否篡改、防止冒充程序身份的机会;
30.3.日志程序自动、随时进行日志比对,可以自动发现日志风险并预警,从而可以实现对日志风险的快速处理。
附图说明
31.图1为基于区块链的应用程序可信日志记录与预警的方法的流程图。
32.图2为基于区块链的应用程序可信日志记录与预警的装置的结构组成框图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.实施例一
35.请参阅图1,一种基于区块链的应用程序可信日志记录与预警的方法,包括以下步骤:
36.用户执行应用程序请求;
37.应用分析用户行为类型与执行的业务动作;
38.应用程序调用区块链系统获取其区块链身份,并生成业务日志信息,进行日志签名生成上链hash信息;
39.应用程序把日志信息推送到缓存队列中,等待业务日志的后续处理;
40.上链队列处理程序启动日志hash信息上链,并返回上链唯一的交易id值;
41.日志记录程序读取待处理的日志,为上链反馈的交易id,写入日志文件并刷新待处理队列;
42.日志预警程序扫描日志文件、同步链上日志信息、执行比对逻辑,对于不一致的日志出现时,启动自动预警。
43.通过上述步骤即可实现基于区块链的应用程序可信日志记录与预警。
44.实施例二
45.请参阅图1,一种基于区块链的应用程序可信日志记录与预警的方法,包括以下步骤:
46.用户执行应用程序请求;
47.应用分析用户行为类型与执行的业务动作;
48.应用程序调用区块链系统获取其区块链身份,并生成业务日志信息,进行日志签名生成上链hash信息;
49.应用程序把日志信息推送到缓存队列中,等待业务日志的后续处理;
50.上链队列处理程序启动日志hash信息上链,并返回上链唯一的交易id值;
51.日志记录程序读取待处理的日志,为上链反馈的交易id,写入日志文件并刷新待处理队列;
52.日志预警程序扫描日志文件、同步链上日志信息、执行比对逻辑,对于不一致的日志出现时,启动自动预警。
53.需要具体说明的是,上述步骤还包括:日志数据项设计。
54.应用日志设计一方面要考虑到应用程序日志的基本属性还要考虑日志扩展处理属性。其中日志基本属性主要包括,时间、业务类型、业务动作描述、用户id、应用身份、日志签名等等;日志扩展属性主要包括,日志处理状态、区块链交易id、上链时间、区块链高度、上链节点(联盟链的情况下)。
55.需要具体说明的是,还包括:日志输出执行设计。
56.日志首先由应用程序创建,但应用程序创建后并不能立即就进行日志的打印输出,此时日志只有业务信息,还没有进行日志的确权与保护。日志创建后日志会被送到缓存容器中,由日志处理程序异动提取处理,同时通过日志签名信息来固化日志业务信息,从而可以避免日志内容完整性破坏的风险。然后日志信息固化后然后启动区块链上链并返回上链结果,完成日志的可信包括,彻底堵住日种子篡改该的机会。接着日志打印程序工作,完成基础的日志保存动作,并关联日志可信加固信息(交易id、区块链高度、日志签名等等)。最后日志预警程序进行日志文件与日志上链信息对比,从而可以知道一个应用程序的日志信息是否完成,里面有哪些内容被篡改了,并且把预警信息以各种形式提醒出来。通过这个流程来实现日志存储,可以实现日志的可信记录效果。
57.实施例三
58.请参阅图1,一种基于区块链的应用程序可信日志记录与预警的方法,包括以下步骤:
59.用户执行应用程序请求;
60.应用分析用户行为类型与执行的业务动作;
61.应用程序调用区块链系统获取其区块链身份,并生成业务日志信息,进行日志签名生成上链hash信息;
62.应用程序把日志信息推送到缓存队列中,等待业务日志的后续处理;
63.上链队列处理程序启动日志hash信息上链,并返回上链唯一的交易id值;
64.日志记录程序读取待处理的日志,为上链反馈的交易id,写入日志文件并刷新待处理队列;
65.日志预警程序扫描日志文件、同步链上日志信息、执行比对逻辑,对于不一致的日志出现时,启动自动预警。
66.优选的,业务工作包括登录、注册、交易支付、浏览、修改密码以及个人信息编辑。
67.优选的,预警包括短信、邮件以及电话形式。
68.一种基于区块链的应用程序可信日志记录与预警的装置,包括应用程序模块、身份验证模块、日志记录模块、缓存通知模块、区块链系统模块以及日志预警模块。
69.优选的,所述应用程序模块负责运行程序并生成日志。
70.优选的,所述身份验证模块负责确认当前应用程序的执行身份,即区块链系统认可的身份,此身份用于进行日志签名,确认当前日志是由特定的应用程序生成的。
71.优选的,所述日志记录模块负责从缓存容器中读取加固后的日志信息并写入到日志文件或其他日志载体中。
72.优选的,所述缓存通知模块负责接收待上链的应用程序日志基础信息,同步给区块链系统,完成日志hash上链与结果返回,更新日志处理的状态与扩展信息。
73.优选的,所述区块链系统模块负责提供区块链能力支持,主要涉及到区块链身份以及完成日志hash上链、查询日志历史上链信息、供后续的日志篡改的验证。
74.优选的,所述日志预警模块负责定期同步链上数据,并与日志文件内容进行比对,最后对查询到的异常日志进行多形式预警通知。
75.需要具体说明的是,日志缓存可以实现日志输出与打印的异步处理,避免日志接收出现丢失风险,同时也可以等待日志上链反馈交易id。区块链数字身份健、权与上链信息不可篡改特性完美链接到一起,从而为输出的所有程序日志提供了一种可以验证对比是否篡改、防止冒充程序身份的机会。日志程序自动、随时进行日志比对,可以自动发现日志风险并预警,从而可以实现对日志风险的快速处理。
76.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
77.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1