基于区块链的数据分析类应用程序开发系统及开发方法技术方案

技术编号:34545132 阅读:57 留言:0更新日期:2022-08-17 12:27
本发明专利技术公开了基于区块链的数据分析类应用程序开发系统及开发方法,涉及应用程序开发领域,方法包括:单例应用程序模块,单例应用程序模块采用单列模式,单例应用程序模块用于:保存预设基本配置信息,以及用于调用日志模块实现日志的动态配置,以及用于调用配置模块实现配置的初始化加载;配置模块,配置模块用于实现配置加载;日志模块,日志模块用于:实现将日志格式化成预设格式,以及用于解析获得用于定位开发环境问题的常用信息;消息事件模块,系统的数据分析结果输出通过消息事件模块的消息发布与订阅功能实现;打包部署模块,用于对应用程序进行打包;本发明专利技术能够满足快速开发面向数据分析的应用程序的需求。面向数据分析的应用程序的需求。面向数据分析的应用程序的需求。

【技术实现步骤摘要】
基于区块链的数据分析类应用程序开发系统及开发方法


[0001]本专利技术涉及应用程序开发领域,具体地,涉及基于区块链的数据分析类应用程序开发系统及开发方法。

技术介绍

[0002]为了快速的进行针对区块链数据进行分析的应用程序开发,当前存在着各种各样的Python框架,包括面向web应用、面向爬虫、面向持续集成等。但随着大数据的爆发,数据分析的场景越来越多,特别是针对区块链海量链上数据的分析的场景,而Python天然适合于数据分析,现有的应用程序框架要么很重,要么不完整,而且更多的都是面向web应用程序的开发框架,难以满足快速进行针对区块链海量链上数据分析的场景的数据分析应用程序开发的需求。

技术实现思路

