CN115168166A - 业务数据变更的记录方法、装置、设备及存储介质 - Google Patents
业务数据变更的记录方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115168166A CN115168166A CN202210730935.XA CN202210730935A CN115168166A CN 115168166 A CN115168166 A CN 115168166A CN 202210730935 A CN202210730935 A CN 202210730935A CN 115168166 A CN115168166 A CN 115168166A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- code
- business
- annotation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及人工智能技术,揭露了一种业务数据变更的记录方法,包括:识别业务代码对应的业务场景码,在业务代码的处理方法上标记业务场景码;利用AOP切面拦截业务动作,得到数据变动的关键要素,将关键要素封装为Java自定义注解;通过Java自定义注解对业务***进行无痕埋点;当业务数据发生变更时,利用环绕型方法调用AOP切面,拦截所述注解,获取关键参数及业务数据;将关键参数及业务数据以栈式数据结构持久化到HIS表中。此外,本发明还涉及区块链技术,业务场景码可存储于区块链的节点。本发明还提出一种业务数据变更的记录装置、电子设备以及存储介质。本发明可以提高业务数据变更记录的准确度。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种业务数据变更的记录方法、装置、电子设备及计算机可读存储介质。
背景技术
在银行等金融机构的管理应用中,为了满足监管上报和征信上报域等其它***对核心业务数据的多样化切片需求,业务***除了要实时维护最新的、反映了最新业务场景变动的业务数据,例如如消费金融***的借据、还款计划等,还需要捕获并记录数据变更的相关信息。
当前通常基于业务代码下锚点及异步定时任务组装的机制,捕获并记录数据变更的相关信息,在处理业务逻辑时如果对某张表执行了变更操作,对变更的业务代码下锚点,记录一条变更日志,后续根据锚点通过异步定时任务获取尚未处理的变更日志,根据日志中记录的业务表名和主键,找到对应的业务数据,保存至BAK表;但如果某张业务表在短时间内(如1min)连续发生了多次变动,在保存BAK记录时只能获取到任务执行时点对应的业务数据切片,会丢失定时任务触发时点期间业务表上发生的变动记录,导致记录的业务变更信息准确度不高。
发明内容
本发明提供一种业务数据变更的记录方法、装置及计算机可读存储介质,其主要目的在于解决业务数据变更记录的准确度较低的问题。
为实现上述目的,本发明提供的一种业务数据变更的记录方法,包括:
识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
可选地,所述数据变动情况的关键要素,包括:
所述场景码、处理时间、业务时间、电脑的IP地址、用户ID及业务动作唯一标识。
可选地,所述将所述关键要素封装为Java自定义注解,包括:
根据所述关键要素自定义注解格式及数据类型,其中所述数据类型包括枚举及扩展枚举;
创建注解类,指定注解的对象范围、注解被保留的时长,定义注解的字段属性。
可选地,所述利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据,包括:
基于所述日志记录注解,利用环绕型方法调用所述AOP切面对所述业务动作对应的业务动作对象进行切入,得到所述业务动作对象的切入点;
对所述切入点进行操作,提取所述切入点的切面编程信息;
根据所述切面编程信息得到所述业务动作对象的处理方法名称及实现类型;
根据所述处理方法名称及所述实现类型,通过Java反射机制对所述业务动作对象的业务信息进行反射,得到所述业务动作对象的业务数据及关键参数。
可选地,所述通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点,包括:
利用预设源代码生成工具遍历所述业务代码,将所述Java自定义注解转化为对应的埋点数据信息;
利用所述AOP切面对所述业务代码中需要进行日志埋点的位置定义切入点匹配规则;
根据所述切入点匹配规则,将所述埋点数据信息***到所述切入点。
可选地,所述业务动作唯一标识为采用17位时间戳+12位IP地址+3位随机数规则生成的业务动作唯一标识,其中,所述17位时间戳:基于所述处理时间及业务时间根据预设规则生成;其中,所述12位IP地址:基于所述电脑的IP地址根据预设规则生成。
可选地,所述利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素之前,所述方法还包括:
将定义好的AOP切面横切到所述业务***中;
在需要拦截的所述业务动作上添加所述切面AOP。
为了解决上述问题,本发明还提供一种业务数据变更的记录装置,所述装置包括:
业务场景码打标模块,用于识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
自定义注解封装模块,用于利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
无痕埋点模块,用于通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
拦截模块,用于当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
数据持久化模块,用于根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的业务数据变更的记录方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的业务数据变更的记录方法。
本发明实施例通过识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码,赋予了各个业务动作丰富的业务语义,有利于对业务数据变更进行分类记录,进而提高了业务变更信息记录的准确度;利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解,通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点,当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据,将业务逻辑和***处理的代码进行解耦,对原有业务代码零入侵,减少开发成本,通过无痕埋点实时获取所述业务动作的日志数据,避免提升了业务变更信息记录的准确度,避免因为短时间内连续发生了多次变动,丢失变更记录;根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中,在出现单个业务动作触发了多个业务场景的复杂情形时,支持任意层级的业务场景叠加,保障了业务变更信息记录的准确度。因此本发明提出的业务数据变更的记录方法、装置、电子设备及计算机可读存储介质,可以解决业务变更信息记录的准确度较低的问题。
附图说明
图1为本发明一实施例提供的业务数据变更的记录方法的流程示意图;
图2为本发明一实施例提供的Java自定义注解封装的流程示意图;
图3为本发明一实施例提供的无痕埋点的流程示意图;
图4为本发明一实施例提供的获取关键数据变动情况的关键参数及业务数据的流程示意图;
图5为本发明一实施例提供的业务数据变更的记录装置的功能模块图;
图6为本发明一实施例提供的实现所述业务数据变更的记录方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种业务数据变更的记录方法。所述业务数据变更的记录方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述业务数据变更的记录方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的业务数据变更的记录方法的流程示意图。在本实施例中,所述业务数据变更的记录方法包括以下步骤S1-S5:
S1、识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码。
本发明实施例中,提取业务代码中的关键字,根据所述关键字对所述业务代码进行场景分类,得到所述业务代码对应的业务场景。
本发明实施例中,可以利用基于深度学习的模型提取业务代码中的关键字,例如TF-IDF、TextRank等。
本发明实施例中,可以利用随机森林或者邻近算法(K-NearestNeighbor,简称KNN)对所述业务代码进行场景分类,得到所述业务代码对应的业务场景。
本发明实施例中,所述预设规则为业务场景与业务场景码的对照表,根据所述对照表将所述业务场景映射为所述业务场景码,例如还款处理方法的场景码为REPAY,放款处理方法的场景码为LOAN等。
本发明实施例中,所述业务代码的处理方法为预设的AOP切面定义的方法。
本发明实施例中,所述AOP为Aspect Oriented Programming的缩写,意为面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术;利用AOP可以对业务逻辑的各个部分进行隔离,不修改业务源代码对已有方法进行增强,将业务逻辑和***处理的代码(关闭连接、事务管理、操作日志记录)解耦,从而使得业务逻辑各部分之间的耦合度降低。
具体地,所述AOP就是将公用功能提取出来,如果以后公用功能的需求发生变化,只需要改动公用的模块的代码即可,多个调用的地方则不需要改动。所所述面向切面,就是只关注通用功能,而不关注业务逻辑,实现方式一般是通过拦截。
本发明实施例,对所述业务代码进行业务场景分类,并在所述业务代码的处理方法上标记所述业务场景码,赋予了各个业务动作丰富的业务语义,为将来进行一步的数据治理、加工及分析提供了原始的素材。
S2、利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解。
本发明实施例中,所述利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素之前,将定义好的AOP切面横切到业务***中;在需要拦截的所述业务动作上添加所述切面AOP。
本发明实施例中,所述Java自定义注解为元数据,一种代码级别的说明。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
本发明实施例中,所述AOP切面可以采用的AspectJ框架实现。
本发明实施例中,所述关键要素包含但不限于操作者的用户信息、所述场景码、处理时间、业务时间及业务动作唯一标识;其中所述操作者的用户信息包含电脑的IP地址、用户ID。
本发明实施例中,所述业务动作唯一标识为采用17位时间戳+12位IP地址+3位随机数规则生成的业务动作唯一标识,其中,所述17位时间戳:基于所述处理时间及业务时间根据预设规则生成;其中,所述12位IP地址:基于所述电脑的IP地址根据预设规则生成。
本发明实施例中,采用17位时间戳+12位IP地址+3位随机数规则生成的业务动作唯一标识,有助于当发生问题是迅速定位到单台机器,快速收集现场信息。
详细地,参阅图2所示,S2中所述将所述关键要素封装为Java自定义注解,包括以下步骤S21-S22:
S21、根据所述关键要素自定义注解格式及数据类型,其中所述数据类型包括枚举及扩展枚举;
S22、创建注解类,指定注解的对象范围、注解被保留的时长,定义注解的字段属性。
本发明实施例中,因为不同场景下业务时间的取值逻辑不同,所述AOP切面还提供了接口供程序员手动设置所述关键要素,例如:所述用户ID、所述业务时间等,增强了扩展性和适应性。
本发明实施例中,所述Java自定义注解可以定义为@BusinessScene。
S3、通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点。
详细的,参阅图3所示,所述S3包括以下步骤S31-S33:
S31、利用预设源代码生成工具遍历所述业务代码,将所述Java自定义注解转化为对应的埋点数据信息;
S32、利用所述AOP切面对所述业务代码中需要进行日志埋点的位置定义切入点匹配规则;
S33、根据所述切入点匹配规则,将所述埋点数据信息***到所述切入点。
本发明实施例中,通过AOP技术往所述业务代码中***埋点代码,将埋点代码从业务代码中剥离,将业务逻辑和***处理的代码进行解耦,对原有的业务逻辑代码零入侵,减少大量的开发成本,通过无痕埋点实时获取所述业务动作的日志数据。
S4、当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据。
详细地,参阅图4所示,S4中所述利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据,包括以下步骤S41-S44:
S41、基于所述日志记录注解,利用环绕型方法调用所述AOP切面对所述业务动作对应的业务动作对象进行切入,得到所述业务动作对象的切入点;
S42、对所述切入点进行操作,提取所述切入点的切面编程信息;
S43、根据所述切面编程信息得到所述业务动作对象的处理方法名称及实现类型;
S44、根据所述处理方法名称及所述实现类型,通过Java反射机制对所述业务动作对象的业务信息进行反射,得到所述业务动作对象的业务数据及关键参数。
本发明实施例中,可以通过@Around标注方法调用AOP切面,通过环绕通知可以执行切面类代码也可以控制处理方法的执行,所述环绕通知是所有通知类型中功能最为强大的,能够全面地控制连接点,甚至可以控制是否执行连接点。
具体地,对于所述环绕通知而言,连接点的参数类型必须是ProceedingJoinPoint,允许控制何时执行,是否执行连接点;在环绕通知中需要明确调用ProceedingJoinPoint的proceed()方法来执行被代理的方法;需要在方法中传入参数ProceedingJoinPoint来接收方法的各种信息。
本发明实施例中,当业务数据发生变更时,都会触发所述AOP切面拦截用户的业务动作,所述业务动作包括:***、更新、删除等,实时地记录了关键业务数据的变动信息,所述关键参数包含所述场景码、处理时间、业务时间、用户ID、业务动作唯一标识及交易流水号,提升了业务变更信息记录的准确度,避免因为短时间内连续发生了多次变动,丢失变动记录。
S5、根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
本发明实施例中,所述HIS表为***作表格结构相同的历史表,例如据表业务表名为biz_lon_lb,对应的HIS表名为biz_lon_lb_his。
本发明实施例中,所述栈式数据结构为先进后出的数据结构。
本发明实施例中,所述数据持久化的对象的基本操作有:保存、更新、删除、查询等。
本发明实施例中,当业务数据发生变更时,都会触发所述AOP切面拦截用户的业务动作,得到所述关键参数及所述业务数据,所述关键参数及所述业务数据为一条HIS记录,并将所述HIS记录以栈式数据结构持久化到所述HIS表中,当出现单个业务动作触发了多个业务场景的复杂情形时,所述以栈式数据结构支持任意层级的业务场景叠加,极大地扩展了HIS表的适用范围,也保障了业务变更信息记录的准确度。
本发明实施例通过识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码,赋予了各个业务动作丰富的业务语义,有利于对业务数据变更进行分类记录,进而提高了业务变更信息记录的准确度;利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解,通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点,当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据,将业务逻辑和***处理的代码进行解耦,对原有业务代码零入侵,减少开发成本,通过无痕埋点实时获取所述业务动作的日志数据,避免提升了业务变更信息记录的准确度,避免因为短时间内连续发生了多次变动,丢失变更记录;根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中,在出现单个业务动作触发了多个业务场景的复杂情形时,支持任意层级的业务场景叠加,保障了业务变更信息记录的准确度。因此本发明提出的业务数据变更的记录方法,可以解决业务变更信息记录的准确度较低的问题。
如图5所示,是本发明一实施例提供的业务数据变更的记录装置的功能模块图。
本发明所述业务数据变更的记录装置100可以安装于电子设备中。根据实现的功能,所述业务数据变更的记录装置100可以包括业务场景码打标模块101、自定义注解封装模块102、无痕埋点模块103、拦截模块104及数据持久化模块105。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述业务场景码打标模块101,用于识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
所述自定义注解封装模块102,用于利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
所述无痕埋点模块103,用于通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
所述拦截模块104,用于当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
所述数据持久化模块105,用于根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
详细地,本发明实施例中所述业务数据变更的记录装置100中所述的各模块在使用时采用与上述图1至图4中所述的业务数据变更的记录方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图6所示,是本发明一实施例提供的实现业务数据变更的记录方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如业务数据变更的记录程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing Unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行业务数据变更的记录程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如业务数据变更的记录程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的业务数据变更的记录程序是多个指令的组合,在所述处理器10中运行时,可以实现:
识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种业务数据变更的记录方法,其特征在于,所述方法包括:
识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
2.如权利要求1所述的业务数据变更的记录方法,其特征在于,所述数据变动情况的关键要素,包括:
所述场景码、处理时间、业务时间、电脑的IP地址、用户ID及业务动作唯一标识。
3.如权利要求2所述的业务数据变更的记录方法,其特征在于,所述将所述关键要素封装为Java自定义注解,包括:
根据所述关键要素自定义注解格式及数据类型,其中所述数据类型包括枚举及扩展枚举;
创建注解类,指定注解的对象范围、注解被保留的时长,定义注解的字段属性。
4.如权利要求1所述的业务数据变更的记录方法,其特征在于,所述利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据,包括:
基于所述日志记录注解,利用环绕型方法调用所述AOP切面对所述业务动作对应的业务动作对象进行切入,得到所述业务动作对象的切入点;
对所述切入点进行操作,提取所述切入点的切面编程信息;
根据所述切面编程信息得到所述业务动作对象的处理方法名称及实现类型;
根据所述处理方法名称及所述实现类型,通过Java反射机制对所述业务动作对象的业务信息进行反射,得到所述业务动作对象的业务数据及关键参数。
5.如权利要求1所述的业务数据变更的记录方法,其特征在于,所述通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点,包括:
利用预设源代码生成工具遍历所述业务代码,将所述Java自定义注解转化为对应的埋点数据信息;
利用所述AOP切面对所述业务代码中需要进行日志埋点的位置定义切入点匹配规则;
根据所述切入点匹配规则,将所述埋点数据信息***到所述切入点。
6.如权利要求2所述的业务数据变更的记录方法,其特征在于,所述业务动作唯一标识为采用17位时间戳+12位IP地址+3位随机数规则生成的业务动作唯一标识,其中,所述17位时间戳:基于所述处理时间及业务时间根据预设规则生成;其中,所述12位IP地址:基于所述电脑的IP地址根据预设规则生成。
7.如权利要求1所述的业务数据变更的记录方法,其特征在于,所述利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素之前,所述方法还包括:
将定义好的AOP切面横切到所述业务***中;
在需要拦截的所述业务动作上添加所述切面AOP。
8.一种业务数据变更的记录装置,其特征在于,所述装置包括:
业务场景码打标模块,用于识别业务代码对应的业务场景,根据预设规则将所述业务场景映射为业务场景码,在所述业务代码的处理方法上标记所述业务场景码;
自定义注解封装模块,用于利用预设的AOP切面拦截用户的业务动作,得到数据变动情况的关键要素,将所述关键要素封装为Java自定义注解;
无痕埋点模块,用于通过所述Java自定义注解在所述业务代码中添加日志记录注解的方式,对业务***进行无痕埋点;
拦截模块,用于当业务数据发生变更时,利用环绕型方法调用所述AOP切面,拦截所述日志记录注解,获取关键数据变动情况的关键参数及业务数据;
数据持久化模块,用于根据所述业务场景码从预设数据库中选择HIS表,将所述关键参数及所述业务数据以栈式数据结构持久化到所述HIS表中。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的业务数据变更的记录方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的业务数据变更的记录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210730935.XA CN115168166A (zh) | 2022-06-24 | 2022-06-24 | 业务数据变更的记录方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210730935.XA CN115168166A (zh) | 2022-06-24 | 2022-06-24 | 业务数据变更的记录方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115168166A true CN115168166A (zh) | 2022-10-11 |
Family
ID=83486979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210730935.XA Pending CN115168166A (zh) | 2022-06-24 | 2022-06-24 | 业务数据变更的记录方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168166A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115544049A (zh) * | 2022-11-29 | 2022-12-30 | 明度智云(浙江)科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN115883647A (zh) * | 2022-11-29 | 2023-03-31 | 京东科技信息技术有限公司 | 业务日志记录方法、***、装置、终端、服务器及介质 |
CN116016683A (zh) * | 2022-12-05 | 2023-04-25 | 中信银行股份有限公司 | 一种网站数据采集方法、装置、设备及存储介质 |
-
2022
- 2022-06-24 CN CN202210730935.XA patent/CN115168166A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115544049A (zh) * | 2022-11-29 | 2022-12-30 | 明度智云(浙江)科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN115544049B (zh) * | 2022-11-29 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 数据处理方法、电子设备及计算机可读存储介质 |
CN115883647A (zh) * | 2022-11-29 | 2023-03-31 | 京东科技信息技术有限公司 | 业务日志记录方法、***、装置、终端、服务器及介质 |
CN116016683A (zh) * | 2022-12-05 | 2023-04-25 | 中信银行股份有限公司 | 一种网站数据采集方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115168166A (zh) | 业务数据变更的记录方法、装置、设备及存储介质 | |
CN109815228A (zh) | 数据库表的创建方法、装置、计算机设备及可读存储介质 | |
CN113239106B (zh) | Excel文件导出方法、装置、电子设备及存储介质 | |
CN113961584A (zh) | 字段血缘分析方法、装置、电子设备及存储介质 | |
CN114185895A (zh) | 数据导入导出方法、装置、电子设备及存储介质 | |
CN113806434A (zh) | 大数据处理方法、装置、设备及介质 | |
CN114386509A (zh) | 数据融合方法、装置、电子设备及存储介质 | |
CN115543198A (zh) | 非结构化数据入湖方法、装置、电子设备及存储介质 | |
CN113434542B (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
CN111240772A (zh) | 一种基于区块链的数据处理方法、装置及存储介质 | |
CN114547696A (zh) | 文件脱敏方法、装置、电子设备及存储介质 | |
CN114356379A (zh) | 基于备份的服务升级方法、装置、设备及存储介质 | |
CN115640578A (zh) | 应用程序的漏洞可达性分析方法、装置、设备及介质 | |
CN114911479A (zh) | 基于配置化的界面生成方法、装置、设备及存储介质 | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN114625372A (zh) | 组件自动编译方法、装置、计算机设备及存储介质 | |
CN114625712A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN113687827A (zh) | 基于微件的数据列表生成方法、装置、设备及存储介质 | |
US20170286195A1 (en) | Information object system | |
CN112686759A (zh) | 对账监测方法、装置、设备及介质 | |
CN114357534B (zh) | 基于区块链的课室实训平台构建方法、装置、设备及介质 | |
CN113657076B (zh) | 页面操作记录表的生成方法、装置、电子设备及存储介质 | |
CN110413644B (zh) | 一种数据缓存方法、电子装置及计算机可读存储介质 | |
CN115098514A (zh) | 基于注解的场景识别方法、装置、电子设备及存储介质 | |
CN113434365A (zh) | 数据特征监控方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |