一种基于FRAM芯片的MVB网卡Log记录功能系统的制作方法

文档序号:27493362发布日期:2021-11-22 15:16阅读:264来源:国知局
一种基于FRAM芯片的MVB网卡Log记录功能系统的制作方法
一种基于fram芯片的mvb网卡log记录功能系统
技术领域
1.本发明属于网络通信技术领域,具体地说,涉及一种基于fram芯片的mvb网卡log记录功能系统。


背景技术:

2.mvb网卡用于mvb网络的通信,研制的mvb网卡应符合iec61375

1标准中有关mv b的技术要求,能够实现过程数据、消息数据及监控数据的通讯功能。对于mvb的1类设备,其仅具有过程数据功能和设备状态响应功能,功能相对简单,可由fpga硬件逻辑实现。而对于mvb的2、3、4、5类设备,除具有1类设备的功能外,还具有消息数据的功能。其中4类和5类设备还具有总线管理能力,可以成为总线主。这些更复杂的功能通常需要在嵌入式cpu(如arm)上实现。在具体的mvb网卡的卡发过程中,包括硬件和软件两部分,现有的方法为软件和硬件分别开发,当硬件和软件完成开发后,将软件在硬件上进行系统的正确性验证,然和在实际的开发过程中,硬件的开发往往滞后与软件,这样将导致软件的测试、修改等工作被推迟,从而导致整个开发周期的被延长,从而延长了开发的周期。
3.但随着mvb附加硬件设备的层出不穷,系统对设备的信息记录要求也越来越高。记录的日志信息不但要准确,方便定位,而且还要及时有效地进行存储。因此,如何对系统中各种设备信息的采集,以及对采集到的日志信息进行有效地保存,成为必须解决的问题。在此情况下,系统应该具备一种合理的采集、上报日志记录,并保存日志信息的机制。
4.例如,现有专利,申请号:cn201910940739.3,公开号:cn110704378a,公开了一种日志记录方法及日志记录系统,其技术方案如下:
[0005]“包括:将数据库表名、数据行id、日志记录时间戳、操作类型以及更新后数据行内容组成的数据转换为json格式,并采用txt文件保存;每当数据库表发生变化时,均仅将变化的数据行按对应的日志存储路径,存储到对应的文件夹中;日志记录模块将同一数据行id的数据按历史变化过程进行展示。优点:(1)每当被跟踪记录的数据库表发生变化时,仅将发生变化的数据行记录下来,其他没有发生变化的数据行不记录,从而能够明显降低对数据存储的空间占用情况,降低系统存储负担;(2)实现分级存储,提高数据展示效率。(3)实现与业务的解耦,业务系统的字段与逻辑变化不会对日志的记录有任何影响”。但存在以下问题:其日志管理方法是在内存空间中缓存日志信息,通过判断记录条数,确定是否写日志文件保存日志记录。此方法只是对记录条数进行判断,即如果长时间没有达到指定记录条数,会使缓存的日志记录不能及时上报进行写日志文件操作,近而出现了日志信息被“饿死”,迟迟不能被保存;同时,根据程序运行的周期动态记录日志数据到若干个不同的日志文件中,当到任意时间周期时,将该时刻的日志数据写入到时间周期对应的该日志文件中,并同时清除前一时间周期对应的日志文件中的日志数据。该方法不足之处在于不能保证日志记录数目,特别是重要日志很可能在一个时间周期后,被非重要的日志记录的文件所覆盖;此外,目前在采集日志方面的方法主要有实时上报日志内容与批量上报日志内容。实时上报日志内容能够使日志信息能够及时得到保存,但操作闪存(flash)过于频繁。而批量上
报日志记录可以减少对flash空间的读写操作,延长存储器的寿命,但其不足之处在于缺少及时性。在日志记录文件管理方面主要有循环保存日志文件,以减少对存储器空间的占用。


技术实现要素:

