一种优化日志框架配置的方法、装置、电子设备及介质转让专利

申请号 : CN202310953392.2

文献号 : CN116661758B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 代振生代振国庄杰郑威董龙迟文青吴新于雷王斌王永宁杨皓强

申请人 : 青岛蓝图智库信息技术有限公司

摘要 :

本申请涉及数据分析技术领域,尤其是涉及一种优化日志框架配置的方法、装置、电子设备及介质,方法包括获取第一预设时间段内用户的业务数据信息;识别业务数据信息中的业务类型,并确定每个业务类型对应的第一功能接口;获取初始日志框架中包含的第二功能接口;根据第一功能接口和第二功能接口,确定接口调整信息;获取编程人员数据,并基于编程人员数据确定编程特征;根据接口调整信息和编程特征优化初始日志框架,得到目标日志框架,本申请能够提高编码人员在编码工作过程中的效率。

权利要求 :

1.一种优化日志框架配置的方法,其特征在于,包括:

获取第一预设时间段内用户的业务数据信息;

识别所述业务数据信息中的业务类型,并确定每个业务类型对应的第一功能接口;

获取初始日志框架中包含的第二功能接口;

根据所述第一功能接口和所述第二功能接口,确定接口调整信息;

获取编程人员数据,并基于所述编程人员数据确定编程特征;

根据所述接口调整信息和所述编程特征优化所述初始日志框架,得到目标日志框架;

其中,所述基于所述编程人员数据确定编程特征,包括:

根据所述编程人员数据,从历史编程信息库中确定所述编程人员数据对应的每个编程人员的历史编程信息和历史编程信息的代码量;识别每个编程人员对应的历史编程信息中包含的项目标识,根据项目标识与第一权重的对应关系,确定每个历史编程信息的第一权重;识别每个编程人员对应的历史编程信息中包含的代码标识,根据代码标识与第二权重的对应关系,确定每个历史编程信息的第二权重;根据每个历史编程信息对应的第一权重和第二权重,确定每个历史编程信息的目标权重;根据每个编程人员的目标权重,以及第三权重与编码类型的对应关系,确定每个编程人员的编码类型;根据所述编程人员数据,从历史重构信息库中确定每个编程人员的代码重构频率;将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征。

2.根据权利要求1所述的一种优化日志框架配置的方法,其特征在于,所述获取初始日志框架中包含的第二功能接口之前,还包括:根据业务类型与业务特长的对应关系,确定所述业务数据信息对应的初始业务特长;

统计每个初始业务特长对应的业务数据信息数量,并将业务数据信息数量最多的初始业务特长确定为目标业务特长;

根据所述目标业务特长,从多个预设日志框架中确定初始日志框架。

3.根据权利要求1所述的一种优化日志框架配置的方法,其特征在于,所述将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征之后,还包括:根据每个编程人员数据对应的编程特征,确定每个编程人员的编程权重;

根据每个编程人员的编程权重,从所述目标日志框架中确定每个编程人员的编程区域;

根据每个编程人员的编程权重和对应的编程区域,确定每个编程区域对应的注释内容。

4.根据权利要求1所述的一种优化日志框架配置的方法,其特征在于,还包括:当监测到编程人员对所述目标日志框架的触发操作时,获取编程人员的操作信息,所述操作信息包括操作人员标识、操作内容以及操作时刻;

将所述操作信息导入无锁缓冲区内,并按照预设运行频率运行所述操作内容;

根据运行结果生成编程日志。

5.根据权利要求4所述的一种优化日志框架配置的方法,其特征在于,还包括:从所述无锁缓冲区中,获取第二预设时间段内每个编程人员的操作信息;

判断每个编程人员的操作信息是否符合预设异常条件,将符合异常条件的操作信息确定为异常操作信息,并生成身份验证指令,其中,预设异常条件包括:所述第二预设时间段内,相邻时刻对应的操作内容匹配度低于第一预设阈值;或所述第二预设时间段内,同一编程人员对应的触发操作区域数量高于第二预设阈值。

6.根据权利要求5所述的一种优化日志框架配置的方法,其特征在于,所述生成身份验证指令,包括:当监测到异常操作信息后,生成身份核实信息,并反馈至异常编程人员对应的终端设备,所述异常编程人员为符合异常条件的编程人员;

将收集到的身份反馈信息与对应的预设身份核实信息相匹配得到身份匹配值,当所述身份匹配值低于预设身份匹配值时,根据所述异常操作信息还原异常操作,得到还原操作信息;

将所述还原操作信息进行保存。

7.一种优化日志框架配置的装置,其特征在于,包括:

获取业务数据模块,用于获取第一预设时间段内用户的业务数据信息;

确定第一功能接口模块,用于识别每个业务数据信息对应的业务类型,并确定每个业务类型对应的第一功能接口;

获取第二功能接口模块,用于获取初始日志框架中包含的第二功能接口;

确定接口调整信息模块,用于根据所述第一功能接口和所述第二功能接口,确定接口调整信息;

确定编程特征模块,用于获取编程人员数据,并基于所述编程人员数据确定编程特征;

优化框架模块,用于根据所述接口调整信息和所述编程特征优化所述初始日志框架,得到目标日志框架;

其中,所述确定编程特征模块在基于所述编程人员数据确定编程特征时,具体用于:根据所述编程人员数据,从历史编程信息库中确定所述编程人员数据对应的每个编程人员的历史编程信息和历史编程信息的代码量;识别每个编程人员对应的历史编程信息中包含的项目标识,根据项目标识与第一权重的对应关系,确定每个历史编程信息的第一权重;识别每个编程人员对应的历史编程信息中包含的代码标识,根据代码标识与第二权重的对应关系,确定每个历史编程信息的第二权重;根据每个历史编程信息对应的第一权重和第二权重,确定每个历史编程信息的目标权重;根据每个编程人员的目标权重,以及第三权重与编码类型的对应关系,确定每个编程人员的编码类型;根据所述编程人员数据,从历史重构信息库中确定每个编程人员的代码重构频率;将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征。

8.一种电子设备,其特征在于,该电子设备包括:

至少一个处理器;

存储器;

至少一个应用程序,其中所述至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行权利要求1‑6中任一项所述的一种优化日志框架配置的方法。

9.一种计算机可读存储介质,其特征在于,包括:存储有能够被处理器加载并执行如权利要求1‑6中任一种所述的一种优化日志框架配置的方法的计算机程序。

