一种数据处理方法、装置、电子设备及存储介质与流程

文档序号:32986235发布日期:2023-01-17 22:47阅读:25来源:国知局
1.本发明涉及软件工程
技术领域
:,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
::2.随着仿真技术的发展和应用,技术人员对工业软件仿真性能的要求也逐渐提高,尤其是仿真数据的存储效率。3.目前,仿真数据的存储方法是在每一条仿真数据生成后直接进行存储,但是,当有大量的仿真数据需要存储在多台服务器时,数据存储需要跨网,受仿真数据的数量、网络传输的效率等因素的影响,仿真数据的存储速度慢,存储效率低。技术实现要素:4.本发明提供了一种数据处理方法、装置、电子设备及存储介质,以减少仿真数据插入的次数及仿真数据存储的时间,提升数据存储效率。5.根据本发明的一方面,提供了一种数据处理方法,该方法包括:6.获取仿真数据,并确定仿真数据的生成时间;7.将仿真数据和仿真数据的生成时间插入数据表,仿真数据在数据表中的位置按照仿真数据的生成时间确定;8.当数据表满足预设条件时,将数据表存储至数据库。9.可选的,当数据表满足预设条件时,将数据表存储至数据库,包括:确定数据表内插入的仿真数据数量是否等于第一预设阈值;若数据表内插入的仿真数据数量等于第一预设阈值,则将数据表存储至数据库。10.可选的,当数据表满足预设条件时,将数据表存储至数据库,包括:确定数据表的剩余空间是否小于或等于第二预设阈值;若数据表的剩余空间小于或等于第二预设阈值,则将数据表存储至数据库。11.可选的,当数据表满足预设条件时,将数据表存储至数据库,包括:确定插入数据表的最后一个仿真数据是否为仿真过程中生成的最后一个仿真数据;若插入数据表的最后一个仿真数据为仿真过程中生成的最后一个仿真数据,则将数据表存储至数据库。12.可选的,将数据表存储至数据库,包括:将数据表插入队列;基于队列,将数据表存储至本地数据库;或者,基于队列,将数据表发送至分布式数据库,以使得分布式数据库存储数据表。13.可选的,数据表包括属性时间,多个数据表在本地数据库或者分布式数据库中按照属性时间的先后顺序排列。14.可选的,属性时间为以下时间中的至少之一:数据表的生成时间、数据表的发送时间、数据表中预设位置对应的仿真数据的生成时间。15.根据本发明的另一方面,提供了一种数据处理装置,该装置包括:16.接收模块,用于获取仿真数据,并确定仿真数据的生成时间;17.处理模块,用于将仿真数据和仿真数据的生成时间插入数据表,仿真数据在数据表中的位置按照仿真数据的生成时间确定;18.存储模块,用于当数据表满足预设条件时,将数据表存储至数据库。19.根据本发明的另一方面,提供了一种电子设备,该电子设备包括:20.至少一个处理器;以及与至少一个处理器通信连接的存储器;21.其中,存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例所述的数据处理方法。22.根据本发明的另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例所述的数据处理方法。23.本发明实施例的技术方案,通过获取仿真数据,并确定仿真数据的生成时间;将仿真数据和仿真数据的生成时间插入数据表,仿真数据在数据表中的位置按照仿真数据的生成时间确定;当数据表满足预设条件时,将数据表存储至数据库。在仿真数据生成后,将仿真数据写入数据表中,当数据表中写入的仿真数据满足预设条件时,将数据表中的仿真数据存储在数据库中,能够减少仿真数据插入的次数,从而减少仿真数据存储的时间,提升数据存储效率。解决了在存储大量仿真数据时由于数据存储速度慢造成的存储效率低的问题。24.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。附图说明25.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。26.图1是本发明实施例一提供的一种数据处理方法的流程示意图;27.图2是本发明实施例二提供的一种数据处理装置的结构示意图;28.图3是本发明实施例三提供的一种电子设备的结构示意图。具体实施方式29.为了使本
技术领域
:的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。30.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。31.实施例一32.图1是本发明实施例一提供的一种数据处理方法的流程示意图,本实施例可适用于数据存储等情况,该方法可以由本发明实施例提供的数据处理装置来执行,该装置可以采用硬件和/或软件的形式实现,在一个具体的实施例中,该装置可以集成在电子设备中。以下实施例将以该装置集成在电子设备中为例进行说明,参考图1,该方法具体包括如下步骤:33.s101、获取仿真数据,并确定仿真数据的生成时间。34.其中,仿真数据可以理解为仿真过程中生成的一个帧数据,仿真数据的生成时间可以理解为帧数据的标识时间,例如,开始形成帧数据的时间、确定帧数据的时间、接收帧数据的时间等,本发明实施例对此不进行限定。35.具体的,服务器包括求解器和控制器,其中,控制器可以用来设置仿真参数,服务器接收到用户发送的仿真控制指令后,求解器开始根据控制器设置的仿真参数运行,产生仿真数据,并将仿真数据发送给控制器,由控制器将仿真数据插入数据库。36.示例性的,控制器可以接收求解器生成的仿真数据,并确定仿真数据的生成时间,仿真数据的生成时间可以是求解器准备形成仿真数据的时间、求解器确定仿真数据的时间、求解器发送仿真数据的时间、控制器接收仿真数据的时间等。37.其中,求解器准备形成仿真数据的时间可以理解为求解器开始形成仿真数据的时间,求解器确定仿真数据的时间可以理解为仿真数据完全生成的时间。38.这样设置的好处在于可以根据时间将仿真数据进行整理,以使仿真数据有序排列,提升数据插入的效率。39.s102、将仿真数据和仿真数据的生成时间插入数据表,仿真数据在数据表中的位置按照仿真数据的生成时间确定。40.其中,数据表可以理解为仿真数据的缓存表。仿真过程中会形成多条仿真数据,将仿真数据和仿真数据的生成时间插入数据表可以理解为将仿真过程中生成的多条仿真数据及多条仿真数据对应的仿真数据的生成时间插入数据表。41.具体的,数据表是多行的,每行均可插入一个仿真数据,仿真数据插入数据表的位置由仿真数据的生成时间确定,例如,按生成时间由早到晚的方式插入仿真数据,生成时间早的仿真数据在数据表的上方,生成时间晚的仿真数据在数据表的下方。42.示例性的,有三条仿真数据,三条仿真数据的数据生成时间分别为时刻1、时刻2和时刻3。将分析三个数据生成时间的先后顺序,如若时刻2早于时刻1和时刻3,时刻3早于时刻1,那么,会先将仿真数据中的仿真数据2插入数据表,再将仿真数据3插入数据表,最后将仿真数据1插入数据表。仿真数据是逐次进行插入的,数据表是按行序写入仿真数据的。43.这样设置的好处在于能够使仿真数据以仿真数据的生成时间为参考标准进行排序,使数据表中的仿真数据呈规律性分布。44.s103、当数据表满足预设条件时,将数据表存储至数据库。45.其中,预设条件时衡量数据表是否可以进行存储的标准,当数据表满足预设条件时,认为数据表符合存储条件,即可以将数据表存储至数据库,当数据表不满足预设条件时,认为数据表不符合存储条件,将继续向数据表中插入仿真数据,直至数据表满足预设条件。数据库可以理解为一种时序数据库,包括在线物联网时序数据库(internetofthingsdatabase,iotdb),本发明实施例对此不进行限定。46.具体的,数据表是有存储上限的,即数据表可以写入的仿真数据有限。设置预设条件的目的在于使数据表在不超过存储上限的基础上插入更多的仿真数据,预设条件包括数据表内插入的仿真数据数量是否等于第一预设阈值、数据表的剩余空间是否小于或等于第二预设阈值、插入数据表的最后一个仿真数据是否为仿真过程中生成的最后一个仿真数据等,本发明实施例对此不进行限定。47.根据仿真数据的特点,设置了如下所示的数据表的数据结构。[0048][0049][0050]其中,table代表数据表,schemas用于记录数据表名,二维数组values用于存储仿真数据,maxrownumber用于代表二维数组的阈值。[0051]进一步的,服务器包括如下所示的四个接口。[0052]boolchecksorted_ty(consttable_ty&tablet);[0053]voidsorttablet_ty(table_ty&tablet);[0054]voidinserttablet_ty(table_ty&tablet);[0055]voidinserttablet_ty(table_ty&tablet,boolsorted);[0056]其中,checksorted_ty(consttable_ty&table)表示检查table内部缓存是否按照时序排序;sorttable_ty(table_ty&table)表示对table内部缓存按照时序排序;inserttable_ty(table_ty&table)表示将table插入时序数据库;inserttable_ty(table_ty&table,boolsorted)表示将table插入时序数据库,sorted为当前table内部缓存已根据时序排序。[0057]示例性的,将数据表插入数据库前,会判断数据表中的数据是否按照时序排序,若数据表中的数据未按照时序排序,会将数据表中的仿真数据按照时序排序后再插入数据库中。[0058]这样设置的好处在于可以将数据表为数据插入的媒介,当数据表满足预设条件时,将数据表存储至数据库(即将数据表中的仿真数据存储至数据库),能够减少将数据存储至数据库的次数,进而减少数据存储时间,提升数据存储效率。[0059]可选的,当数据表满足预设条件时,将数据表存储至数据库,包括:确定数据表内插入的仿真数据数量是否等于第一预设阈值;若数据表内插入的仿真数据数量等于第一预设阈值,则将数据表存储至数据库。[0060]其中,第一预设阈值可以理解为数据表中可以插入的仿真数据的最大数值,包括500、800、1000等。具体的,第一预设阈值与数据表的存储上限和仿真数据的大小相关,可根据数据表的存储上限和仿真数据的大小计算数据表的第一预设阈值。[0061]具体的,如若仿真数据的大小均相同,第一预设阈值可根据数据表的存储上限与仿真数据的大小的商进行确定,例如,第一预设阈值=数据表的存储上限/仿真数据的大小-1。由于数据表中需要表头,因此第一预设阈值会比数据表的行数少1,数据表的表头包括仿真数据和仿真数据的生成时间等,本发明实施例对此不进行限定。[0062]示例性的,假设数据表的第一预设阈值为500,可以记录插入数据表中的仿真数据的条数,当数据表内插入的仿真数据条数为500时,将数据表存储至数据库。[0063]可选的,当数据表满足预设条件时,将数据表存储至数据库,包括:确定数据表的剩余空间是否小于或等于第二预设阈值;若数据表的剩余空间小于或等于第二预设阈值,则将数据表存储至数据库。[0064]其中,第二预设阈值可以理解为存储空间需求量最小的仿真数据。具体的,当仿真数据的大小有差异时,可以根据数据表的剩余存储量确定何时将数据表存储至数据库。[0065]示例性的,在向数据表中插入仿真数据后,可以根据插入仿真数据前数据表的剩余存储量(即剩余空间)和该仿真数据的大小确定数据表的当前剩余存储量,并确定当前剩余存储量和第二预设阈值的关系,当数据表的剩余空间(即当前剩余存储量)小于或等于第二预设阈值时,认为当前数据表的剩余空间无法插入存储仿真数据,会将数据表存储至数据库。进一步的,仿真数据的大小相等时,也可通过数据表的剩余空间确定何时将数据表存储至数据库。[0066]可选的,当数据表满足预设条件时,将数据表存储至数据库,包括:确定插入数据表的最后一个仿真数据是否为仿真过程中生成的最后一个仿真数据;若插入数据表的最后一个仿真数据为仿真过程中生成的最后一个仿真数据,则将数据表存储至数据库。[0067]具体的,仿真过程生成的仿真数据的条数是可以预先计算的,在向数据表插入仿真数据的过程中,会记录插入的仿真数据的条数,当最后一个仿真数据插入至数据表后,无论数据表中插入了多少条仿真数据,都会将数据表存储至数据库。[0068]可选的,将数据表存储至数据库,包括:将数据表插入队列;基于队列,将数据表存储至本地数据库;或者,基于队列,将数据表发送至分布式数据库,以使得分布式数据库存储数据表。[0069]其中,队列可以理解为数据表的缓存区域,数据表满足预设条件后,会先将数据表发送至队列,基于队列将数据表插入数据库。[0070]具体的,数据库可以是本地数据库,也可以是分布式数据库。当数据库是本地数据库时,将数据表存储至数据库可以理解为基于队列将数据表存储至本地数据库;当数据库是分布式数据库时,将数据表存储至数据库可以理解为基于队列将数据表发送至分布式数据库,以使得分布式数据库存储数据表。[0071]可选的,数据表包括属性时间,属性时间可以理解为数据表的时间标识,根据属性时间可以确定各数据表的排序。属性时间包括数据表的生成时间、数据表的发送时间、数据表中预设位置对应的仿真数据的生成时间。[0072]其中,数据表的生成时间可以理解为数据表存储好仿真数据的时间,数据表的发送时间可以理解为将数据表向数据库发送的时间,预设位置可以根据仿真需求进行设定和调整,例如,预设位置为数据表第x行,数据表的生成时间将为数据表中第x行对应的仿真数据的生成时间,本发明实施例对此不进行限定。[0073]具体的,为保证仿真结果的完整性和时序性,数据表的存储时有顺序的,多个数据表在本地数据库或者分布式数据库中按照属性时间的先后顺序排列。[0074]进一步的,服务器产生仿真数据的速度极高,为提升仿真数据的存储效率,可以采用多线程的方式存储数据表,即将队列中的数据表多线程存储指数据库,再于数据库中按照各数据表的属性时间的先后顺序将数据表重新排列。由于分布式数据库需要跨网络,受网络影响较大,因此,采用多线程的方式更能提升数据的存储效率,减少因网络延迟造成的数据存储和传输效率低下的现象。[0075]本实施例的技术方案,通过获取仿真数据,并确定仿真数据的生成时间;将仿真数据和仿真数据的生成时间插入数据表,仿真数据在数据表中的位置按照仿真数据的生成时间确定;当数据表满足预设条件时,将数据表存储至数据库。在仿真数据生成后,将仿真数据写入数据表中,当数据表中写入的仿真数据满足预设条件时,将数据表中的仿真数据存储在数据库中,能够减少仿真数据插入的次数,从而减少仿真数据存储的时间,提升数据存储效率。解决了在存储大量仿真数据时由于数据存储速度慢造成的存储效率低的问题。[0076]实施例二[0077]图2是本发明实施例二提供的一种数据处理装置的结构示意图。如图2所示,该装置包括:接收模块201,处理模块202和存储模块203。[0078]接收模块201,用于获取仿真数据,并确定仿真数据的生成时间。[0079]处理模块202,用于将仿真数据和仿真数据的生成时间插入数据表,仿真数据在数据表中的位置按照仿真数据的生成时间确定。[0080]存储模块203,用于当数据表满足预设条件时,将数据表存储至数据库。[0081]可选的,存储模块203,具体用于确定数据表内插入的仿真数据数量是否等于第一预设阈值;若数据表内插入的仿真数据数量等于第一预设阈值,则将数据表存储至数据库。[0082]可选的,存储模块203,具体用于确定数据表的剩余空间是否小于或等于第二预设阈值;若数据表的剩余空间小于或等于第二预设阈值,则将数据表存储至数据库。[0083]可选的,存储模块203,具体用于确定插入数据表的最后一个仿真数据是否为仿真过程中生成的最后一个仿真数据;若插入数据表的最后一个仿真数据为仿真过程中生成的最后一个仿真数据,则将数据表存储至数据库。[0084]可选的,存储模块203,具体用于将数据表插入队列;基于队列,将数据表存储至本地数据库;或者,基于队列,将数据表发送至分布式数据库,以使得分布式数据库存储数据表。[0085]可选的,数据表包括属性时间,多个数据表在本地数据库或者分布式数据库中按照属性时间的先后顺序排列。[0086]可选的,属性时间为以下时间中的至少之一:数据表的生成时间、数据表的发送时间、数据表中预设位置对应的仿真数据的生成时间。[0087]本实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。[0088]实施例三[0089]图3是本发明实施例三提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。[0090]如图3所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom12以及ram13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。[0091]电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。[0092]处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据处理方法。[0093]在一些实施例中,数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram13并由处理器11执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。[0094]本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。[0095]用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。[0096]在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。[0097]为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。[0098]可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。[0099]计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。[0100]应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。[0101]上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1