一种用于数据链路的获取方法和系统与流程

文档序号:23395844发布日期:2020-12-22 14:03阅读:123来源:国知局
本发明涉及大数据的
技术领域
:,尤其是一种用于数据链路的获取方法和系统。
背景技术
::数据流动路径的复杂化导致追踪溯源变得异常困难,大数据应用体系庞杂,频繁的数据共享和交换促使数据流动路径变得交错复杂,数据从产生到销毁不再是单向、单路径的简单流动模式,也不再仅限于组件内部流转。在此过程中,实现异构组件下跨越数据控制者或全路径数据追踪溯源变得更加困难,典型的溯源方案通过人工记录,记录在人脑或者记录在档案或者数据库,源于对数据链路的不重视,区块链溯源方案特点为数据源头可信,溯源数据可信。现有技术有进行日志输出,但并未做日志分析,没有准确的目的性和对数据链路的可视化。现有技术各种组件十分丰富,组合方式多种多样,数据源为从组件到组件流动的方式,通过人为操作,且进行人为的一次性记忆,由于各组件的差异性体现,对于组件的统一管理十分困难,数据的完整链路不清晰明了,且数据在组件中传输过程并未对数据安全性验证。技术实现要素:为了解决现有技术中组件管理不全面,没有明确的目的性,没有日志分析的技术问题,本发明提出了一种用于数据链路的获取方法和系统。在一个方面,本发明提出了一种用于数据链路的获取方法,包括以下步骤:s1:配置数据接入层到数据服务层上部署的组件,统一组件中的日志标准以及日志输出格式,其中,日志信息中的关键信息被赋予追溯标识;s2:响应于源数据通过组件,获取组件上的日志信息;s3:清洗日志信息,提取日志信息中的关键信息存储至数据库中;以及s4:利用数据库中的关键信息,获取数据在组件中的流向生成数据链路。优选的,日志标准为log4j标准。统一为log4j标准可以方便于进行日志参数的统一输出,便于进行日志信息的分析。进一步优选的,日志信息包括组件的配置信息、时间、日志级别、会话标识、功能标识、数据处理和内容参数,关键信息包括组件的配置信息、功能标识和数据处理,组件的配置信息包括组件的ip地址和端口信息。以上信息的设置能够便于进行对组件的控制,以及数据的溯源分析。优选的,数据接入层到数据服务层上部署的组件包括:数据接入层上的sqoop、flume、logstash或爬虫组件,数据计算层上的mr、spark、sparkingstreaming或tensorflow组件,数据分析层上的实时sql、机器学习、nlp分析或深度学习组件。去源去终端应用的数据处理方式便于进行日志的统一处理,避免对数据源或终端应用的影响。优选的,步骤s3中提取日志信息中的关键信息具体为:利用正则或字符串匹配的方式提取关键信息。利用正则或字符串的匹配可以快速获取日志中的关键信息。优选的,还包括:利用数据在组件中的流向,动态配置组件的端口信息控制数据的流向。凭借数据流向可以通过日志中的信息动态实现对组件的控制,满足不同使用需求。优选的,还包括:利用web端接入数据库并显示数据的流向以及数据在组件中的数据处理信息。凭借web端的接入可以将数据流向等信息可视化。根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有一或多个计算机程序,该一或多个计算机程序被计算机处理器执行时实施上述方法。根据本发明的第三方面,提出了一种用于数据链路的获取系统,该系统包括:组件配置单元:配置用于配置数据接入层到数据服务层上部署的组件,统一组件中的日志标准以及日志输出格式,其中,日志信息中的关键信息被赋予追溯标识;日志信息获取单元:配置用于响应于源数据通过组件,获取组件上的日志信息;数据库维护单元:配置用于清洗日志信息,提取日志信息中的关键信息存储至数据库中;以及数据流向获取单元:配置用于利用数据库中的关键信息,获取数据在组件中的流向。优选的,还包括:动态配置单元:配置用于利用数据在组件中的流向,动态配置组件的端口信息控制数据的流向;可视化单元:配置用于利用web端接入数据库并显示数据在组件中的流向以及数据在组件中的数据处理信息。本发明提出了一种用于数据链路的获取方法和系统,当web端选择好监控的组件时,组件位置都配置正确时,也即正常读取组件配置文件、日志内容、监听组件端口时,且符合设计标准后,在源数据通过每个组件时,数据采集系统收集打印的日志或配置文件中的信息且生成唯一资源编码存储到数据库中,直至链路完成。本方案去源去终端应用,只从接入层到数据服务层,通过配置好组件的信息,是否开启组件的监控,数据链路采集系统对组件监听端口,读取配置文件,日志信息,获取组件中的数据来源,数据去向,组件本身信息。整个过程中组件产生的日志为统一的log4j标准,便于进行分析和配置。附图说明包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请的一个实施例的一种用于数据链路的获取方法的流程图;图2是本申请的一个具体的实施例的数据流程图;图3是本申请的一个实施例的一种用于数据链路的获取系统的框架图;图4a-c是本申请的一个具体的实施例的系统ui设计图;图5是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。根据本申请的一个实施例的基于人脸识别的客流统计方法,图1示出了根据本申请的实施例的用于数据链路的获取方法的流程图。如图1所示,该方法包括以下步骤:s101:配置数据接入层到数据服务层上部署的组件,统一组件中的日志标准以及日志输出格式,其中,日志信息中的关键信息被赋予追溯标识。在具体的实施例中,统一的日志标准为log4j标准。且日志应当提供如下内容:时间,包含时区信息和毫秒,这个工作往往日志框架足以支持。核心属性之一。日志级别,例如debug、info以及warn、error。会话标识,能知道是哪个客户端或者是哪个用户触发、登陆账号、seesion信息等。功能标识,功能标识的意义在于方便日志搜索,跟踪指定功能的完整轨迹,是info、debug日志的常见技巧。跟logger分类同一道理,更细分功能标识则是方法标识,更多使用在debug做在线调试使用。精炼的内容,内容是日志的核心,结合上述使用场景,简单来说包括场景信息(谁,什么功能等),状态信息(开始,中断,结束)以及重要参数。其它信息,其它可能的有用信息包括:版本号、线程号等。在具体的实施例中,日志的关键信息被赋予追溯标识,关键信息包括组件的配置信息、功能标识和数据处理,组件的配置信息包括组件的ip地址和端口信息。traceability表示可追溯性,当读取日志通过正则或者字符串匹配到traceability时,便表示这条日志与数据溯源相关。具体如下:log.debug(“traceability==>ip={},port={},subname={}”,ip,port,subname);log.debug(“traceability==>classname={},funname={},description={}”,classname,funcname,description)。在系统中使用thread.currentthread().getstacktrace()[1].getclassname()thread.currentthread().getstacktrace()[1].getmethodname()来获取类名以及方法名赋值给classname,funcnamedescription用来描述该类该方案做了做了哪些处理,数据变化的过程。在具体的实施例中,从接入层到数据服务层,通过配置好组件的信息,是否开启组件的监控,数据链路采集系统对组件监听端口,读取配置文件,日志信息,获取组件中的数据来源,数据去向,组件本身信息,组件为接入层的sqoop,flume/logstash和爬虫,计算层的mr,spark,sparkingstreaming以及tensorflow,分析层的实时sql,机器学习,nlp分析,深度学习算法等。分析层往往要针对性处理,需求时刻变化,但是只要把关键信息通过日志打印出来,监听端口即可。日志格式同上标准及格式s102:响应于源数据通过组件,获取组件上的日志信息。数据通过组件时根据上述配置的日志标准生成日志信息,作为后续溯源或分析的基础。s103:清洗日志信息,提取日志信息中的关键信息存储至数据库中。清洗过滤日志信息中的无效信息,利用正则或字符串匹配的方式提取日志中的关键信息至数据库中,便于形成数据在组件中的流向信息以及组件处理数据的相关信息。s104:利用数据库中的关键信息,获取数据在组件中的流向生成数据链路。数据本身没有方向,加上组件配置的来源去向,形成数据链路,加上获取组件日志内时间等一些参数,分析数据传输时效,通过日志获取数据在组件中流动的方向,写入dataflow对象,插入到data_flow表里。在具体的实施例中,组件统一变化,编译开源代码,将执行脚本和关键日志信息打印出来,内容为可以获取到数据流向,组件可获取内容列表如下(例):sqoop端口:无配置文件configure-sqoop:日志:启动打印脚本通过读取日志中的执行脚本信息获取状态sqoopexport还是sqoopimport获取--connect--username--password--table--target-dir--as-avrodatafile一般任务都会保存在job里,执行脚本为:sqoopjob--execsqoopimport1脚本中包含job时,获取exec后的jobname,执行sqoopjob--showsqoopimport1去获取配置信息,生成链路存储数据库。在优选的实施例中,上述方法还包括:利用数据在组件中的流向,动态配置组件的端口信息控制数据的流向。根据日志信息中相关组件的配置信息,在已获取的数据链路中,可以实现动态插拔组件,具体的将日志信息中获取的上一组件的输出端口跳过需要拔除的组件的输入端口直接接入下一组件的输入端口,动态拔插组件的效果可以满足不同的使用需求。在优选的实施例中,还可以利用web端接入数据库并显示数据的流向以及数据在组件中的数据处理信息。在页面上展示数据的完整链路,或者是组件到组件中的数据流动情况,可以直观的获取数据链路的相关信息,甚至利用可视化的界面进行组件的控制。在具体的实施例中,数据库的设计具体包括数据流动表,组件到组件的传输,有(id,数据类型,来源类型,来源ip,来源端口,去向类型,去向ip,去向端口)来源去向,创建时间,结束时间,数据大小,数据描述,资源编码。数据链路表,从源头直到存储层的完整数据链路,有来源去向,创建时间,结束时间,资源编码,数据描述,数据大小。组件,配置组件名称,组件类型,组件根路径,组件的端口,组件ip。组件分类,包含常用组件通用配置,有id,组件类型,配置路径,日志路径,组件端口。图2示出了根据本申请的一个具体的实施例的数据流程图,如图2所示,数据源201通过a组件202、b组件203、e组件204、f组件205至数据仓库206,数据链路采集系统207上的监听组件端口、组件日志分析和组件配置读取模块针对数据源201通过各个组件进行如图1中的数据链路的获取以及对组件的动态插拔控制。其中b组件203中还包括多个子组件b1、b2和b3,子组件可以根据udf自定义函数实现模块化的程序设计,方便修改代码、增加函数,且udf的执行速度很快,通过缓存计划在语句重复执行时降低代码的编译开销,比存储方法的执行效率更高,还可以可用于减少网络流量。继续参考图3,图3示出了根据本发明的实施例的一种基于人脸识别的客流统计系统的框架图。该系统具体包括组件配置单元301、日志信息获取单元302、数据库维护单元303和数据流向获取单元304。在具体的实施例中,组件配置单元301:配置用于配置数据接入层到数据服务层上部署的组件,统一组件中的日志标准以及日志输出格式,其中,日志信息中的关键信息被赋予追溯标识;日志信息获取单元302:配置用于响应于源数据通过组件,获取组件上的日志信息;数据库维护单元303:配置用于清洗日志信息,提取日志信息中的关键信息存储至数据库中;数据流向获取单元304:配置用于利用数据库中的关键信息,获取数据在组件中的流向。优选的,还包括动态配置单元305:配置用于利用数据在组件中的流向,动态配置组件的端口信息控制数据的流向;可视化单元306:配置用于利用web端接入数据库并显示数据在组件中的流向以及数据在组件中的数据处理信息。图4-c示出了根据本发明的一个具体的实施例的的系统ui设计图,系统结构分为web端和后端,web端配置组件路径,后端分析配置文件和日志信息,监听组件端口,相关信息录入数据库,相关开源组件均需要修改源码重编译,将日志信息补充,输出完整,日志格式同上标准及格式,系统ui上包括添加组件、组件流动和数据链路的标签页,具体的,如图4a中的添加组件标签页所示,页面上可以选择组件类型,添加组件根目录位置,使用组件默认端口或者配置对应端口,配置是否监控组件。图4b中的组件流动标签页和图4c中的数据链路标签页中示出了数据的类型、来源去向、创建时间、结束时间、数据大小、数据描述以及对应的资源编码。在具体的实施例中,web端的设计具体包括页面上选择组件类型,添加组件根目录位置,使用组件默认端口或者配置对应端口,配置是否监控组件。页面上以表格或者图表显示:数据流向多条组件->组件,接入层->数据服务层,数据内容可做脱敏处理。后端的设计包括配置模块、日志分析模块、端口监听模块和数据展示模块。其中,组件配置模块,配置:可直接修改组件配置文件,读取:通过组件类型,获取通用配置的路径,获取配置中的内容,针对组件的关键字段做提取,保存数据库;日志分析模块,通过组件类型,获取通用日志目录路径,根据组件日志生成格式,获取当前的日志信息,正则或者字符串匹配提取日志内关键信息,保存数据库,日志格式同上标准及格式;组件监控模块,可通过web端选择是否开启组件监控,过滤组件,获取可监控的组件信息,组件类型,获取通用组件端口,可通过web端变更,和组件配置端口保持一致,监听端口产生的数据内容,提取关键信息,保存数据库;数据展示模块,获取数据库内容提供接口给web端做数据展示,组件运行情况,数据流向,数据脱敏显示;开源组件,日志补全输出:根据业务需要把执行脚本,数据大小,数据条数,数据传输速率,等相关信息输出完整,便于做日志分析。下面参考图5,其示出了适于用来实现本申请实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有系统500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:配置数据接入层到数据服务层上部署的组件,统一组件中的日志标准以及日志输出格式,其中,日志信息中的关键信息被赋予追溯标识;响应于源数据通过组件,获取组件上的日志信息;清洗日志信息,提取日志信息中的关键信息存储至数据库中;利用数据库中的关键信息,获取数据在组件中的流向生成数据链路。以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1