说明书 :

一种优化日志框架配置的方法、装置、电子设备及介质

技术领域

[0001] 本申请涉及数据分析及时领域,尤其是涉及一种优化日志框架配置的方法、装置、电子设备及介质。

背景技术

[0002] 工作日志用于对系统访问者的行为和操作进行日志记录,通过查看日志信息能够对访问者访问系统的时间和行为操作进行监督,当系统在运行过程中出现运行异常时,可通过分析日志信息对异常原因进行追溯,从而对系统内部数据的安全进行保护,因此大多企业在项目创办过程中均会建立工作日志。
[0003] 由于工作日志不仅仅用于记录数据,还可以用于对记录的数据进行分析,因此开发人员需要理解和分析复杂的功能需求,其中包括对业务问题的深入了解、对用户需求的详细分析和对系统功能的全面考虑,这些需求不仅仅是简单的描述,还涉及到各种限制、交互关系和业务规则等,因此开发人员在编写日志对应的程序代码时可能会花费较长的时间。相关技术中,开发人员一般通过应用开源框架,即,开发人员可以利用自由共享的代码和工具来构建相关程序,从而避免从头开始编写重复的代码,以此减少重复劳动,但是由于开源框架拥有广泛适用性,能够满足大多数开发人员的需求,但是,仍需花费大量的编码时间进行大量修改,以使编写出的日志更符合企业的实际需求。
[0004] 因此,现亟需一种能够优化编码框架的方法,以使优化后的日志框架更符合企业实际需求,从而能够提高开发人员在编码工作过程中的工作量。

发明内容

