本发明涉及数据处理,具体涉及一种用于虚拟svdu的过程数据存取方法及系统。
背景技术:
1、安全级显示单元svdu(safety video display unit)是一种与安全级分布式控制系统dcs(distributed control system)配套的人机交互设备。通常,在核电领域,核电厂会配备模拟机实现对安全级dcs的仿真模拟,用于人员培训和操作考核。虚拟svdu实现对svdu的行为、数据、逻辑以及人机交互体验的模拟。
2、业内一般采用常规的商用个人计算机实现对svdu的逻辑行为模拟。该方法存在以下不足之处:
3、1)常规商用个人计算机在外形、人机体验与svdu不完全相同;
4、2)常规商用个人计算机的安装方式与svdu不同;
5、3)常规商用个人计算机体积笨重,集成度低,cpu、硬盘利用率低。
6、以上不足之处的核心制约因素是支撑虚拟svdu仿真、培训功能的过程数据量很大,导致硬盘存储器容量需求急剧上升,随之而来的cpu负荷、硬盘频繁存取操作、散热等因素也使得必须采用较大体积的商用个人计算机才能满足虚拟svdu的实际需要。
7、随着固态存储颗粒集成度的提高、cpu功耗降低、电源小型化等有利条件,一些微型低功耗主机应运而生,能够解决常规商用个人计算机体积笨重、集成度低等问题,但是虚拟svdu的过程数据量大,无法适用微型化低功耗主机,严重制约了微型低功耗主机在虚拟svdu上的应用。
技术实现思路
1、本发明的目的在于减小虚拟svdu运行中的过程存储数据量,降低对硬盘存储器的需求,解决现有技术中支撑虚拟svdu仿真、培训功能的过程数据量很大,从而无法适用微型化低功耗主机的问题。
2、本发明通过以下技术方案实现:
3、本发明一方面提供了一种用于虚拟svdu的过程数据存取方法,采用两个存储周期对虚拟svdu中的逻辑信息数据进行存储,所述两个存储周期分别为第一存储周期t1和第二存储周期t2,每个第二存储周期t2包含多个第一存储周期t1;在每个第二存储周期t2内,仅选择在一个第一存储周期t1对逻辑信息数据进行一次全数据存储作为基础数据,在其余的第一存储周期t1仅存储逻辑信息差分数据;所述逻辑信息差分数据为当前时刻的逻辑信息数据与最新存储的基础数据相比得到的变化数据,所述逻辑信息差分数据也可以为当前时刻的逻辑信息数据与上一个第一存储周期t1的逻辑信息数据相比得到的变化数据。
4、考虑到在虚拟svdu的过程数据量中,逻辑信息数据作为恢复整个虚拟svdu运行状态的全量数据,具有很强的实时性,要求其每个回溯间隔均可恢复,但其数据量最大,占用空间较大,若以最小回溯时间为单位进行采集和存储则会占用太大资源,本方案中,根据逻辑信息数据的特征,综合考虑回溯要求,将逻辑信息数据的采集仍然以最小回溯时间为周期进行采集,但存储方式变化为差分存储方式,即设置一个数据块存储周期t2,在t2内仅存储一次逻辑信息数据的全量数据,中间每个t1周期仅将实时变量数据与基础数据进行比较,只记录变化数据。这种存储方式能够大大降低虚拟svdu的过程数据存取量,从而降低虚拟svdu对计算机硬件资源的需求,使得微型低功耗主机用于虚拟svdu成为可能。
5、在部分实施例中,作为本方案的进一步改进,上述用于虚拟svdu的过程数据存取方法具体包括以下步骤:
6、数据分类步骤:将虚拟svdu中的过程数据进行分类,至少分为人机输入数据、画面数据、逻辑信息数据,每类过程数据具有对应的存储周期,所述逻辑信息数据具有两个存储周期,分别为第一存储周期t1和第二存储周期t2;
7、数据存储步骤:在每个第二存储周期t2内,仅选择在一个第一存储周期t1对逻辑信息数据进行一次全数据存储作为基础数据,在其余的第一存储周期t1仅存储逻辑信息差分数据;
8、按照对应的存储周期采集人机输入数据、画面数据进行存储。
9、在部分实施例中,作为本方案的又一改进,上述用于虚拟svdu的过程数据存取方法中的人机输入数据包括触摸屏输入数值和实体按键输入数值;所述画面数据包括页面id、控件id、功能函数id、功能函数参数;所述逻辑信息数据用于反映关联逻辑信息,所述关联逻辑信息包括虚拟svdu的控件与控件之间、页面与页面之间、后台周期循环计数的关联逻辑信息。
10、本方案中,进一步将虚拟svdu中的过程数据分为人机输入数据、画面数据、逻辑信息数据三类,并为不同类别的数据设置不同的采集和存储周期,使得虚拟svdu中的过程数据在上述差分储存的基础上,对画面数据也进行了存储优化,进一步降低过程数据的存储量。
11、在部分实施例中,作为本方案的又一改进,数据存储步骤中,在每个第二存储周期t2开始时对逻辑信息数据进行一次全数据存储作为基础数据,在后续的每个第一存储周期t1仅存储逻辑信息差分数据,直到下一个第二存储周期t2开始。这样,在每个第二存储周期t2结束时,立即进入下一个第二存储周期t2,此时立即对逻辑信息数据进行一次全数据存储作为基础数据,后续只需要按第一存储周期t1计算和存储逻辑信息差分数据即可。
12、优先地,t2为t1的整数倍,t1=tmin,tmin为虚拟svdu要求的最小回溯时间,这样在一个第二存储周期t2内,第一个第一存储周期t1存储逻辑信息数据的全数据作为基础数据,剩下的t2/t1-1个第一存储周期t1仅计算和存储逻辑信息差分数据。
13、优选的,所述人机输入数据的存储周期为t3,所述画面数据的存储周期为t4,t3<t4<t2,且t3=t0,t0为虚拟svdu运行的定周期;t4=tmin,tmin为最小回溯时间。
14、在部分实施例中,作为本方案的再一改进,虚拟svdu仿真启动运行后,虚拟svdu内核开始以定周期t0为周期进行周期运行;所述数据存储步骤包括:
15、步骤一:定周期t0开始,虚拟svdu执行处理过程;
16、步骤二:定周期t0结束,判断当前仿真模式是否为重演模式和场景运行,若是重演模式或者场景运行则跳转到步骤一,否则进行数据采集存储,所述数据采集存储包括以下步骤:
17、步骤s21、读取人机输入数据和当前页面号并存储;判断仿真时间是否为tmin的整数倍,是则跳转步骤s22,否则跳转到步骤一,tmin为最小回溯时间,t1=tmin;
18、步骤s22、读取画面数据和逻辑信息数据并发送给数据存储模块;
19、步骤s23、数据存储模块存储画面数据,并判断仿真时间是否为t2的整数倍,若不是整数倍则跳转到步骤s24;若是整数倍,则保存逻辑信息数据的全数据作为基础数据并跳转到步骤一,否则跳转到步骤s24,进入下一个第二存储周期t2,该全数据存入进下一个第二存储周期t2的数据块,作为该数据块的基础数据,这样在每个第二存储周期t2的第一个t1内都是逻辑信息数据的全数据,便于后续每个t1记录差分数据并存储;
20、步骤s24、计算逻辑信息差分数据进行保存,跳转到步骤一;逻辑信息差分数据计算方法为计算当前时刻的逻辑信息数据与基础数据变化数据或者计算当前时刻的逻辑信息数据与上一个第一存储周期t1的逻辑信息数据的变化数据,计算出的变化数据就是逻辑信息差分数据。
21、进一步,步骤一还包括:定周期t0开始时,判断当前仿真模式是否需要加载工况或是场景运行,若是则将需要加载的工况数据或者场景数据发送至svdu内核,初始化当前周期的内核数据后再运行内核执行处理过程;若不需要则直接由内核运行处理过程。
22、在部分实施例中,作为本方案的再一改进,上述用于虚拟svdu的过程数据存取方法,还包括反向推演与重演运行步骤,该步骤包括以下步骤s1-s4:
23、s1、获取目标仿真时间;
24、s2、根据目标仿真时间从存储装置中读取对应的数据块,所述数据块中包含目标仿真时间所处的第二存储周期t2内的基础数据、各第一存储周期t1对应的逻辑信息差分数据、目标仿真时间所处的第二存储周期t2内采集的人机输入数据和画面数据;
25、s3、根据步骤s2中的基础数据、各第一存储周期t1对应的逻辑信息差分数据推算出目标仿真时间对应的第二存储周期t2内的各第一存储周期t1对应的逻辑信息数据的全数据;
26、s4、根据步骤s3推算的各第一存储周期t1对应的逻辑信息数据的全数据和步骤s2中读取的人机输入数据和画面数据进行历史运行数据的重演。
27、本发明的再一目的在于提供一种用于虚拟svdu的过程数据存取系统,包括:
28、数据采集模块,用于读取虚拟svdu的过程数据并发送给数据存储模块,所述过程数据包括逻辑信息数据;
29、数据存储模块,用于存储虚拟svdu的过程数据;
30、所述数据存储模块采用两个存储周期逻辑信息数据进行存储,所述两个存储周期分别为第一存储周期t1和第二存储周期t2,每个第二存储周期t2包含多个第一存储周期t1;
31、所述数据采集模块在每个第一存储周期t1采集逻辑信息数据并发送给数据存储模块;
32、所述数据存储模块在每个第二存储周期t2内,仅选择在一个第一存储周期t1对逻辑信息数据进行一次全数据存储作为基础数据,在其余的第一存储周期t1计算逻辑信息差分数据并存储;
33、所述逻辑信息差分数据为当前时刻的逻辑信息数据与最新存储的基础数据相比得到的变化数据,所述逻辑信息差分数据也可以为当前时刻的逻辑信息数据与上一个第一存储周期t1的逻辑信息数据相比得到的变化数据。
34、进一步地,所述虚拟svdu中的过程数据包括人机输入数据、画面数据、逻辑信息数据;
35、所述人机输入数据包括触摸屏输入数值和实体按键输入数值,其存储周期为t3;
36、所述画面数据包括页面id、控件id、功能函数id、功能函数参数,其存储周期为t4;
37、所述逻辑信息数据用于反映关联逻辑信息,所述关联逻辑信息包括虚拟svdu的控件与控件之间、页面与页面之间、后台周期循环计数的关联逻辑信息,其具有两个存储周期,分别为第一存储周期t1和第二存储周期t2;
38、所述数据采集模块每隔t3时间采集一次人机输入数据并发送给数据存储模块,每隔t4时间采集一次画面数据并发送给存储数据存储模块;每隔t1时间采集一次关联逻辑信息发送给数据存储模块;
39、所述数据存储模块每隔t2时间存储一次逻辑信息数据,每隔t1时间计算一次逻辑信息差分数据并存储;每隔t3时间存储一次人机输入数据;每隔t4时间存储一次画面数据。
40、本发明的又一目的在于提供一种计算机设备和一种计算机可读存储介质。
41、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一方案中用于虚拟svdu的过程数据存取方法。
42、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一方案中的用于虚拟svdu的过程数据存取方法。
43、本发明与现有技术相比,具有如下的优点和有益效果:
44、1、本发明极大地减小了虚拟svdu运行中的过程存储数据量,降低了虚拟svdu对计算机硬件资源的需求,使得在一般的微型低功耗主机即可满足需求,无需配备专门的服务器,支持了微型低功耗主机在虚拟svdu上的应用;
45、2、本发明提升了虚拟svdu任务响应速度,通过差分存储和反向推演的方法,使得虚拟svdu能够快速的实现数据存取访问,确保了虚拟svdu与真实svdu具有相同的固定任务周期执行的特征,确保了虚拟svdu仿真功能的对真实svdu功能的逼真程度。
1.用于虚拟svdu的过程数据存取方法,其特征在于,
2.根据权利要求1所述的用于虚拟svdu的过程数据存取方法,其特征在于,包括:
3.根据权利要求2所述的用于虚拟svdu的过程数据存取方法,其特征在于,
4.根据权利要求2所述的用于虚拟svdu的过程数据存取方法,其特征在于,数据存储步骤中,在每个第二存储周期t2开始时对逻辑信息数据进行一次全数据存储作为基础数据,在后续的每个第一存储周期t1结束时仅存储逻辑信息差分数据,直到下一个第二存储周期t2开始。
5.根据权利要求4所述的用于虚拟svdu的过程数据存取方法,其特征在于,虚拟svdu仿真启动运行后,虚拟svdu内核开始以定周期t0为周期进行周期运行;所述数据存储步骤包括:
6.根据权利要求5所述的用于虚拟svdu的过程数据存取方法,其特征在于,步骤一还包括:定周期t0开始时,判断当前仿真模式是否需要加载工况或是场景运行,若是则将需要加载的工况数据或者场景数据发送至svdu内核,初始化当前周期的内核数据后再运行内核执行处理过程;若不需要则直接由内核运行处理过程。
7.根据权利要求2至6任一所述的用于虚拟svdu的过程数据存取方法,其特征在于,所述人机输入数据的存储周期为t3,所述画面数据的存储周期为t4,t3<t4<t2,且t3=t0,t0为虚拟svdu运行的的定周期;t2为t1的整数倍;t4=t1=tmin;tmin为虚拟svdu的最小回溯时间。
8.根据权利要求2至6任意一项所述的用于虚拟svdu的过程数据存取方法,其特征在于,还包括反向推演与重演运行步骤:
9.用于虚拟svdu的过程数据存取系统,其特征在于,包括:
10.根据权利要求9所述的用于虚拟svdu的过程数据存取系统,其特征在于,