一种数据审计的方法、系统、计算机设备和存储介质
技术领域
本发明涉及软件测试领域,具体而言,涉及一种数据审计的方法、系统、计算机设备和存储介质。
背景技术
审计是指为了查明有关质量活动和质量现象的认定与所制定标准之间的一致程度,而客观地收集和评估证据,并将结果传递给有利害关系的使用者的系统过程;它是由接受委托的专职机构和人员,依照相关的国家法律法规,运用专门的方法,对被审计单位的质量管理体系、质量管理活动及其相关资料的真实性、正确性、合规性、合法性、可追溯性进行审查,评价质量合规风险,用以维护质量法规、改善质量管理、提高质量水平的一项独立性的质量监督活动。
单体架构由于其便于开发,易于测试,易于部署等优点,在业务并不复杂或者信息化要求并不高的场景下,并广泛应用于各种行业软件中。为了满足信息审计的需求,在单体架构应用中,记录审计数据的方式都是在数据持久层提供统一的CURD方法,该CURD方法为创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)操作,在统一的方法中记录数据的变化信息。由于单体架构应用往往只有一个数据库,通过该方法能够集中的存储数据变更信息,并提供统一的审计接口。
单体架构的数据审计的所有的功能在一个服务中实现,使用同一个数据库,各种方法进行内部调用。随着技术的演进和业务的发展,单体架构的数据处理应用存在复杂性高、技术债重、部署评率低、可靠性差、扩展能力有限和技术创新难等缺点和不足,愈发不能满足各行业软件架构的需求。并且微服务目前也存在以下不足:1、需要在每个微服务中实现同样的逻辑,当审计需求变动的时候需要修改多处程序,容易造成修改遗漏和错误;2、业务逻辑和审计逻辑耦合到一起,增加了程序复杂度和错误风险,违反设计原则;3、在每个微服务数据库中创建审计表,使数据分散在不同数据库,增加了数据数据篡改的风险和可追溯的难度。
针对相关技术中,数据审计的业务逻辑和审计逻辑耦合到一起,增加了程序复杂度和错误风险的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中,数据审计的业务逻辑和审计逻辑耦合到一起,增加了程序复杂度和错误风险的问题,本发明提供了一种数据审计的方法、系统、计算机设备和存储介质,以至少解决上述问题。
根据本发明的一个方面,提供了一种数据审计的方法,所述方法包括:
为审计接口添加元数据注解,根据所述元数据注解,微服务中的元数据采集器收集元数据并推送到消息中间件,审计微服务的所述元数据收集器通过消费消息收集所述元数据;
在网关中添加拦截器,所述拦截器拦截请求信息,所述拦截器将所述请求信息推送给所述消息中间件;
所述审计微服务的信息接收器消费信息,对与所述请求信息对应的审计消息进行筛选、转换并缓存到本地;
所述审计微服务的审计分析类对所述审计消息进行分析,根据所述元数据和操作人信息确定审计数据。
在其中一些实施例中,所述元数据注解包括方法注解或者类注解,所述元数据注解包括以下至少之一:所述审计接口的URL、所述审计接口所在的微服务服务名、所述审计接口的描述、所述审计接口处理的业务数据的主键字段和审计类型。
在其中一些实施例中,所述元数据收集器通过消费消息收集所述元数据之后,所述方法包括:
所述元数据通过时间戳作为版本号,所述元数据收集器根据所述版本号保存或者更新所述元数据信息到数据库中。
在其中一些实施例中,所述拦截器将所述请求信息推送给所述消息中间件;所述审计微服务的信息接收器消费信息,对与所述请求信息对应的审计消息进行筛选、转换并缓存到本地包括:
所述拦截器拦截所有的所述请求信息,将所述请求信息的统一资源地址URL、请求参数、权限信息和响应报文作为审计主数据发送到消息中间件;
所述信息接收器消费所述审计主数据,根据所述元数据判断请求的URL是否需要审计,并根据所述权限信息到统一授权系统中获取操作人信息;
在确定需要审计的情况下,将所述元数据、所述审计主数据和所述操作人数据传到所述审计分析类进行分析。
在其中一些实施例中,所述审计微服务的审计分析类对所述审计消息进行分析,根据所述元数据和操作人信息确定审计数据包括:
所述审计分析类根据元数据类型调用不同的类型分析器,所述类型分析器包括以下至少之一:
新增类型分析器,用于分析新增数据接口,根据所述元数据中配置的业务关键字段找到请求参数中的主键数据,根据所述审计接口描述、操作人、主键数据生产审计描述,并把业务主键、操作人、审计描述、元数据主键和请求参数数据存入到审计信息表;
修改类型分析器,用于分析修改数据接口,根据所述元数据中配置的业务主键字段找到请求参数中的主键数据,根据所述审计接口描述、操作人、主键数据生产审计描述,并根据所述业务主键找到上一次的审计记录,对比请求参数的变化信息,将业务主键、操作人、审计描述、元数据主键和所述变化信息数据存入到审计表中;
删除类型分析器,用于分析删除数据接口,根据所述元数据中配置的业务主键字段找到请求参数中的主键数据,根据所述审计接口描述、操作人、主键数据生产审计描述,并把业务主键、操作人、审计描述、元数据主键和删除时间数据存入到审计表中。
在其中一些实施例中,根据所述元数据和操作人信息确定审计数据之后,所述方法包括:
所述审计微服务设置数据查询功能,从操作人信息或者数据历史设置审计数据查询功能。
在其中一些实施例中,所述查询功能包括以下至少之一信息进行查询:提供操作人、操作时间段、业务主键和业务信息操作。
根据本发明的另一个方面,提供了一种数据审计的系统,所述系统包括网关、微服务、消息中间件和审计微服务;
为审计接口添加元数据注解,根据所述元数据注解,所述微服务中的元数据采集器收集元数据并推送到所述消息中间件,所述审计微服务的所述元数据收集器通过消费消息收集所述元数据;
在所述网关中添加拦截器,所述拦截器拦截请求信息,所述拦截器将所述请求信息推送给所述消息中间件;
所述审计微服务的信息接收器消费信息,对与所述请求信息对应的审计消息进行筛选、转换并缓存到本地;
所述审计微服务的审计分析类对所述审计消息进行分析,根据所述元数据和操作人信息确定审计数据。
在其中一些实施例中,所述系统还包括数据库,所述元数据通过时间戳作为版本号,所述元数据收集器根据所述版本号保存或者更新所述元数据信息到所述数据库中。
根据本发明的另一个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
根据本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
通过本发明,提供了一种数据审计的方法,该方法包括:为审计接口添加元数据注解,根据该元数据注解,微服务中的元数据采集器收集元数据并推送到消息中间件,审计微服务的该元数据收集器通过消费消息收集该元数据;在网关中添加拦截器,该拦截器拦截请求信息,该拦截器将该请求信息推送给该消息中间件;该审计微服务的信息接收器消费信息,对与该请求信息对应的审计消息进行筛选、转换并缓存到本地;该审计微服务的审计分析类对该审计消息进行分析,根据该元数据和操作人信息确定审计数据,解决了数据审计的业务逻辑和审计逻辑耦合到一起,增加了程序复杂度和错误风险的问题,从而解决了图像检测的方法中检测效率和准确度较低的问题,使得审计代码和业务代码分离,降低了代码耦合,生成的审计数据统一存储,增加了数据的安全性和防篡改能力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本申请实施例的一种数据审计的系统的示意图;
图2为根据本申请实施例的一种数据审计的方法的流程图一;
图3为根据本申请实施例的一种数据审计的方法的流程图二;
图4是根据本发明实施例的计算机设备的内部结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
在本实施例中,提供了一种图像检测方法的应用场景,图1为根据本申请实施例的一种数据审计的系统的示意图,如图1所示,在该应用环境中,该系统包括网关11、微服务12、消息中间件13和审计微服务14;为审计接口添加元数据注解,根据该元数据注解,该微服务12中的元数据采集器收集元数据并推送到该消息中间件13,该审计微服务14的该元数据收集器通过消费消息收集该元数据;在该网关11中添加拦截器,该拦截器拦截请求信息,该拦截器将该请求信息推送给该消息中间件13;该审计微服务14的信息接收器消费信息,对与该请求信息对应的审计消息进行筛选、转换并缓存到本地;该审计微服务14的审计分析类对该审计消息进行分析,根据该元数据和操作人信息确定审计数据。另外,该系统还包括数据库15,该元数据通过时间戳作为版本号,该元数据收集器根据该版本号保存或者更新该元数据信息到该数据库15中,从而解决了图像检测的方法中检测效率和准确度较低的问题,使得审计代码和业务代码分离,降低了代码耦合,生成的审计数据统一存储,增加了数据的安全性和防篡改能力。
在本实施例中,提供了一种数据审计的方法,图2为根据本申请实施例的一种数据审计的方法的流程图一,如图2所示,该方法包括如下步骤:
步骤S202,为审计接口添加元数据注解,根据该元数据注解,微服务12中的元数据采集器收集元数据并推送到消费中间件13,审计微服务14的该元数据收集器通过消费消息收集该元数据;
步骤S204,网关11中添加拦截器,该拦截器拦截请求信息,该拦截器将该请求信息推送给该消费中间件13,该审计微服务14的信息接收器消费信息,对与该请求信息对应的审计消息进行筛选、转换并缓存到本地,该拦截器可以部分或者全部拦截请求信息,将请求信息的请求参数和响应报文推送到该消费中间件13;
步骤S206,该审计微服务14的审计分析类对该审计消息进行分析,根据该元数据和操作人信息确定审计数据。
通过上述步骤S202至S206,为审计接口添加元数据注解后,通过网关11拦截请求信息,推送该请求信息到消费中间件13,审计微服务14通过消费信息收集元数据,因为只是在审计接口添加了元数据注解,不需要针对申请需求进行多处程序的修改,将微服务12中的业务逻辑和审计逻辑进行解耦合,开发人员可以通过审计元数据注解来控制和扩展审计数据的分析和生产,解决了数据审计的业务逻辑和审计逻辑耦合到一起,增加了程序复杂度和错误风险的问题,从而解决了图像检测的方法中检测效率和准确度较低的问题,使得审计代码和业务代码分离,降低了代码耦合,生成的审计数据统一存储,增加了数据的安全性和防篡改能力。
在其他一些实施例中,该元数据注解包括方法注解或者类注解,该元数据注解包括以下至少之一:该审计接口的URL、该审计接口所在的微服务服务名、该审计接口的描述、该审计接口处理的业务数据的主键字段和审计类型,元数据注解用于标注微服务12的接口层,即控制器类等,其中,审计类型包括新增、修改、删除、查询、导入、导出和打印等。
在其中一些实施例中,元数据采集器在微服务12启动的时候,采集元数据注解标注的方法注解和类注解,在类上面标注的注解叫类注解,在方法上标注的注解叫方法注解。元数据类注解和方法注解的主要区别在于:在类上标注类注解等同于在类中所有方法上标注方法注解。采集注解信息和方法注解的签名,以及采集方法入参的对象属性等信息,其中,方法入参往往是一个复杂对象,复杂对象本身有自己的属性,方法入参的类的属性包括:父规程ID、规程名称和产品编号(Code)等;元数据通过时间戳作为版本号,把信息处理后发送到消费中间件13。另外,该元数据收集器根据该版本号保存或者更新该元数据信息到数据库15中,通过上述方式,在每个微服务12统一创建审计表,实现了审计数据的统一存储,能够增加数据的安全性、可追溯性和防篡改能力。
在一些实施例中,该网关11中该拦截器拦截所有的该请求信息,将该请求信息的统一资源地址URL、请求参数、权限信息和响应报文作为审计主数据发送到消费中间件13;该信息接收器消费该审计主数据,根据该元数据判断请求的URL是否需要审计,并根据该权限信息到统一授权系统中获取操作人信息;在确定需要审计的情况下,将该元数据、该审计主数据和该操作人数据传到该审计分析类进行分析。
在一些实施例中,该审计分析类根据元数据类型调用不同的类型分析器,该类型分析器包括以下至少之一:
新增类型分析器,用于分析新增数据接口,根据该元数据中配置的业务关键字段找到请求参数中的主键数据,根据该审计接口描述、操作人、主键数据生产审计描述,例如,该审计描述为“xxx新增了xxx数据”,并把业务主键、操作人、审计描述、元数据主键和请求参数数据存入到审计信息表;
修改类型分析器,用于分析修改数据接口,根据该元数据中配置的业务主键字段找到请求参数中的主键数据,根据该审计接口描述、操作人、主键数据生产审计描述,例如,该审计描述为“xxx修改了xxx数据”,并根据该业务主键找到上一次的审计记录,对比请求参数的变化信息,将业务主键、操作人、审计描述、元数据主键和该变化信息数据存入到审计表中;
删除类型分析器,用于分析删除数据接口,根据该元数据中配置的业务主键字段找到请求参数中的主键数据,根据该审计接口描述、操作人、主键数据生产审计描述,例如,该审计描述为“xxx删除了xxx数据”,并把业务主键、操作人、审计描述、元数据主键和删除时间数据存入到审计表中。同时,类型分析器也可以为查询类型分析器、导入类型分析器、导出类型分析器、打印类型分析器等其他类型分析器没有改变业务数据,只需要记录对应的操作就可以。
在本实施例中,还提供了一种数据审计的方法,图3为根据本申请实施例的一种数据审计的方法的流程图二,如图3所示,在图2步骤的方案上,该方法包括如下步骤:
步骤S302,该审计微服务14设置数据查询功能,从操作人信息或者数据历史设置审计数据查询功能。
该查询功能包括以下至少之一信息进行查询:提供操作人、操作时间段、业务主键和业务信息操作,操作人查询可以知道某人在某段时间内进行了什么操作对数据造成了什么影响。业务主键可以查询业务数据生命周期以及生命周期的变化过程。业务信息模糊配备可以查询当前的业务数据是谁录入或者修改的。提供的多种查询方式,方便审计结果的查询。
另外,结合图2和图3描述的本申请实施例数据审计方法可以由计算机设备来实现。
在一个实施例中,图4是根据本发明实施例的计算机设备的内部结构示意图,如图4所示,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种录像回放权限设置的方法。
其中,存储器可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器可在数据处理装置的内部或外部。在特定实施例中,存储器是非易失性(Non-Volatile)存储器。在特定实施例中,存储器包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(Random AccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例提供的数据审计方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例提供的数据审计方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上该实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。