[0005] 为了使优化后的日志框架更符合企业实际需求,从而提高编码工作的效率,本申请提供了一种优化日志框架配置的方法、装置、电子设备及介质。
[0006] 第一方面,本申请提供一种优化日志框架配置的方法,采用如下的技术方案:
[0007] 一种优化日志框架配置的方法,包括:
[0008] 获取第一预设时间段内用户的业务数据信息;
[0009] 识别所述业务数据信息中的业务类型,并确定每个业务类型对应的第一功能接口;
[0010] 获取初始日志框架中包含的第二功能接口;
[0011] 根据所述第一功能接口和所述第二功能接口,确定接口调整信息;
[0012] 获取编程人员数据,并基于所述编程人员数据确定编程特征;
[0013] 根据所述接口调整信息和所述编程特征优化所述初始日志框架,得到目标日志框架。
[0014] 通过采用上述技术方案,通过用户的实际务数据确定日志框架中所需包含的功能接口,再根据所需包含的功能接口对初始日志框架中所包含的初始功能接口进行调整,而不需要相关编程人员在实际编程工作过程中再对目标日志框架进行大幅度调整,以此能够降低相关编程人员在编程工作过程中的工作量,并且,还通过分析用户提供的编程人员的编程特征对初始日志框架进行优化和调整,而不需要相关编程人员在使用目标日志框架时需要较长的学习曲线,以此能够提高相关编程人员的上手速度和工作效率,通过实际业务需求以及相关编程人员的编程特征共同对日志框架进行优化,以便于提升目标日志框架与实际业务需求的适配度,从而能够减少相关编程人员在编码工作过程中的工作量,进而提高编码工作的效率。
[0015] 在一种可能实现的方式中,所述获取初始日志框架中包含的第二功能接口之前,还包括:
[0016] 根据业务类型与业务特长的对应关系,确定所述业务数据信息对应的初始业务特长;
[0017] 统计每个初始业务特长对应的业务数据信息数量,并将业务数据信息数量最多的初始业务特长确定为目标业务特长;
[0018] 根据所述目标业务特长,从多个预设日志框架中确定初始日志框架。
[0019] 通过采用上述技术方案,由于不同的数据类型对应的业务特长不同,并且不同的业务特长对应的编程框架也不同,因此,根据业务类型确定出的编程框架与业务数据信息的匹配程度更高,由于初始日志框架中也包含有功能接口,并且不同的业务特长类型对应的日志框架中包含的功能接口不同,因此,确定初始日志框架时,通过不同业务特长的业务数据信息在全部业务数据信息中的占比进行确定,而不是随机从多个预设日志框架中进行确定,由于根据业务数据信息中的占比确定出的初始日志框架中包含的功能接口能够实现大多数业务数据信息对应的功能,因此不需要对初始日志框架中包含的功能接口进行大幅度调整,从而便于提升对初始日志框架进行调整时的速率。
[0020] 在一种可能实现的方式中,所述基于所述编程人员数据确定编程特征,包括:
[0021] 根据所述编程人员数据,从历史编程信息库中确定所述编程人员数据对应的每个编程人员的历史编程信息和历史编程信息的代码量;
[0022] 识别每个编程人员对应的历史编程信息中包含的项目标识,根据项目标识与第一权重的对应关系,确定每个历史编程信息的第一权重;
[0023] 识别每个编程人员对应的历史编程信息中包含的代码标识,根据代码标识与第二权重的对应关系,确定每个历史编程信息的第二权重;
[0024] 根据每个历史编程信息对应的第一权重和第二权重,确定每个历史编程信息的目标权重;
[0025] 根据每个编程人员的目标权重,以及第三权重与编码类型的对应关系,确定每个编程人员的编码类型;
[0026] 根据所述编程人员数据,从历史重构信息库中确定每个编程人员的代码重构频率;
[0027] 将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征。
[0028] 通过采用上述技术方案,通过历史编程信息对每个编程人员的平均编码量和重构频率进行确定,便于提升确定编程人员的编程特征时的准确度,由于复杂程度不同的项目对应的代码需求不同,并且不同的编程语言对应的技术栈对代码编写的方式和数量也有所不同,因此在确定编程人员的平均编码时,先根据项目标识和代码标识确定出项目难度和编程语言,并且根据预设权重将不同的项目标识和代码标识进行归一化处理后,再对编程人员的编码类型进行确定,便于提升确定不同编程人员的编码类型时的准确性。
[0029] 在一种可能实现的方式中,所述将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征之后,还包括:
[0030] 根据每个编程人员数据对应的编程特征,确定每个编程人员的编程权重;
[0031] 根据每个编程人员的编程权重,从所述目标日志框架中确定每个编程人员的编程区域;
[0032] 根据每个编程人员的编程权重和对应的编程区域,确定每个编程区域对应的注释内容。
[0033] 通过采用上述技术方案,通过编程权重为每个编程人员划分编程区域,可以为每个编程人员提供符合个人能力水平的编程内容,通过提高编程工作与编程人员的匹配度,以减少编程过程中出现编程异常的概率,从而能够提升编程效率。
[0034] 在一种可能实现的方式中,该方法还包括:
[0035] 当监测到编程人员对所述目标日志框架的触发操作时,获取编程人员的操作信息,所述操作信息包括操作人员标识、操作内容以及操作时刻;
[0036] 将所述操作信息导入无锁缓冲区内,并按照预设运行频率运行所述操作内容;
[0037] 根据运行结果生成编程日志。
[0038] 通过采用上述技术方案,通过编程日志能够对编程人员的编程过程进行记录,以便于编程人员的编程工作进行监督,通过对已完成编程的内容进行定期运行,以便于在代码程序出现异常时能够及时发现,通过及时修正异常代码,以降低对其他非异常代码产生的影响,从而能够降低相关编码人员在修复异常时的工作量。
[0039] 在一种可能实现的方式中,该方法还包括:
[0040] 从所述无锁缓冲区中,获取第二预设时间段内每个编程人员的操作信息;
[0041] 判断每个编程人员的操作信息是否符合预设异常条件,将符合异常条件的操作信息确定为异常操作信息,并生成身份验证指令,其中,预设异常条件包括:
[0042] 所述第二预设时间段内,相邻时刻对应的操作内容匹配度低于第一预设阈值;
[0043] 所述第二预设时间段内,同一编程人员对应的触发操作区域数量高于第二预设阈值。
[0044] 通过采用上述技术方案,通过对编程人员在第二预设时间段内的操作信息进行分析,以对编程人员是否存在异常行为进行监督,当监测到编程人员的操作信息出现异常时,通过对编程人员的身份进行核实和验证,以对编程内容进行保护。
[0045] 在一种可能实现的方式中,所述生成身份验证指令,包括:
[0046] 当监测到异常操作信息后,生成身份核实信息,并反馈至异常编程人员对应的终端设备,所述异常编程人员为符合异常条件的编程人员;
[0047] 将收集到的身份反馈信息与对应的预设身份核实信息相匹配得到身份匹配值,当所述身份匹配值低于预设身份匹配值时,根据所述异常操作信息还原异常操作,得到还原操作信息;
[0048] 将所述还原操作信息进行保存。
[0049] 通过采用上述技术方案,当编程人员在一定时间段内,所做的操作内容相差较大时,可能存在被其他人恶意篡改的行为,此时通过对操作者的身份进行验证,当身份验证失败时,不保存异常操作信息,以对已完成编程的内容进行保护。
[0050] 第二方面,本申请提供一种优化日志框架配置的装置,采用如下的技术方案:
[0051] 一种优化日志框架配置的装置,包括:
[0052] 获取业务数据模块,用于获取第一预设时间段内用户的业务数据信息;
[0053] 确定第一功能接口模块,用于识别所述业务数据信息中的业务类型,并确定每个业务类型对应的第一功能接口;
[0054] 获取第二功能接口模块,用于获取初始日志框架中包含的第二功能接口;
[0055] 确定接口调整信息模块,用于根据所述第一功能接口和所述第二功能接口,确定接口调整信息;
[0056] 确定编程特征模块,用于获取编程人员数据,并基于所述编程人员数据确定编程特征;
[0057] 优化框架模块,用于根据所述接口调整信息和所述编程特征优化所述初始日志框架,得到目标日志框架。
[0058] 通过采用上述技术方案,通过用户的实际务数据确定日志框架中所需包含的功能接口,再根据所需包含的功能接口对初始日志框架中所包含的初始功能接口进行调整,而不需要相关编程人员在实际编程工作过程中再对目标日志框架进行大幅度调整,以此能够降低相关编程人员在编程工作过程中的工作量,并且,还通过分析用户提供的编程人员的编程特征对初始日志框架进行优化和调整,而不需要相关编程人员在使用目标日志框架时需要较长的学习曲线,以此能够提高相关编程人员的上手速度和工作效率,通过实际业务需求以及相关编程人员的编程特征共同对日志框架进行优化,以便于提升目标日志框架与实际业务需求的适配度,从而能够减少相关编程人员在编码工作过程中的工作量,进而提高编码工作的效率。
[0059] 在一种可能实现的方式中,该装置还包括:
[0060] 确定初始业务特长模块,用于根据业务类型与业务特长的对应关系,确定所述业务数据信息对应的初始业务特长;
[0061] 确定目标业务特长模块,用于统计每个初始业务特长对应的业务数据信息数量,并将业务数据信息数量最多的初始业务特长确定为目标业务特长;
[0062] 确定初始日志框架模块,用于根据所述目标业务特长,从多个预设日志框架中确定初始日志框架。
[0063] 在一种可能实现的方式中,确定编程特征模块在获取编程人员数据,并基于所述编程人员数据确定编程特征时,具体用于:
[0064] 根据所述编程人员数据,从历史编程信息库中确定所述编程人员数据对应的每个编程人员的历史编程信息和历史编程信息的代码量;
[0065] 识别每个编程人员对应的历史编程信息中包含的项目标识,根据项目标识与第一权重的对应关系,确定每个历史编程信息的第一权重;
[0066] 识别每个编程人员对应的历史编程信息中包含的代码标识,根据代码标识与第二权重的对应关系,确定每个历史编程信息的第二权重;
[0067] 根据每个历史编程信息对应的第一权重和第二权重,确定每个历史编程信息的目标权重;
[0068] 根据每个编程人员的目标权重,以及第三权重与编码类型的对应关系,确定每个编程人员的编码类型;
[0069] 根据所述编程人员数据,从历史重构信息库中确定每个编程人员的代码重构频率;
[0070] 将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征。
[0071] 在一种可能实现的方式中,该装置还包括:
[0072] 确定编程权重模块,用于根据每个编程人员数据对应的编程特征,确定每个编程人员的编程权重;
[0073] 确定编程区域模块,用于根据每个编程人员的编程权重,从所述目标日志框架中确定每个编程人员的编程区域;
[0074] 确定注释内容模块,用于根据每个编程人员的编程权重和对应的编程区域,确定每个编程区域对应的注释内容。
[0075] 在一种可能实现的方式中,该装置还包括:
[0076] 第一获取信息模块,用于当监测到编程人员对所述目标日志框架的触发操作时,获取编程人员的操作信息,所述操作信息包括操作人员标识、操作内容以及操作时刻;
[0077] 存储信息模块,用于将所述操作信息导入无锁缓冲区内,并按照预设运行频率运行所述操作内容;
[0078] 生成编程日志模块,用于根据运行结果生成编程日志。
[0079] 在一种可能实现的方式中,该装置还包括:
[0080] 第二获取信息模块,用于从所述无锁缓冲区中,获取第二预设时间段内每个编程人员的操作信息;
[0081] 判断异常模块,用于判断每个编程人员的操作信息是否符合预设异常条件,将符合异常条件的操作信息确定为异常操作信息,并生成身份验证指令,其中,预设异常条件包括:
[0082] 所述第二预设时间段内,相邻时刻对应的操作内容匹配度低于第一预设阈值;
[0083] 所述第二预设时间段内,同一编程人员对应的触发操作区域数量高于第二预设阈值。
[0084] 在一种可能实现的方式中,判断异常模块在生成身份验证指令时,具体用于:
[0085] 当监测到异常操作信息后,生成身份核实信息,并反馈至异常编程人员对应的终端设备,所述异常编程人员为符合异常条件的编程人员;
[0086] 将收集到的身份反馈信息与对应的预设身份核实信息相匹配得到身份匹配值,当所述身份匹配值低于预设身份匹配值时,根据所述异常操作信息还原异常操作,得到还原操作信息;
[0087] 将所述还原操作信息进行保存。
[0088] 第三方面,本申请提供一种电子设备,采用如下的技术方案:
[0089] 一种电子设备,该电子设备包括:
[0090] 至少一个处理器;
[0091] 存储器;
[0092] 至少一个应用程序,其中所述至少一个应用程序被存储在存储器中并被配置为由至少一个处理器执行,所述至少一个应用程序配置用于:执行上述优化日志框架配置的方法。
[0093] 第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
[0094] 一种计算机可读存储介质,包括:存储有能够被处理器加载并执行上述优化日志框架配置的方法的计算机程序。
[0095] 综上所述,本申请包括以下至少一种有益技术效果:
[0096] 通过用户的实际务数据确定日志框架中所需包含的功能接口,再根据所需包含的功能接口对初始日志框架中所包含的初始功能接口进行调整,而不需要相关编程人员在实际编程工作过程中再对目标日志框架进行大幅度调整,以此能够降低相关编程人员在编程工作过程中的工作量,并且,还通过分析用户提供的编程人员的编程特征对初始日志框架进行优化和调整,而不需要相关编程人员在使用目标日志框架时需要较长的学习曲线,以此能够提高相关编程人员的上手速度和工作效率,通过实际业务需求以及相关编程人员的编程特征共同对日志框架进行优化,以便于提升目标日志框架与实际业务需求的适配度,从而能够减少相关编程人员在编码工作过程中的工作量,进而提高编码工作的效率。
[0097] 通过编程日志能够对编程人员的编程过程进行记录,以便于编程人员的编程工作进行监督,通过对已完成编程的内容进行定期运行,以便于在代码程序出现异常时能够及时发现,通过及时修正异常代码,以降低对其他非异常代码产生的影响,从而能够降低相关编码人员在修复异常时的工作量。