[0006]
1、要解决的问题
[0007]
针对上述现有技术存在的问题,本发明提供一种基于fram芯片的mvb网卡log记录功能系统,本发明创造性引入fram芯片、数据库单元、云存储单元、缓存单元、log记录写入单元及log记录查询单元,六种模块之间相互协同增效,解决了现有的基于fram芯片的mvb网卡log记录功能系统存在执行效率低等问题。
[0008]
2、技术方案
[0009]
为解决上述问题,本发明采用如下的技术方案。
[0010]
一种基于fram芯片的mvb网卡log记录功能系统,所述的mvb网卡log记录功能系统包括fram芯片、数据库单元、云存储单元、缓存单元、log记录写入单元及log记录查询单元;
[0011]
所述的数据库单元、所述的云存储单元、所述的缓存单元、所述的log记录写入单元、所述的log记录查询单元均与所述的fram芯片相连;
[0012]
所述的fram芯片设置在mvb网卡的物理层上,所述的fram芯片通过第一通信模块与所述的数据库单元相连,所述的数据库单元通过第二通信模块与所述的云存储单元相连,所述的数据库单元通过所述的第三通信模块与所述的云存储单元相连,所述的缓存单元分别与所述的log记录写入单元、所述的log记录查询单元进行数据缓存处理;
[0013]
所述的缓存单元,用于缓存mvb网卡的log日志信息;
[0014]
所述的log记录写入单元,用于向所述的缓存单元写入日志记录;
[0015]
所述的log记录查询单元,用于查询所述的缓存单元中的日志记录。
[0016]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的缓存单元与所述的fram芯片相连,所述的缓存单元根据所述的fram芯片的日志记录操作指令将日志记录同步到远程服务器中的分布式缓存节点。
[0017]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的缓存单元内设置有log记录删除单元与log记录修改单元,所述的log记录删除单元、所述的log记录修改单元分别与所述的数据库单元相连;
[0018]
所述的log记录删除单元接收来自所述的fram芯片的操作指令;
[0019]
所述的log记录修改单元接收来自所述的fram芯片的操作指令。
[0020]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的数据库单元链接有存储器,所述的存储器与所述的云存储单元相连;
[0021]
所述的数据库单元的操作如下:
[0022]
读取所述的缓存单元的日志记录;
[0023]
写入所述的缓存单元的日志记录;
[0024]
编辑所述的缓存单元的日志记录;
[0025]
转移所述的缓存单元的日志记录。
[0026]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的云存储单元配置有数据库单元的对接端,所述的对接端通过有线或无线的方式与数据库单元的接口相连。
[0027]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的缓存单元内设置有日志记录的加密模块;
[0028]
其中加密模块的加密方式如下:
[0029]
p=softmax[relu(kh+b)]
[0030][0031]
如式(i)所示,其中p为加密后的日志记录的数据值,其中softmax为函数加密计算方式,其中relu为线性整流函数,其中kh分别为日志记录的数据化值的全连接层的权重和偏置的大小,其中b为矫正值,其中z为交叉熵损失值。
[0032]
上述所述的基于fram芯片的mvb网卡log记录功能系统中,还包括风险识别模块,所述的风险识别模块与所述的缓存单元相连;
[0033]
所述的风险识别模块,用于分析所述的缓存单元的日志记录是否存在泄露风险。
[0034]
3、有益效果
[0035]
相比于现有技术,本发明的有益效果为:
[0036]
本发明创造性引入fram芯片、数据库单元、云存储单元、缓存单元、log记录写入单元及log记录查询单元,六种模块之间相互协同增效,解决了现有的基于fram芯片的mvb网卡log记录功能系统存在执行效率低等问题。与传统技术相比,本发明只需在已有的mvb网卡硬件平台上安装fram芯片即可,mvb网卡可以记录用户配置的所有配置信息及光长信息并进行分区备份保存在fram内部,用户可将出故障的网卡返回查看内部fram的故障信息,便于解决现场问题;此外,系统能够记录用户配置的端口信息,当系统检测到用户在没有配置的情况下直接访问mvb端口数据就会触发自动配置功能,系统会自动查找log内部的配置信息,自动完成最近一次的端口配置。
附图说明
[0037]
图1是本发明中缓存单元的主备日志同步异常流程图;
[0038]
图2是本发明中数据库单元的日志文件结构的优化图。
具体实施方式
[0039]
下面结合具体实施例对本发明进一步进行描述。
[0040]
实施例1
[0041]
本实施例的基于fram芯片的mvb网卡log记录功能系统,所述的mvb网卡log记录功能系统包括fram芯片、数据库单元、云存储单元、缓存单元、log记录写入单元及log记录查询单元。整体结构简单,可采用模块化管理方法,即可实现快捷操作。
[0042]
所述的数据库单元、所述的云存储单元、所述的缓存单元、所述的log记录写入单元、所述的log记录查询单元均与所述的fram芯片相连。此处,涉及的fram芯片,铁电存储器(fram,ferroelectric ram)是一种随机存取存储器,它将动态随机存取存储器(dram)的快速读取和写入访问——它是个人电脑存储中最常用的类型——与在电源关掉后保留数据能力(就像其他稳定的存储设备一样,如只读存储器和闪存)结合起来。由于铁电存储器不像动态随机存取存储器(dram)和静态随机存取存储器(sram)一样密集(即在同样的空间中
不能存储像它们一样多的数据),它很可能不能取代这些技术。然而,由于它能在非常低的电能需求下快速地存储,它有望在消费者的小型设备中得到广泛地应用,比如个人数字助理(pda)、手机、功率表、智能卡以及安全系统。铁电存储器(fram)比闪存更快。在一些应用上,它也有可能替代电可擦除只读存储器(eeprom)和静态随机存取存储器(sram),并成为未来的无线产品的关键元件。
[0043]
所述的fram芯片设置在mvb网卡的物理层上,所述的fram芯片通过第一通信模块与所述的数据库单元相连,所述的数据库单元通过第二通信模块与所述的云存储单元相连,所述的数据库单元通过所述的第三通信模块与所述的云存储单元相连,所述的缓存单元分别与所述的log记录写入单元、所述的log记录查询单元进行数据缓存处理。如图1所示,展示了,缓存单元的日志记录中主备日志遇到异常情况下的同步解决方案,a、b分别代表主备节点,在t1时刻,假设节点a作为主节点提供服务,节点b作为备节点提供服务,两个节点最大的日志序号a.lsn,b.lsn均为2,此时,有一个写操作write1试图更新数据库,节点a首先产生一条事务日志a.log3并写到磁盘后,节点a的最大日志号a.lsn变为3,假设在t2时刻,更新的日志a.log3还没有复制给节点b,主机a便出现了故障,在t3时刻,节点b检测到主节点的故障并将自己的身份变为主节点对外提供服务,紧接着来了第2个写操作write2,由于节点b并未收到节点a生成的a.log3,故节点b的最大日志序号b.lsn依然为2,而write2写操作将生成b.log3,b.lsn变为3,在t4时刻,节点a通过故障恢复,重启发现已经有了新的主节点,故作为备节点提供服务,此时,主节点b试图将刚刚write2操作生成的日志b.log3复制给节点a,节点a发现自己有a.log3与b.log3内容不一致,拒绝了这个日志,由此产生了在a,b两个节点上,拥有相同日志号的日志但内容不一致的问题,这是由于这两个日志(a.log3和b.log3)分别是由a,b在成为主节点期间生成的,而这两个日志对应的事务是否提交也无从得知,因此,这两个日志往往无法得到正确处理,导致系统产生了数据不一致.此时需要人工介入,检查故障之前这些日志对应的事务提交状态,并删除未提交的事务日志,使得系统继续正常运行。
[0044]
所述的缓存单元,用于缓存mvb网卡的log日志信息;
[0045]
所述的log记录写入单元,用于向所述的缓存单元写入日志记录;
[0046]
所述的log记录查询单元,用于查询所述的缓存单元中的日志记录。需要提醒的是,对于缓存单元,接收日志记录查询端发来的日志记录查看指令,并根据所述日志记录查看指令发送日志记录查看请求;根据所述日志记录查看请求查看是否存在所述日志记录查看请求对应的日志记录,若存在,则将所述日志记录查看请求对应的日志记录发送给所述日志记录查询端;否则,返回空信息给所述日志记录查询端。
[0047]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的缓存单元与所述的fram芯片相连,所述的缓存单元根据所述的fram芯片的日志记录操作指令将日志记录同步到远程服务器中的分布式缓存节点。
[0048]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的缓存单元内设置有log记录删除单元与log记录修改单元,所述的log记录删除单元、所述的log记录修改单元分别与所述的数据库单元相连;
[0049]
所述的log记录删除单元接收来自所述的fram芯片的操作指令;
[0050]
所述的log记录修改单元接收来自所述的fram芯片的操作指令。
[0051]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的数据库单元链接有存储器,所述的存储器与所述的云存储单元相连;
[0052]
所述的数据库单元的操作如下:
[0053]
读取所述的缓存单元的日志记录;
[0054]
写入所述的缓存单元的日志记录;
[0055]
编辑所述的缓存单元的日志记录;
[0056]
转移所述的缓存单元的日志记录。具体来说,利用数据库单元的功能进行如下操作:
[0057]
步骤1,数据库表由多个数据行组成;每个所述数据行具有唯一对应的数据行id;每个所述数据库表具有唯一对应的数据库表名;
[0058]
步骤2,建立不需要进行日志记录的表清单,将不需要进行日志记录的数据库表名放入表清单中;
[0059]
步骤3,每当系统使用保存功能时,判断需要保存的数据库表名是否在所述表清单中,如果不在,则执行步骤4;如果在,则跳过日志记录模块,不进行日志记录处理;
[0060]
步骤4,所述日志记录模块进行日志的记录处理,包括:
[0061]
步骤4.1,所述日志记录模块根据保存时提交的数据变更指令,与本次保存的所有数据行的数据行id以及更新后的行内容,将数据库表名、数据行id、日志记录时间戳、操作类型以及更新后数据行内容组成的数据转换为json格式,并采用txt文件保存;txt文件的文件名为日志记录时间戳;
[0062]
步骤4.2,所述日志记录模块预建立日志存储根目录,然后,查找所述日志存储根目录,判断所述日志存储根目录中是否存在以所述数据库表名命名的第一级文件夹;如果不存在,则执行步骤4.3;如果存在,则执行步骤4.4;
[0063]
步骤4.3,所述日志记录模块在所述日志存储根目录建立以所述数据库表名命名的第一级文件夹,然后执行步骤4.4;
[0064]
步骤4.4,所述日志记录模块打开以所述数据库表名命名的第一级文件夹,判断以所述数据库表名命名的第一级文件夹内,是否包括以所述数据行id命名的第二级文件夹,如果不存在,则执行步骤4.5;如果存在,则执行步骤4.6;
[0065]
步骤4.5,所述日志记录模块在以所述数据库表名命名的第一级文件夹内,建立以所述数据行id命名的第二级文件夹,然后执行步骤4.6;
[0066]
步骤4.6,所述日志记录模块向以所述数据行id命名的第二级文件夹内,写入步骤4.1得到的所述txt文件;
[0067]
由此实现对所述数据库表的跟踪,并且,每当所述数据库表发生变化时,均仅将变化的数据行按对应的日志存储路径,存储到对应的文件夹中;
[0068]
步骤5,windows监控服务模块对所述日志存储根目录下的各个文件夹进行定期监控扫描,每当扫描到新写入的所述txt文件时,即将新写入的所述txt文件所对应的数据库表名、数据行id、日志记录时间戳、操作类型以及更新后数据行内容写入到数据库日志表中;
[0069]
步骤6,所述日志记录模块接收到对某一数据表的数据行的变化过程的展示请求时,所述日志记录模块查找所述数据库日志表,关联到同一数据表的数据行id对应的所有
日志记录;然后,按日志记录时间戳的顺序对各个所述日志记录进行分析,将同一数据行id对应的数据按历史变化过程进行展示。
[0070]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的云存储单元配置有数据库单元的对接端,所述的对接端通过有线或无线的方式与数据库单元的接口相连。
[0071]
上述所述的基于fram芯片的mvb网卡log记录功能系统中所述的缓存单元内设置有日志记录的加密模块;
[0072]
其中加密模块的加密方式如下:
[0073]
p=softmax[relu(kh+b)]
[0074][0075]
如式(i)所示,其中p为加密后的日志记录的数据值,其中softmax为函数加密计算方式,其中relu为线性整流函数,其中kh分别为日志记录的数据化值的全连接层的权重和偏置的大小,其中b为矫正值,其中z为交叉熵损失值。为了更好实现数据加密与同步,开发如下的组件:
[0076]
其包括如下组件:
[0077]
配置在源端数据库服务器中的同步软件日志抽取工具以及配置有同步软件核心部分组件的日志管理数据库服务器;所述同步软件日志抽取工具配置在源端数据库服务器中,用于读取源端数据库日志并发送到日志管理数据库服务器;所述日志管理数据库服务器用于创建日志管理数据库,以及通过日志管理数据库组织、存储和管理从同步软件日志抽取工具处接收的源端数据库日志;所述同步软件核心部分组件用于对源端数据库日志进行解析、过滤、映射后发送到目的端数据库服务器。
[0078]
上述所述的基于fram芯片的mvb网卡log记录功能系统中,还包括风险识别模块,所述的风险识别模块与所述的缓存单元相连;
[0079]
所述的风险识别模块,用于分析所述的缓存单元的日志记录是否存在泄露风险。
[0080]
此外,数据库系统加入如下的子系统:
[0081]
源端数据库主机和源端数据库备机、源端日志分析服务主机和源端日志分析服务备机、目的端数据库实时同步管理服务以及目的端数据库,其中:源端数据库主机和源端数据库备机分别作为数据库实时同步系统中的源端日志分析服务备机和源端日志分析服务主机的数据库源端,源端日志分析服务主机和源端日志分析服务备机分别作为日志分析服务的主机和备机,目的端数据库实时同步管理服务用于根据源端数据库主机、源端数据库备机、源端日志分析服务主机和源端日志分析服务备机的故障状态和当前日志分析服务优先级确定当前日志分析服务主机,所述目的端数据库实时同步管理服务用于接收当前日志分析服务主机捕获到的数据并进行映射及事务的目的端数据库执行,所述源端数据库主机和源端数据库备机中各保存有一部离线字典副本,所述源端日志分析服务主机或源端日志分析服务备机中的字典信息与对应的源端数据库主机或源端数据库备机中的字典信息保持一致。
[0082]
同时,我们还需要优化日志文件结构,如图2所示,在数据库单元中,事务数据存储在内存中,为了防止内存掉电丢失数据,需要将事务日志写入到可靠的存储介质(如磁盘)中,这个过程称为日志的持久化.我们在日志项中记录一个事务的修改,日志项由日志内
容、日志编号(lsn)和日志版本(term)构成,具体来说,日志文件包含日志项、日志检查点(check_point)、已提交日志点(cmt_seq)和未提交日志点(uncmt_seq),日志检查点是日志恢复的起始点,从日志检查点+1到已提交日志点表示该节点已经提交的日志,从已提交日志点+1到未提交日志点是未提交的日志,日志版本是系统主节点成为主那一时刻的时间戳,由于异常情况下主节点可能发生更替,通过日志版本可以比较出该主节点的新旧,已提交日志是大多数节点已经达成一致的日志;最终,所有节点都会接受这个日志,所以这种日志可以直接提交,未提交日志是未确定的日志,表示这部分日志是否已经达成一致是未知的。
[0083]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0084]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0085]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0086]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read

onlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0087]
以上内容是结合具体实施方式对本发明作进一步详细说明,不能认定本发明具体实施只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明所提交的权利要求书确定的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1