[0003]本专利技术目的是提供一种面向数据分析类应用程序的轻量级应用程序开发系统,满足快速开发针对区块链海量数据进行数据分析的应用程序的需求。
[0004]为实现上述专利技术目的,本专利技术提供了基于区块链的数据分析类应用程序开发系统,所述系统包括:
[0005]单例应用程序模块,单例应用程序模块采用单列模式,单例应用程序模块用于:保存预设基本配置信息,以及用于调用日志模块实现日志的动态配置,以及用于调用配置模块实现配置的初始化加载;
[0006]配置模块,配置模块用于实现配置加载;
[0007]日志模块,日志模块用于:实现将日志格式化成预设格式,以及用于解析获得用于定位开发环境问题的常用信息;
[0008]消息事件模块,系统的数据分析结果输出通过消息事件模块的消息发布与订阅功能实现;
[0009]打包部署模块,用于对应用程序进行打包。
[0010]其中,本申请专利技术人通过对现有技术的分析发现当前急需一个面向数据分析类应用程序的轻量级系统,本系统只需要实现1、程序运行所需的环境配置的加载,保障在程序运行期间,可以在任意地方获取到相同的配置信息;2、程序运行期间日志的打印输出,以满足不同环境日志的查看与采集需求;3、基于kafka用装饰器封装消息发布与订阅功能;4、基于docker容器技术封装程序的自动化打包。本系统不包含现有系统常用的URL路由映射、复杂中间件、模版编程、admin等,以及部分系统深度集成的数据库访问等模块,避免了系统繁重,使得系统简化实现轻量级。如果需要基于该系统访问数据库可以直接使用丰富的Python库即可。本系统封装了在大数据领域不可或缺的消息发布与订阅的装饰器,简化了应用程序的开发过程。基于本系统,开发人员只需要编写数据分析的核心逻辑代码,并且可以高效率的发布分析结果,或者直接存储到数据库。不用去关心程序如何运行,如何进行环
境隔离,如何采集程序日志监控程序状态,以及通过何种方式发布到生产环境。开发人员只需要完成数据分析的逻辑即可,提高了应用程序的开发效率。本专利技术中的一种面向数据分析类应用程序的轻量级系统能够帮助程序员快速的进行程序开发,更多的去关注业务逻辑的实现。
[0011]优选的,本系统中配置模块的配置加载方式包括配置更新方式和配置初始化方式;配置更新方式为:使用新配置对象覆盖原有配置对象,同时保证未出现在新配置对象中的属性维持初始值;配置初始化方式为:默认加载开发环境的配置文件,从环境变量中寻找是否存在测试环境或者开发环境的配置信息,若存在则使用配置更新方式对加载的开发环境配置进行覆盖,否则直接使用开发环境配置运行应用程序。
[0012]优选的,本系统中,配置模块使用预设字典存储配置。
[0013]优选的,本系统中,所述预设字典为python字典。
[0014]优选的,本系统中,所述常用信息包括但不限于:时间、日志级别、应用程序名、应用程序版本、请求标识、追踪链路ID、远程IP、请求发起者、日志方法名和日志消息。
[0015]优选的,本系统中,日志模块用于:实现将日志格式化成Json格式,以及用于实现基于json格式的处理程序,以及用于开发环境调试的字符串格式的处理程序;在单例应用程序模块中根据配置信息使用不同的处理程序。
[0016]优选的,本系统集成基于开源库confluent_kafa封装的python装饰器,实现事件的发布以及订阅。
[0017]优选的,本系统中,基于消息事件的驱动模式,在数据分析中解决入库与分析解耦,将分析结果发布。
[0018]优选的,系统集成使用DOCKER一键打包应用,同时通过集成的发布脚本,动态的获取不同环境的配置,在运行时将配置注入到DOCKER容器的环境变量中。
[0019]本专利技术还提供了用于数据分析类应用程序的开发方法,所述方法基于所述的用于数据分析类应用程序开发的系统,所述方法包括:
[0020]在系统中添加配置文件,并设置默认参数;
[0021]初始化应用程序;
[0022]调用单例应用程序模块、配置模块、日志模块和消息事件模块实现应用程序的开发;
[0023]将开发后的应用程序打包成DOCKER镜像然后部署应用程序;
[0024]在部署应用程序的时拉取配置管理中的配置以JSON的方式注入环境变量中;
[0025]系统的配置模块检查环境变量中的配置并更新配置;
[0026]应用程序使用更新后的配置运行。
[0027]本专利技术提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0028]本专利技术能够自动加载不同环境配置,本专利技术能够在程序中访问,本专利技术能够面向不同场景的输出多样日志,本专利技术能够发送和监听数据分析应用程序中的事件消息;本专利技术能够实现快速容器化部署。本专利技术中的系统简单实现了轻量级设计,能够帮助程序员快速的进行程序开发,更多的去关注业务逻辑的实现。
附图说明
[0029]此处所说明的附图用来提供对本专利技术实施例的进一步理解,构成本专利技术的一部分,并不构成对本专利技术实施例的限定;
[0030]图1为基于区块链的数据分析类应用程序开发系统的组成示意图;
[0031]图2为用于数据分析类应用程序的开发方法的流程示意图。
具体实施方式
[0032]为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本专利技术的实施例及实施例中的特征可以相互组合。
[0033]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本专利技术的保护范围并不受下面公开的具体实施例的限制。
[0034]应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
[0035]如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于区块链的数据分析类应用程序开发系统,其特征在于,所述系统包括:单例应用程序模块,单例应用程序模块采用单列模式,单例应用程序模块用于:保存预设基本配置信息,以及用于调用日志模块实现日志的动态配置,以及用于调用配置模块实现配置的初始化加载;配置模块,配置模块用于实现配置加载;日志模块,日志模块用于:实现将日志格式化成预设格式,以及用于解析获得用于定位开发环境问题的常用信息;消息事件模块,系统的数据分析结果输出通过消息事件模块的消息发布与订阅功能实现;打包部署模块,用于打包应用程序。2.根据权利要求1所述的基于区块链的数据分析类应用程序开发系统,其特征在于,配置模块的配置加载方式包括配置更新方式和配置初始化方式;配置更新方式为:使用新配置对象覆盖原有配置对象,同时保证未出现在新配置对象中的属性维持初始值;配置初始化方式为:默认加载开发环境的配置文件,从环境变量中寻找是否存在测试环境或者开发环境的配置信息,若存在则使用配置更新方式对加载的开发环境配置进行覆盖,否则直接使用开发环境配置运行应用程序。3.根据权利要求1所述的基于区块链的数据分析类应用程序开发系统,其特征在于,配置模块使用预设字典存储配置。4.根据权利要求3所述的基于区块链的数据分析类应用程序开发系统,其特征在于,所述预设字典为python字典。5.根据权利要求1所述的基于区块链的数据分析类应用程序开发系统,其特征在于,所述常用信息包括但不限于:时间、日志级别、应用程序名、应用程序版本、请求标识、追踪链路ID、远程IP、请求发起者、日志方法名和日志消...

【专利技术属性】
技术研发人员:杨霞郭文生
申请(专利权)人:成都链安科技有限公司
类型:发明
国别省市:

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

1