附图说明

[0098] 图1是本申请实施例中一种优化日志框架配置的方法的流程示意图;
[0099] 图2是本申请实施例中一种编程特征确定方法的流程示意图;
[0100] 图3是本申请实施例中一种优化日志框架配置的装置的结构示例图;
[0101] 图4是本申请实施例中一种电子设备的结构示意图。

具体实施方式

[0102] 以下结合附图1‑图4对本申请作进一步详细说明。
[0103] 本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
[0104] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0105] 具体的,本申请实施例提供了一种优化日志框架配置的方法,由电子设备执行,该电子设备可以为服务器也可以为终端设备,其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此,该终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
[0106] 参考图1,图1是本申请实施例中一种优化日志框架配置的方法的流程示意图,该方法包括步骤S110‑步骤S160,其中:
[0107] 步骤S110:获取第一预设时间段内用户的业务数据信息。
[0108] 具体的,第一预设时间段可以为优化日志框架之前的3个月,也可以为优化日志框架之前的6个月,具体的时间段在本申请实施例中不做具体限定,可由相关技术人员进行限定。用户的业务数据信息为用户在第一预设时间段的主营业务所对应的数据信息,或,用户采用优化后的日志进行记录和监督的业务数据信息,用户可以为一个企业,也可以为某个项目,具体的在本申请实施例中不做具体限定,只要该用户的业务数据信息需要被记录和监督即可,由于不同的用户对应的业务类型不同,因此,不同的用户对应的业务数据信息也不同,用户的业务数据信息可在接收到用户端设备发送的需求信息后,从用户端设备获取,还可以由用户直接上传至电子设备,获取用户的业务数据信息的方式在本申请实施例中不做具体限定。
[0109] 步骤S120:识别业务数据信息中的业务类型,并确定每个业务类型对应的第一功能接口。
[0110] 具体的,用户的业务数据信息中包含的业务类型可能有一个,也可能有多个,不同的业务数据信息中包含的业务类型数量不同,其中,每个业务类型均对应有一个功能接口,业务类型的数量与功能接口的数量一致,在处理用户的业务数据信息时,通过对应的功能接口能够实现对应的功能。例如,当业务数据信息需要对实体之间的差异进行对比时,需要引入实体类DIFF(Differences)接口,当多个编程人员协作开发一个项目时,不同编程人员可能会同时修改同一个实体类,此时通过对比实体类DIFF,可以查看各个修改版本之间的差异,分析每个编程人员所做的修改,以避免代码冲突和重复工作。通过该步骤可以确定出业务数据信息中所有的业务类型各自对应的第一功能接口。
[0111] 不同的业务类型对应的业务标识不同,通过识别业务数据信息中包含的业务标识可以识别出业务数据信息中包含的至少一个业务类型。
[0112] 步骤S130:获取初始日志框架中包含的第二功能接口。
[0113] 具体的,初始日志框架为未经过优化的日志框架,初始日志框架可以为开源日志框架,例如,Log4j(Log for Java,Java日志)、Logback(Logback Classic,Logback经典) 以及SLF4J(Simple Logging Facade for Java,Java简单日志门面)等,其中Log4j是Java应用程序中最常用的日志框架之一,它支持多种输出目标,如文件、控制台、数据库等以及拥有灵活的日志级别配置;Logback是Log4j的继任者,它是一个高性能、可扩展的日志框架;SLF4J是一个为Java应用程序提供简单统一日志接口的框架。
[0114] 为了便于相关编程人员使用,本申请实施例中的开源日志框架中包含多种功能,例如:
[0115] 功能一,快速接入功能,可利用Spring Boot Starter(Spring Boot 起步依赖)实现,Spring Boot Starter实际上是一个依赖项或模块,通过打包相关的库、配置和代码,以便在应用程序中快速启用特定的功能,通过使用Spring Boot Starte编程人员可以避免手动配置和引入各种第三方库的复杂性,只需引入相应的Starter依赖项,Spring Boot将自动配置相关的功能组件,并提供默认的配置选项;
[0116] 功能二,业务无入侵功能,根据接口隔离原则将不同的业务逻辑划分为不同的接口,确保每个接口只关注自己的核心功能,以保证引入新的功能时,只需新增接口和相应的实现类,而不需要修改已有的接口和实现类,从而做到业务无入侵;
[0117] 功能三,SPEL(Spring表达式语言)解析,支持SPEL表达式,提供了一种简洁的方式访问和操作对象的属性、调用方法、进行算术和逻辑运算、访问集合元素等,可以通过使用特定的符号和方法来实现高度灵活的表达式解析;
[0118] 功能四,条件注解,使用条件注解和SPEL结合来实现满足特定条件后才记录日志的功能,通过使用条件注解,可以根据特定的条件来决定是否记录日志,从而能够根据运行时的环境或配置来动态地决定组件的加载和配置,以适应不同的场景;
[0119] 功能五,自定义上下文,通过手动传递键值对的方式提供额外的条件信息,可以通过在自定义条件类中定义相应的属性,并在代码中手动设置这些属性的值,从而更加精确地控制日志记录的条件和行为在应用程序中存储和访问特定的数据或资源,而不需依赖于默认的上下文环境,从而能够提供更灵活、更精确的控制和管理;
[0120] 功能六,自定义函数,通过注册自定义函数,可以将编程逻辑和功能添加到现有的函数库或框架中,以便在其他地方可以直接调用和使用这些自定义函数,以实现特定的功能或操作,使代码更加模块化、可读性更高,并且提高了开发效率和代码的重用性;
[0121] 功能七,全局操作人ID,可以根据实际需求来编写适合的操作人ID获取逻辑,并将其封装为实现了OperatorIdProvider接口的类,在需要的地方使用该实例获取操作人ID,从而能够使得操作人ID的获取逻辑更加灵活和可配置,以适应各种不同的应用需求;
[0122] 功能八,指定日志数据管道,通过指定日志数据管道,可以明确定义日志的生成、收集、传输、存储和处理流程,以满足编程人员的实际需求,从而可以提高日志管理的可靠性、可扩展性和灵活性,同时方便后续的日志分析和监控工作;
[0123] 功能九,支持重复注释,同一方法上可以写多个操作日志注解;
[0124] 功能十,支持控制切面执行时机,通过合适的切点和切面配置,编程人员可以灵活地控制切面的执行时机,以实现自己的业务逻辑和需求。
[0125] 除此之外,开源日志还包括有多个基础功能接口,例如,Logger日志记录器接口,用于记录不同级别的日志消息,它提供了不同级别的日志方法,如debug()、info()、warn()和error()等,用于记录相应级别的日志信息;LoggerFactory日志记录器工厂接口,用于获取Logger实例,通过LoggerFactory接口可以创建和管理Logger对象;Appender日志输出接口,用于指定日志消息的输出目标,Appender接口可以将日志消息输出到不同的地方,如文件、控制台、数据库等;Formatter/Encoder日志格式化接口,用于指定日志消息的格式;Filter日志过滤器接口,用于根据某些条件过滤日志消息。
[0126] 开源日志框架的种类有多种,不同的开源日志框架对应的功能接口也不同,为了提升对初始日志框架进行优化时的效率,本申请实施例提供的方法还包括:
[0127] 根据业务类型与业务特长的对应关系,确定业务数据信息对应的初始业务特长;统计每个初始业务特长对应的业务数据信息数量,并将业务数据信息数量最多的初始业务特长确定为目标业务特长;根据目标业务特长,从多个预设日志框架中确定初始日志框架。
[0128] 具体的,业务类型与业务特长的对应关系中,包含有每个业务类型对应的业务特长,不同的业务类型对应的业务特长可能相同,也可能不同。确定业务数据信息对应的目标业务特长时,先根据业务数据信息中包含的业务标识确定对应的业务类型,再根据业务类型与业务特长的对应关系确定出每个业务类型所对应的业务特长,其中,业务类型与业务特长的对应关系可以为:当业务特长为游戏开发时,对应的业务类型包含图形渲染、物理模拟、动画以及碰撞等;当业务特长为Web开发时,对应的业务类型包含处理HTTP请求、路由、认证、数据库访问等,具体的业务类型与业务特长的对应关系在本申请实施例中不做具体限定,可由相关技术人员进行设定。
[0129] 确定出业务数据信息中包含的至少一个业务类型后,确定每个业务特长包含的业务类型数量,将包含业务类型数量最多的业务特长确定为目标业务特长,例如,业务数据信息中包含有三个业务标识,分别为业务标识1、业务标识2以及业务标识3,其中,业务标识1对应业务类型1、业务标识2对应业务标识2、业务标识3对应业务类型3,并且,业务类型1和业务类型2对应业务特长a,业务类型3对应业务特长b,所以将业务特长a确定为目标业务特长。
[0130] 不同的业务特长对应的适宜开源日志框架不同,即,不同的业务特长对应的预设日志框架不同,例如,可通过业务特长与日志框架的对应关系,从多个预设日志框架中确定初始日志框架,其中,业务特长与日志框架的对应关系在本申请实施例中不做具体限定,可由相关技术人员进行设定。
[0131] 通过不同业务特长的业务数据信息在全部业务数据信息中的占比进行确定,而不是随机从多个预设日志框架中进行确定,由于根据业务数据信息中的占比确定出的初始日志框架中包含的功能接口能够实现大多数业务数据信息对应的功能,因此不需要对初始日志框架中包含的功能接口进行大幅度调整,从而便于提升对初始日志框架进行调整时的速率。
[0132] 步骤S140:根据第一功能接口和第二功能接口,确定接口调整信息。
[0133] 具体的,确定出的初始日志框架为现有功能接口与业务数据信息的第一功能接口差异最小的日志框架,接口调整信息中包含需要删除和增添的功能接口,例如,根据业务数据信息对应的业务类型确定的第一功能接口需包括接口a、接口b、接口c以及接口d,初始日志框架中包含的第二功能接口包括接口b、接口d以及接口e,则接口调整信息为增添接口a和接口c,删除接口e。可将第一功能接口与第二功能接口相对比,确定出共同接口,将第一功能接口中,除共同接口之外的其他接口确定为待添加接口;将第二功能接口中,出共同接口之外的其他接口确定为待删除接口,根据待添加接口和待删除接口生成接口调整信息。
[0134] 步骤S150:获取编程人员数据,并基于编程人员数据确定编程特征。
[0135] 具体的,编程人员为参与日志创建的人员,编程人员的数量可以为一个,也可以为多个,编程人员的具体数量在本申请实施例中不做具体限定,可由用户进行提供,编程人员数据中包含有每个编程人员的人员标识和个人身份信息,编程特征用于表征编程人员的编程习惯。
[0136] 步骤S160:根据接口调整信息和编程特征优化初始日志框架,得到目标日志框架。
[0137] 具体的,根据接口调整信息优化初始日志框架,即将接口调整信息中待添加接口添加至初始日志框架中,将接口调整信息中待删除接口从初始日志框架中删除。
[0138] 对于本申请实施例,通过用户的实际务数据确定日志框架中所需包含的功能接口,再根据所需包含的功能接口对初始日志框架中所包含的初始功能接口进行调整,而不需要相关编程人员在实际编程工作过程中再对目标日志框架进行大幅度调整,以此能够降低相关编程人员在编程工作过程中的工作量,并且,还通过分析用户提供的编程人员的编程特征对初始日志框架进行优化和调整,而不需要相关编程人员在使用目标日志框架时需要较长的学习曲线,以此能够提高相关编程人员的上手速度和工作效率,通过实际业务需求以及相关编程人员的编程特征共同对日志框架进行优化,以便于提升目标日志框架与实际业务需求的适配度,从而能够减少相关编程人员在编码工作过程中的工作量,进而提高编码工作的效率。
[0139] 进一步地,基于编程人员数据确定编程特征时具体包括步骤S1501‑步骤S1507,如图2所示,包括:
[0140] 步骤S1501:根据编程人员数据,从历史编程信息库中确定编程人员数据对应的每个编程人员的历史编程信息和历史编程信息的代码量。
[0141] 具体的,从编程人员数据中识别出每个编程人员的人员标识,人员标识可以为工号,也可以为人员代称,具体的人员标识在本申请实施例中不做具体限定,只要能够通过人员标识对编程人员进行区分即可。历史编程信息库中保存有每个编程人员的历史编程信息,历史编程信息中包含有至少一个开发项目对应的编程信息,历史编程信息的代码量为完成每个开发项目的编程工作后的最终代码量。
[0142] 步骤S1502:识别每个编程人员对应的历史编程信息中包含的项目标识,根据项目标识与第一权重的对应关系,确定每个历史编程信息的第一权重。
[0143] 步骤S1503:识别每个编程人员对应的历史编程信息中包含的代码标识,根据代码标识与第二权重的对应关系,确定每个历史编程信息的第二权重。
[0144] 步骤S1504:根据每个历史编程信息对应的第一权重和第二权重,确定每个历史编程信息的目标权重。
[0145] 具体的,不同的开发项目对应的标识不同,项目标识可以为项目名称+开发日期,还可以为人工标记的标识,具体的项目标识在本申请实施例中不做具体限定,只要能够通过项目标识对不同的开发项目进行区分即可。不同的编程语言对应的代码标识不同,具体的代码标识在本申请实施例中不做具体限定,只要能够根据代码标识对不同的编程语言进行区分即可。
[0146] 由于不同的项目对应的代码量不同,项目的规模越大,完成该项目时对应的代码量越大,因此,将参与过不同开发项目的编程人员的代码量进行比较时,可将不同规模的开发项目对应的编程信息进行归一化处理,以便于提升对比结果的准确性。除此之外,不同的编程语言对应的代码量也不同,一些编程语言和技术栈可能需要较多的代码来实现某个功能,而其他的编程语言则可能使用较少的代码就可实现相应的功能,因此在分析不同编程人员的代码量时,还需对将不同的编程语言进行归一化处理。
[0147] 项目标识与第一权重的对应关系中包含有不同的项目标识对应的权重值,项目规模越大,该项目标识对应的权重值越大,具体的项目标识与第一权重的对应关系在本申请实施例中不做具体限定,可根据历史编程信息进行确定。代码标识与第二权重的对应关系中包含有不同的代码标识对应的权重值,具体的项目标识与第二权重的对应关系在本申请实施例中不做具体限定,可根据历史编程信息进行确定。
[0148] 目标权重为对每个历史编程信息进行归一化处理后得到的,通过将不同历史编程信息的目标权重进行对比,以实现对不同编程人员的历史编程信息进行对比。
[0149] 步骤S1505:根据每个编程人员的目标权重,以及第三权重与编码类型的对应关系,确定每个编程人员的编码类型。
[0150] 具体的,编码类型包括一级编码、二级编码以及三级编码,级别越高对应的编码能力越强,即能够使用较少的代码量实现相应的功能,第三权重与编码类型的对应关系可以为当目标权重为0‑30%时,对应的编码类型为一级编码;当目标权重为30%‑60%时,对应的编码类型为二级编码;当目标权重60%以上时,对应的编码类型为三级编码,具体的第三权重与编码类型的对应关系在本申请实施例中不做具体限定。
[0151] 步骤S1506:根据编程人员数据,从历史重构信息库中确定每个编程人员的代码重构频率。
[0152] 具体的,代码重构频率指的是编程人员进行代码重构的频繁程度,历史重构信息库中包含有每个编程人员的代码重构频率,可根据编程人员的人员标识从历史重构信息库中获取。
[0153] 步骤S1507:将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征。
[0154] 具体的,编程人员的编码类型和代码重构频率构成编程人员的编程特征,编程人员数据对应的编程特征包含有编程人员数据中每个编程人员对应的编程特征。
[0155] 进一步地,为了减少编程过程中出现编程异常的概率,该方法还包括:
[0156] 根据每个编程人员数据对应的编程特征,确定每个编程人员的编程权重;根据每个编程人员的编程权重,从目标日志框架中确定每个编程人员的编程区域;根据每个编程人员的编程权重和对应的编程区域,确定每个编程区域对应的注释内容。
[0157] 具体的,不同的编程人员对应的编程特征可能不同,通过确定每个编程人员对应的编程权重便于确定每个编程人员的编程能力,再根据每个编程人员的编程能力为每个编程人员分配编程内容,其中,根据编程特征确定编程人员的编程权重时,可通过编程类型与第一编程权重的对应关系确定出每个编程人员的第一编程权重,其中,编程类型与第一编程权重的对应关系可以为当编程类型为一级编码时对应的第一编程权重为20%;当编程类型为二级编码时对应的第一编程权重为30%;当编程类型为三级编码时对应的第一编程权重为50%,具体的编程类型与第一编程权重的对应关系在本申请实施例中不做具体限定,可由相关技术人员进行设定。可通过代码重构频率与第二编程权重的对应关系确定出每个编程人员的第二编程权重,其中,代码重构频率与第二编程权重的对应关系可以为当代码重构频率为单位周期内重构10次以上时,对应的第二编码权重为20%;当代码重构频率为单位周期内重构5‑10次时,对应的第二编码权重为30%;当代码重构频率为单位周期内重构5次以下时,对应的第二编码权重为50%,具体的代码重构频率与第二编程权重的对应关系在本申请实施例中不做具体限定,可由相关技术人员进行设定。
[0158] 第一编程权重和第二编程权重构成编程人员的编程权重,优化后的日志框架中每个编程区域对应有不同的编程权重,即,根据每个编程人员的编程权重能够确定出每个编程人员的适宜编程区域,由于编程人员的编程权重能够表征编程人员的编程能力,因此可通过编程权重确定相应编程区域的注释内容,编程权重越高对应的编程能力越强,对应的注释内容越少。
[0159] 根据编程权重确定注释内容时,可根据编程权重与注释内容的对应关系进行确定,其中,编程权重与注释内容的对应关系可以为当编程权重低于20%时,注释内容可以包括编程语句翻译、经典错误编码示例以及编写提示;当编程权重高于20%,低于60%时,注释内容可以为编程语句翻译和编写提示;当编程权重高于60%时,注释内容可以为编写提示,具体的编程权重与注释内容的对应关系在本申请实施例中不作具体限定,可由相关技术人员进行设定。
[0160] 通过编程权重为每个编程人员划分编程区域,可以为每个编程人员提供符合个人能力水平的编程内容,通过提高编程工作与编程人员的匹配度,以减少编程过程中出现编程异常的概率,从而能够提升编程效率。
[0161] 进一步地,为了降低相关编码人员在修复异常时的工作量,该方法还包括:
[0162] 当监测到编程人员对目标日志框架的触发操作时,获取编程人员的操作信息,操作信息包括操作人员标识、操作内容以及操作时刻;将操作信息导入无锁缓冲区内,并按照预设运行频率运行操作内容;根据运行结果生成编程日志。
[0163] 具体的,编程人员对目标日志框架进行编程时,电子设备便会监测到编程人员的触发操作,编程人员的操作信息由预先设置好的编程工作日志进行记录,无锁缓冲区可以为环形无锁缓冲区,也可以为无锁链表,具体的在本申请实施例中不做具体限定,只要能够实现无等待写入即可。
[0164] 预设运行频率可以为每隔1分钟运行一次,也可以为每隔5分钟运行一次,具体的运行频率在本申请实施例中不做具体限定,生成的编程日志中除了包含编程人员的操作信息外,还包括每次的运行结果。通过对已完成编程的内容进行定期运行,以便于在代码程序出现异常时能够及时发现,通过及时修正异常代码,以降低对其他非异常代码产生的影响,从而能够降低相关编码人员在修复异常时的工作量。
[0165] 为了对编程内容进行保护,该方法还包括:
[0166] 从无锁缓冲区中,获取第二预设时间段内每个编程人员的操作信息;判断每个编程人员的操作信息是否符合预设异常条件,将符合异常条件的操作信息确定为异常操作信息,并生成身份验证指令,其中,预设异常条件包括:第二预设时间段内,相邻时刻对应的操作内容匹配度低于第一预设阈值;或第二预设时间段内,同一编程人员对应的触发操作区域数量高于第二预设阈值。
[0167] 具体的,第二预设时间段可以为监测到有操作信息写入无锁缓冲区之后的12小时,也可以为之后的24小时,具体的时间段在本申请实施例中不做具体限定,可由相关技术人员进行设定,通过判断每个编程人员在相邻时刻内的操作内容是否相似,或者判断每个编程人员是否存在异常触发,以判断第二预设时间段内是否存在异常操作。
[0168] 其中,判断每个编程人员在相邻时刻内的操作内容是否相似时,可通过获取每个编程人员在第二预设时间段中的相邻时刻,并获取相邻时刻对应的操作内容,其中,当第二预设时间段为10:00‑20:00时,相邻时刻可以为10:20和10点21,可从第二预设时间段内随机确定两个相邻时刻,判断相邻时刻的操作内容是否相似时,可通过将相邻时刻对应的操作信息进行匹配,匹配内容包括操作区域和操作类型,当相邻时刻对应的操作内容匹配度低于第一预设阈值时,确定该编程人员存在操作异常,其中,第一预设阈值可以为80%,也可以为90%,具体的在本申请实施例中不做具体限定。
[0169] 判断每个编程人员是否存在异常触发时,可通过获取第二预设时间段内每个编程人员的操作区域,当同一编程人员在第二预设时间段内的操作区域的数量高于第二预设阈值时,确定该编程人员存在操作异常,其中,第二预设阈值可以为8,也可以为10,具体的在本申请实施例中不做具体限定。
[0170] 进一步地,为了对已完成编程的内容进行保护,该方法还包括:
[0171] 当监测到异常操作信息后,生成身份核实信息,并反馈至异常编程人员对应的终端设备,异常编程人员为符合异常条件的编程人员;将收集到的身份反馈信息与对应的预设身份核实信息相匹配得到身份匹配值,当身份匹配值低于预设身份匹配值时,根据异常操作信息还原异常操作,得到还原操作信息;将还原操作信息进行保存。
[0172] 具体的,可采用生物特征识别的方式对存在异常操作的编程人员进行身份验证,电子设备可根据异常操作信息生成生物特征获取提示信息,并将生成的生物特征获取提示信息反馈至对应编程人员的设备终端,以便于采集相应编程人员的生物特征,生物特征提示信息中包含需要采集的生物特征内容,可以包括人脸特征、声音特征、指纹特征等,在本申请实施例中不做具体限定,只要能够根据识别到的生物特征对该编程人员进行身份验证即可。
[0173] 预设身份匹配值可以为85%,也可以为90%,具体的在本申请实施例中不做具体限定,可由相关技术人员进行设定,还原异常操作时可通过异常操作信息确定异常操作开始时刻,将异常操作开始时刻之间的操作信息进行保存,以完成还原。
[0174] 当编程人员在一定时间段内所做的操作内容相差较大时,可能存在被其他人恶意篡改的行为,此时通过对操作者的身份进行验证,当身份验证失败时,不保存异常操作信息,以对已完成编程的内容进行保护。
[0175] 上述实施例从方法流程的角度介绍一种优化日志框架配置的方法,下述实施例从虚拟模块或者虚拟单元的角度介绍了一种优化日志框架配置的装置,具体详见下述实施例。
[0176] 本申请实施例提供一种优化日志框架配置的装置,如图3所示,该装置具体可以包括获取业务数据模块310、确定第一功能接口模块320、获取第二功能接口模块330、确定接口调整信息模块340、确定编程特征模块350以及优化框架模块360,其中:
[0177] 获取业务数据模块310,用于获取第一预设时间段内用户的业务数据信息;
[0178] 确定第一功能接口模块320,用于识别业务数据信息中的业务类型,并确定每个业务类型对应的第一功能接口;
[0179] 获取第二功能接口模块330,用于获取初始日志框架中包含的第二功能接口;
[0180] 确定接口调整信息模块340,用于根据第一功能接口和第二功能接口,确定接口调整信息;
[0181] 确定编程特征模块350,用于获取编程人员数据,并基于编程人员数据确定编程特征;
[0182] 优化框架模块360,用于根据接口调整信息和编程特征优化初始日志框架,得到目标日志框架。
[0183] 在一种可能实现的方式中,该装置还包括:
[0184] 确定初始业务特长模块,用于根据业务类型与业务特长的对应关系,确定业务数据信息对应的初始业务特长;
[0185] 确定目标业务特长模块,用于统计每个初始业务特长对应的业务数据信息数量,并将业务数据信息数量最多的初始业务特长确定为目标业务特长;
[0186] 确定初始日志框架模块,用于根据目标业务特长,从多个预设日志框架中确定初始日志框架。
[0187] 在一种可能实现的方式中,确定编程特征模块350在获取编程人员数据,并基于编程人员数据确定编程特征时,具体用于:
[0188] 根据编程人员数据,从历史编程信息库中确定编程人员数据对应的每个编程人员的历史编程信息和历史编程信息的代码量;
[0189] 识别每个编程人员对应的历史编程信息中包含的项目标识,根据项目标识与第一权重的对应关系,确定每个历史编程信息的第一权重;
[0190] 识别每个编程人员对应的历史编程信息中包含的代码标识,根据代码标识与第二权重的对应关系,确定每个历史编程信息的第二权重;
[0191] 根据每个历史编程信息对应的第一权重和第二权重,确定每个历史编程信息的目标权重;
[0192] 根据每个编程人员的目标权重,以及第三权重与编码类型的对应关系,确定每个编程人员的编码类型;
[0193] 根据编程人员数据,从历史重构信息库中确定每个编程人员的代码重构频率;
[0194] 将每个编程人员的编码类型和代码重构频率确定为编程人员数据对应的编程特征。
[0195] 在一种可能实现的方式中,该装置还包括:
[0196] 确定编程权重模块,用于根据每个编程人员数据对应的编程特征,确定每个编程人员的编程权重;
[0197] 确定编程区域模块,用于根据每个编程人员的编程权重,从目标日志框架中确定每个编程人员的编程区域;
[0198] 确定注释内容模块,用于根据每个编程人员的编程权重和对应的编程区域,确定每个编程区域对应的注释内容。
[0199] 在一种可能实现的方式中,该装置还包括:
[0200] 第一获取信息模块,用于当监测到编程人员对目标日志框架的触发操作时,获取编程人员的操作信息,操作信息包括操作人员标识、操作内容以及操作时刻;
[0201] 存储信息模块,用于将操作信息导入无锁缓冲区内,并按照预设运行频率运行操作内容;
[0202] 生成编程日志模块,用于根据运行结果生成编程日志。
[0203] 在一种可能实现的方式中,该装置还包括:
[0204] 第二获取信息模块,用于从无锁缓冲区中,获取第二预设时间段内每个编程人员的操作信息;
[0205] 判断异常模块,用于判断每个编程人员的操作信息是否符合预设异常条件,将符合异常条件的操作信息确定为异常操作信息,并生成身份验证指令,其中,预设异常条件包括:
[0206] 第二预设时间段内,相邻时刻对应的操作内容匹配度低于第一预设阈值;或[0207] 第二预设时间段内,同一编程人员对应的触发操作区域数量高于第二预设阈值。
[0208] 在一种可能实现的方式中,判断异常模块在生成身份验证指令时,具体用于:
[0209] 当监测到异常操作信息后,生成身份核实信息,并反馈至异常编程人员对应的终端设备,异常编程人员为符合异常条件的编程人员;
[0210] 将收集到的身份反馈信息与对应的预设身份核实信息相匹配得到身份匹配值,当身份匹配值低于预设身份匹配值时,根据异常操作信息还原异常操作,得到还原操作信息;
[0211] 将还原操作信息进行保存。
[0212] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0213] 本申请实施例中提供了一种电子设备,如图4所示,图4所示的电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。可选地,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。
[0214] 处理器401可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application Specific Integrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
[0215] 总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0216] 存储器403可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、CD‑ROM(Compact Disc Read Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0217] 存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现前述方法实施例所示的内容。
[0218] 其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图4示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0219] 本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。
[0220] 应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0221] 以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。