CN116055589B - 数据管理方法、装置及计算机设备 - Google Patents
数据管理方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN116055589B CN116055589B CN202310042537.3A CN202310042537A CN116055589B CN 116055589 B CN116055589 B CN 116055589B CN 202310042537 A CN202310042537 A CN 202310042537A CN 116055589 B CN116055589 B CN 116055589B
- Authority
- CN
- China
- Prior art keywords
- target
- data
- protocol
- frame
- target protocol
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013523 data management Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 21
- 238000013500 data storage Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 description 12
- 238000007405 data analysis Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本申请涉及信息通讯技术领域,提供一种数据管理方法、装置及计算机设备。所述方法包括:获取目标原始数据文件和目标协议;根据所述目标协议从所述目标原始数据文件中获取目标数据帧;按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,所述目标协议数据表包括数据字段和数字编号字段,所述目标数字编号为采用所述目标协议从所述目标数据帧中解析的目标数据的标识信息。采用本方法能够对数据进行有序管理,减少内存空间占用、提高数据展示速度。
Description
技术领域
本申请涉及信息通讯技术领域,特别是涉及一种数据管理方法、装置及计算机设备。
背景技术
随着信息通讯领域的发展,数据的存储和管理变得极为重要。例如在航空航天领域,遥测数据交互周期通常设定为5ms,由于交互频繁,遥测数据的交互无法通过实时界面完全呈现,需要对交互的数据包进行存储,待试验后进行离线解析分析,数据分析相关的软件由此出现。
根据数据流可以将数据形成过程划分为三个阶段:原始数据包阶段、数据包解析阶段、数据分析阶段。原始数据包可能包含多种协议数据,数据体量过大,生成的原始数据包可能会高达3GB。在数据包解析和数据分析阶段,数据分析相关的软件若采用readall函数读取方式,会因为内存占用过大,造成软件崩溃问题;若采用readline函数读取方式,会因为每次仅读取一行,处理一行,数据检索和展示速度过慢。
可见,目前对协议解析后的数据无法进行有序管理,导致出现占用内存过大,数据展示速度慢的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对数据进行有序管理,减少内存空间占用、提高数据展示速度的数据管理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据管理方法,所述方法包括:
获取目标原始数据文件和目标协议;
根据所述目标协议从所述目标原始数据文件中获取目标数据帧;
按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,所述目标协议数据表包括数据字段和数字编号字段,所述目标数字编号为采用所述目标协议从所述目标数据帧中解析的目标数据的标识信息。
在其中一个实施例中,所述根据所述目标协议从所述目标原始数据文件中获取目标数据帧,包括:
将所述目标协议对应的目标帧头与所述目标原始数据文件进行匹配,得到第一匹配结果;
在所述第一匹配结果表征所述目标原始数据文件中存在所述目标帧头的情况下,根据所述目标协议对应的目标帧头和目标帧长,从所述目标原始数据文件中获取目标数据帧。
在其中一个实施例中,所述按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,包括:
在所述目标数据帧为从所述目标原始数据文件中获取的第i个数据帧的情况下,按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,其中i为大于1的整数;或者,
在所述目标数据帧为从所述目标原始数据文件中获取的第1个数据帧的情况下,从所述目标协议中获取目标协议编号,将所述目标协议编号与数据主表进行匹配,得到第二匹配结果;
根据所述第二匹配结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
在其中一个实施例中,所述根据所述第二匹配结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,包括:
在所述第二匹配结果表征所述数据主表中存在所述目标协议编号的情况下,确定所述数据主表与所述目标原始数据文件的对比结果,并根据所述对比结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,
在所述第二匹配结果表征所述数据主表中不存在所述目标协议编号的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,及在协议信息表中增加所述目标协议的全部协议字段,新建所述目标协议编号对应的所述目标协议数据表,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
在其中一个实施例中,所述确定所述数据主表与所述目标原始数据文件的对比结果,包括:
从所述数据主表中获取所述目标协议编号对应的所述数字编号、原始数据文件名称、协议数据表的名称;
将所述原始数据文件名称与所述目标原始数据文件进行对比,得到对比结果。
在其中一个实施例中,所述根据所述对比结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,包括:
在所述对比结果表征所述原始数据文件名称与所述目标原始数据文件的名称相同的情况下,将所述数字编号作为所述目标数字编号,及将所述协议数据表作为所述目标协议数据表;
从所述目标协议数据表中删除所述目标数字编号对应的数据,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,
在所述对比结果表征所述原始数据文件名称与所述目标原始数据文件的名称不同的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
在其中一个实施例中,所述数据管理方法还包括:
根据所述目标原始数据文件和所述目标协议,从数据主表中确定所述目标数字编号和目标协议编号;
根据所述目标协议编号,从协议信息表中确定目标协议字段的位置;
根据所述目标协议字段的位置从所述目标协议数据表中,获取所述目标协议字段对应的数据列。
第二方面,本申请提供了一种数据管理装置,所述装置包括:
文件获取模块,用于获取目标原始数据文件和目标协议;
数据获取模块,用于根据所述目标协议从所述目标原始数据文件中获取目标数据帧;
数据存储模块,用于按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,所述目标协议数据表包括数据字段和数字编号字段,所述目标数字编号为采用所述目标协议从所述目标数据帧中解析的目标数据的标识信息。
在其中一个实施例中,所述数据获取模块,还用于将所述目标协议对应的目标帧头与所述目标原始数据文件进行匹配,得到第一匹配结果;在所述第一匹配结果表征所述目标原始数据文件中存在所述目标帧头的情况下,根据所述目标协议对应的目标帧头和目标帧长,从所述目标原始数据文件中获取目标数据帧。
在其中一个实施例中,所述数据存储模块,还用于在所述目标数据帧为从所述目标原始数据文件中获取的第i个数据帧的情况下,按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,其中i为大于1的整数;或者,在所述目标数据帧为从所述目标原始数据文件中获取的第1个数据帧的情况下,从所述目标协议中获取目标协议编号,将所述目标协议编号与数据主表进行匹配,得到第二匹配结果;根据所述第二匹配结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
在其中一个实施例中,所述数据存储模块,还用于在所述第二匹配结果表征所述数据主表中存在所述目标协议编号的情况下,确定所述数据主表与所述目标原始数据文件的对比结果,并根据所述对比结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,在所述第二匹配结果表征所述数据主表中不存在所述目标协议编号的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,及在协议信息表中增加所述目标协议的全部协议字段,新建所述目标协议编号对应的所述目标协议数据表,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
在其中一个实施例中,所述数据存储模块,还用于从所述数据主表中获取所述目标协议编号对应的所述数字编号、原始数据文件名称、协议数据表的名称;将所述原始数据文件名称与所述目标原始数据文件进行对比,得到对比结果。
在其中一个实施例中,所述数据存储模块,还用于在所述对比结果表征所述原始数据文件名称与所述目标原始数据文件的名称相同的情况下,将所述数字编号作为所述目标数字编号,及将所述协议数据表作为所述目标协议数据表;从所述目标协议数据表中删除所述目标数字编号对应的数据,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,在所述对比结果表征所述原始数据文件名称与所述目标原始数据文件的名称不同的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
在其中一个实施例中,所述数据管理装置还包括数据读取模块,所述数据读取模块用于根据所述目标原始数据文件和所述目标协议,从数据主表中确定所述目标数字编号和目标协议编号;根据所述目标协议编号,从协议信息表中确定目标协议字段的位置;根据所述目标协议字段的位置从所述目标协议数据表中,获取所述目标协议字段对应的数据列。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各方法实施例中的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各方法实施例中的步骤。
第五方面,本申请还提供了一种计算机程序产品,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
上述数据管理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,获取目标原始数据文件和目标协议;根据所述目标协议从所述目标原始数据文件中获取目标数据帧;按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,所述目标协议数据表包括数据字段和数字编号字段,所述目标数字编号为采用所述目标协议从所述目标数据帧中解析的目标数据的标识信息。本申请提供的数据管理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,通过将从目标原始数据文件中解析出来的目标协议对应的目标数据,按照目标协议数据表的预设表结构,与目标数字编号一起存储至目标协议数据表,以便于之后进行数据的查询读取时,可以直接根据目标数字编号从目标协议数据表中查询到需要的目标数据,以对数据进行有序管理,减少内存空间占用、提高数据展示速度。
附图说明
图1为一个实施例中数据管理方法的流程示意图。
图2为一个实施例中步骤102的流程示意图。
图3为一个实施例中数据管理方法的流程示意图。
图4为一个实施例中数据管理方法的流程示意图。
图5为一个实施例中数据主表、协议信息表、协议数据表的关系图。
图6为一个实施例中数据存储流程图。
图7为一个实施例中数据查询流程图。
图8为一个实施例中数据管理装置的结构框图。
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
数据形成过程可以分为三个阶段:原始数据包阶段、数据包解析阶段、数据分析阶段。
原始数据包阶段通常在数据记录仪端进行,不属于数据分析软件内容。原始数据包阶段主要是在试验实时进行过程中,为提高存储效率,直接将接收到的所有类型数据帧都存储到一个文件中,文件存储格式字节流,后缀通常为.dat/.raw等。以data.raw为例,通常以5ms为周期进行一次试验,数据量大小在600MB左右。
数据包解析阶段的输入为原始数据包(data.raw),此原始数据包内可能包含多种协议数据(以协议A~Z为例说明,存储格式为json),数据包解析阶段共分三步完成:
1)查找并获取数据帧
将原始数据包data.raw以readall或循环readline的方式,全部读取到内存;选择本次解析的数据协议A.json(数据字段为400列);根据协议头的关键字,在原始数据包中进行查找,当匹配到关键字后根据协议配置的长度进行截取,得到完整的一帧数据;同时指针跳到本帧数据的结尾,再进行遍历,直到遍历到整个原始数据包的结束符,由此得到data.raw中协议A的所有数据帧。
2)解析数据帧获取数据
根据协议中字段偏移,将每一帧数据包解析成可识别的一行数据。
3)存储数据
通常一种协议数据对应存储为一个csv文件,文件名称为该协议名称,表格中列首为该协议字段,将解析后生成的数据存储到A.csv文件中,此数据通常为50万行,400列,文件大小为3GB。
数据分析阶段,以曲线方式展示协议A中c1列数据为例:
1)读取数据
常用数据读取方式有两种:将文件A.csv以readall 方式读取到内存,检索c1列数据,形成一个数据数组arrayData;或者,将文件A.csv以循环readline的方式读取到内存,检索c1列数据,形成一个数据数组arrayData。
2)数据展示
将arrayData以曲线方式进行数据展示。通常数据展示的方式为曲线和表格两种方式,这两种方式只是展现的效果不同,数据来源相同获取方式相同。
但传统技术中由于数据体量过大,生成的文件也高达3GB,若在数据分析阶段采用第一种数据读取的方式,由于readall函数通常支持大小为1GB,故会因为内存占用过大,造成软件崩溃问题;若采用第二种数据读取方式,会因为每次仅读取一行,处理一行,将50万行400列数据,全部检索完耗时较大。因此,数据分析阶段占用内存过大,易造成崩溃现象,读取数据过程占用大量时间,等待时间过长,也易造成卡死现象,且当更换原始数据文件时,再次选择原协议解析会造成数据覆盖或管理混乱等问题。
基于此,本申请实施例对原数据分析软件增加数据库读写管理功能。可以采用SQLite数据库,其为一款轻型的数据库,是遵守ACID(原子性atomicity、一致性consistency、隔离性isolation、持久性durability)的关系型数据库管理系统,占用资源非常低,在嵌入式设备中只需要几百K的内存。SQLite数据库能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合。本申请实施例提供了一种数据管理方法,应用于SQLite数据库,以解决上述问题,对数据进行有序管理,减少内存空间占用、提高数据展示速度。
在一个实施例中,如图1所示,提供了一种数据管理方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,获取目标原始数据文件和目标协议。
其中,目标原始数据文件为需要从中获取数据的原始数据包,后缀通常为.dat/.raw。目标原始数据文件内可能包含多种协议数据,目标协议为需要进行解析的协议数据文件,存储格式为json。操作人员可以运行数据分析软件,运行软件即生成mainTable数据主表和protocolTable协议信息表,操作人员可以选择并加载目标原始数据文件和目标协议。例如:目标原始数据文件可以为data.raw,目标协议可以为A.json。
步骤104,根据目标协议从目标原始数据文件中获取目标数据帧。
其中,目标数据帧为根据目标协议,从目标原始数据文件中查找并截取的完整的一帧数据。针对一个目标协议,目标原始数据文件中可能包括多个目标数据帧。
步骤106,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,目标协议数据表包括数据字段和数字编号字段,目标数字编号为采用目标协议从目标数据帧中解析的目标数据的标识信息。
其中,目标协议数据表为用来存储根据目标协议在各个原始数据文件中解析出的协议数据的表格。目标协议数据表可以包括根据目标协议在目标原始数据文件中解析出的协议数据,即目标数据帧中解析的目标数据。针对任一目标数据帧,可以根据数据类型(例如整型、浮点型等)及字段偏移,获取该目标数据帧中所有的目标数据(本实施例中目标数据可以表示为arrayData)。字段偏移为参数(或者协议字段或者数据字段)在数据帧中的位置,例如一个数据帧为10个字节流,在该10个字节中可以包括多个参数,一个参数可能占用一个字节,一个比特位或者多个字节。目标数据arrayData可以为数组形式表示。
目标协议数据表的表名可以为PTE+uuid。uuid(通用唯一识别码,UniversallyUnique Identifier)可以从目标协议中获取。例如:目标协议A.json的uuid为123asd456hjk,则目标协议数据表为PTE 123asd456hjk。
目标协议数据表包括数据字段和数字编号字段,数据字段和数字编号字段的含义如下表1所示。
表1 目标协议数据表字段名称
数字编号字段为数字编号Id,为mainTable表中的id字段,数字编号字段下存储的数据类型为Int(整数类型)。数据字段可以为C+列数,列数从目标协议中获取,数据字段下存储的数据类型为Varchar(40)(能存储40个字节长度的字符)。例如:数据字段可以为C0、C1、…Cn。目标协议数据表的预设表结构为表的列首从左至右依次为Id、C0、C1、…Cn的表结构。在将目标数据帧中解析的目标数据存储进目标协议数据表中的数据字段下时,目标数字编号作为采用目标协议从目标数据帧中解析的数据的标识信息,将一起存储至对应的数字编号字段下。例如:目标数字编号id为789,则将目标数据存储至目标协议数据表PTE123asd456hjk中的C0、C1、…Cn,将789存储至目标协议数据表PTE 123asd456hjk中的Id。需要说明的是,在该目标数据帧成功存储进目标协议数据表后,返回至步骤104获取下一个目标数据帧,直至目标原始数据文件中所有的目标数据帧都被存储至目标协议数据表为止。
本申请实施例提供的数据管理方法,获取目标原始数据文件和目标协议;根据目标协议从目标原始数据文件中获取目标数据帧;按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,目标协议数据表包括数据字段和数字编号字段,目标数字编号为采用目标协议从目标数据帧中解析的目标数据的标识信息。本申请提供的数据管理方法,通过将从目标原始数据文件中解析出来的目标协议对应的目标数据,按照目标协议数据表的预设表结构,与目标数字编号一起存储至目标协议数据表,以便于之后进行数据的查询读取时,可以直接根据目标数字编号从目标协议数据表中查询到需要的目标数据,以对数据进行有序管理,减少内存空间占用、提高数据展示速度。
在一个实施中,如图2所示,在步骤104中,根据目标协议从目标原始数据文件中获取目标数据帧,可以包括:
步骤202,将目标协议对应的目标帧头与目标原始数据文件进行匹配,得到第一匹配结果。
其中,目标帧头为目标协议对应的协议头。将目标协议对应的目标帧头与目标原始数据文件进行匹配,即可以遍历目标原始数据文件,在目标原始数据文件中查找是否存在目标帧头的关键字,得到第一匹配结果。第一匹配结果可以用来表征目标原始数据文件中是否存在目标协议。
步骤204,在第一匹配结果表征目标原始数据文件中存在目标帧头的情况下,根据目标协议对应的目标帧头和目标帧长,从目标原始数据文件中获取目标数据帧。
其中,在第一匹配结果表征目标原始数据文件中存在目标帧头的情况下,即目标原始数据文件中存在目标协议。匹配到目标帧头的关键字后,可以根据目标帧长进行截取,得到完整的一帧数据,即为一个目标数据帧。目标帧长为目标协议的协议配置的长度。获取一个目标数据帧后,指针可以跳到该目标数据帧数据的结尾,再进行遍历目标原始数据文件,直到遍历到整个目标原始数据文件的结束符,由此得到目标原始数据文件中目标协议的所有目标数据帧。
在第一匹配结果表征目标原始数据文件中不存在目标帧头的情况下,即目标原始数据文件中不存在目标协议,此时,结束本次流程,操作人员可以重新选择并加载新的目标原始数据文件和/或目标协议。
本公开实施例,基于目标帧头与目标原始数据文件的第一匹配结果,判断是否获取目标数据帧,简化了数据管理的流程。
在一个实施中,在步骤106中,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,可以包括:
在目标数据帧为从目标原始数据文件中获取的第i个数据帧的情况下,按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,其中i为大于1的整数;
或者,在目标数据帧为从目标原始数据文件中获取的第1个数据帧的情况下,从目标协议中获取目标协议编号,将目标协议编号与数据主表进行匹配,得到第二匹配结果;根据第二匹配结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
本申请实施例中,若目标数据帧为从目标原始数据文件中获取的第i个数据帧,即目标数据帧中解析出的目标数据arrayData不是目标原始数据文件中目标协议的第一组数据,可以直接将目标数据arrayData与目标数字编号一并写入到目标协议数据表中。目标数字编号可以从数据主表mainTable中获取,为数据主表mainTable中目标原始数据文件和目标协议同时对应的数字编号。
若目标数据帧是从目标原始数据文件中获取的第1个数据帧,即目标数据帧中解析出的目标数据arrayData是目标原始数据文件中目标协议的第一组数据时,可以在数据主表中查找是否存在目标协议编号,得到第二匹配结果。目标协议编号即为目标协议的uuid,可以从目标协议中获取。第二匹配结果可以用来表征之前是否解析过目标协议。根据不同的第二匹配结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
数据主表包括的字段名称可以如下表2所示。
表2 数据主表字段名称
数据主表可以包括:Id(数字编号)、dt(日期时间)、rawName(原始数据文件名称)、proNameCN(协议中文名称)、proNameEN(协议数据表名称)、uuid(协议编号)等字段名称。Id的数据来源为自增长,dt的数据类型为dateTime(日期时间),数据来源为当前日期时间,rawName、proNameCN、proNameEN和uuid的数据类型为Varchar(40)。proNameCN和uuid可以从目标协议的json文件中读取。
举例来说,目标原始数据文件的名称为data.raw,目标协议为A.json,目标协议的目标协议编号uuid为123asd456hjk。若目标数据帧不是从目标原始数据文件中获取的第一个数据帧,可以从数据主表mainTable中查询到uuid为123asd456hjk、rawName为data.raw的一行数据,该行数据中对应的Id为789,即为目标数字编号。该行数据中对应的proNameEN为PTE 123asd456hjk,即为目标协议数据表的名称。按照目标协议数据表的预设表结构,将目标数据帧中解析的目标数据arrayData与目标数字编号789一起存储至目标协议数据表PTE 123asd456hjk中。若目标数据帧是从目标原始数据文件中获取的第一个数据帧,在数据主表mainTable中查询目标协议编号123asd456hjk,判断数据主表中是否存在目标协议编号123asd456hjk,并得到第二匹配结果。
本公开实施例,将目标数据帧分为是或不是从目标原始数据文件中获取的第一个数据帧的两种情况,并进行不同的后续步骤,以将目标数据帧中解析的目标数据与目标数字编号一起存储至目标协议数据,简化了数据管理的流程。
在一个实施中,根据第二匹配结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,可以包括:
在第二匹配结果表征数据主表中存在目标协议编号的情况下,确定数据主表与目标原始数据文件的对比结果,并根据对比结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表;
或者,在第二匹配结果表征数据主表中不存在目标协议编号的情况下,在数据主表中新增一行目标协议编号对应的目标主表数据,从目标主表数据中获取目标数字编号,及在协议信息表中增加目标协议的全部协议字段,新建目标协议编号对应的目标协议数据表,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
本申请实施例中,若第二匹配结果表征数据主表中存在目标协议编号,则可以读取数据主表中目标协议编号对应的那行数据,从该行数据中获取原始数据文件名称,并与目标原始数据文件进行对比,得到对比结果。对比结果可以用来表征针对目标协议,从目标原始数据文件中获取的目标数据帧是否被解析过。根据不同的对比结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
若第二匹配结果表征数据主表中不存在目标协议编号,即目标协议从未被解析过,则可以在数据主表中新增一行目标协议编号对应的目标主表数据。目标主表数据可以包括Id(数字编号)、dt(日期时间)、rawName(原始数据文件名称)、proNameCN(协议中文名称)、proNameEN(协议数据表名称)、uuid(协议编号)等数据。此时目标主表数据中的Id(数字编号)可以为上一行数据中Id加上1得到。从目标主表数据获取Id(数字编号)作为目标数字编号。由于目标协议从未被解析过,协议信息表protocolTable中不含有目标协议的相关数据,也不存在目标协议数据表,因此需要在协议信息表中protocolTable增加目标协议的全部协议字段,同时新建目标协议数据表。协议信息表包括的字段名称可以如下表3所示。
表3 协议信息表字段名称
协议信息表可以包括:uuid、name(协议字段的中文名称)、name_uuid(协议字段的编号)等字段名称。uuid、name(协议字段的中文名称)、name_uuid(协议字段的编号)都可以从目标协议的json文件中获取。
举例来说,目标原始数据文件的名称为data.raw,目标协议为A.json,目标协议的目标协议编号uuid为123asd456hjk。若第二匹配结果表征数据主表中存在目标协议编号,即mainTable中存在123asd456hjk,则读取uuid = “123asd456hjk”的那行数据,从该行数据中获取原始数据文件名称,并与目标原始数据文件data.raw进行对比,得到对比结果。若第二匹配结果表征数据主表中不存在目标协议编号,即mainTable中不存在123asd456hjk,则在mainTable表中增加一行目标主表数据,若该行目标主表数据的上一行数据中id为788,则该行目标主表数据中id为789,将789作为目标数字编号。目标主表数据中还可以包括rawName(原始数据文件名称):data.raw;proNameEN(协议数据表名称):PTE123asd456hjk;uuid(协议编号):123asd456hjk等。同时,在协议信息表中protocolTable增加目标协议A.json的全部协议字段,新建目标协议数据表PTE 123asd456hjk。按照目标协议数据表PTE 123asd456hjk的预设表结构,将目标数据与目标数字编号789存储至目标协议数据表PTE 123asd456hjk。
本公开实施例,基于不同的第二匹配结果进行不同的后续数据管理步骤,以将目标数据帧中解析的目标数据与目标数字编号一起存储至目标协议数据,简化了数据管理的流程。
在一个实施例中,如图3所示,确定数据主表与目标原始数据文件的对比结果,可以包括:
步骤302,从数据主表中获取目标协议编号对应的数字编号、原始数据文件名称、协议数据表的名称。
其中,若第二匹配结果表征数据主表中存在目标协议编号,则可以读取数据主表中目标协议编号对应的那行数据,从该行数据中获取数字编号、原始数据文件名称和协议数据表的名称。例如:目标原始数据文件的名称为data.raw,目标协议为A.json,目标协议的目标协议编号uuid为123asd456hjk。当mainTable中存在123asd456hjk时,则读取uuid =“123asd456hjk”的那行数据,从该行数据中获取到原始数据文件名称:X.raw、数字编号、协议数据表的名称:PTE 123asd456hjk。
步骤304,将原始数据文件名称与目标原始数据文件进行对比,得到对比结果。
其中,依旧以目标原始数据文件的名称为data.raw为例,获取到的原始数据文件名称为X.raw。将目标原始数据文件的名称data.raw与原始数据文件名称X.raw进行对比,得到对比结果。对比结果可以用来表征针对目标协议,从目标原始数据文件中获取的目标数据帧是否被解析过。若data.raw与X.raw相同,则得到用来表征原始数据文件名称与目标原始数据文件的名称相同的对比结果,此时,说明目标数据已经被解析,或者针对目标协议来说,目标原始数据文件中的数据有所改变但目标原始数据文件的名称没有变化。若data.raw与X.raw不同,则得到用来表征原始数据文件名称与目标原始数据文件的名称不相同的对比结果,此时,数据主表中目标协议存在但原始数据文件名称不相同,说明之前已经使用过目标协议,本次为针对目标协议从新的目标原始数据文件中解析了一组新的数据。
本公开实施例,通过查询数据主表中目标协议编号对应的原始数据文件名称,与目标原始数据文件的名称做对比,得到对比结果,以根据不同的对比结果进行不同的后续数据管理步骤,以将目标数据帧中解析的目标数据与目标数字编号一起存储至目标协议数据,简化了数据管理的流程。
在一个实施例中,根据对比结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,可以包括:
在对比结果表征原始数据文件名称与目标原始数据文件的名称相同的情况下,将数字编号作为目标数字编号,及将协议数据表作为目标协议数据表;从目标协议数据表中删除目标数字编号对应的数据,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表;
或者,在对比结果表征原始数据文件名称与目标原始数据文件的名称不同的情况下,在数据主表中新增一行目标协议编号对应的目标主表数据,从目标主表数据中获取目标数字编号,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
示例性的,目标原始数据文件的名称为data.raw,目标协议为A.json,目标协议的目标协议编号uuid为123asd456hjk。在对比结果表征原始数据文件名称与目标原始数据文件的名称相同的情况下,假定从数据主表中获取的目标协议编号对应的数字编号为789,协议数据表的名称为PTE 123asd456hjk。可以将数数字编号789作为目标数字编号,协议数据表PTE 123asd456hjk作为目标协议数据表。从协议数据表PTE 123asd456hjk中删除目标数字编号789对应的所有数据后,将目标数据存储至协议数据表PTE 123asd456hjk中。
在对比结果表征原始数据文件名称与目标原始数据文件的名称不相同的情况下,假定此时从数据主表中获取的目标协议编号对应的数字编号为788,则在数据主表中新增加一行目标协议编号123asd456hjk对应的目标主表数据。目标主表数据中可以包括数字编号789、rawName:data.raw、proNameEN:PTE 123asd456hjk、uuid:123asd456hjk等。将数字编号789作为目标数字编号,并按照目标协议数据表PTE 123asd456hjk的预设表结构,将目标数据与目标数字编号789存储至目标协议数据表PTE 123asd456hjk。
本公开实施例,基于不同的对比结果进行不同的后续数据管理步骤,以将目标数据帧中解析的目标数据与目标数字编号一起存储至目标协议数据,简化了数据管理的流程,且对数据进行有序管理。
在一个实施例中,如图4所示,数据管理方法还可以包括以下步骤:
步骤402,根据目标原始数据文件和目标协议,从数据主表中确定目标数字编号和目标协议编号。
其中,数据主表、协议信息表、协议数据表的关系图可以如图5所示。在数据查询过程中,操作人员可以运行数据分析软件,并通过外部输入选择目标原始数据文件和目标协议。例如:选择目标原始数据文件为data.raw,选择的目标协议的中文名称为name1。可以从数据主表中,根据目标原始数据文件的名称data.raw和目标协议的中文名称为name1,查询对应的行数据,以及该行数据中的数字编号和协议编号。将查询到的数字编号和协议编号作为目标原始数据文件和目标协议对应的目标数字编号和目标协议编号。若查询得到的目标数字编号为空,则弹窗提示未找到目标协议并结束数据查询流程。
步骤404,根据目标协议编号,从协议信息表中确定目标协议字段的位置。
示例性的,若查询到目标数字编号为789,目标协议编号为123asd456jkl,则从协议信息表中根据目标协议编号123asd456jkl,查询到对应的目标协议的全部协议字段,并将协议字段组成中文名称数组strName[]。可以通过外部输入中文字段名称para1来选择要查询的目标协议字段。在中文名称数组strName[]中查询para1所在的位置,并根据para1所在的位置得到返回值index。目标协议字段的位置可以用返回值index来表示。若strName[]中不存在para1,则返回值index为-1,此时弹窗提示未找到目标协议字段,并结束数据查询流程。若para1位于strName[]中第一个位置,则index=0,以此类推。
步骤406,根据目标协议字段的位置从目标协议数据表中,获取目标协议字段对应的数据列。
其中,在获取目标协议字段的位置后,可以根据“C”+ index,获取查询列CX。在目标协议数据表PTE123asd456jkl中,查询CX列数据,获取目标协议字段对应的数据列strValue[]和数据数量count。数据数量为数据列strValue[]中所包含的数据个数。当数据数量count=0时,弹窗提示未找到该解析数据并结束数据查询流程。若数据数量coun不为0,则成功查询到目标协议数据表中目标协议字段的有效数据列strValue[],并可以将中文字段名称para1作为列首,结合有效数据列strValue[]完成曲线和表格形式的数据展示。
本公开实施例,通过目标原始数据文件、目标协议和目标协议字段,即可在数据主表、协议信息表、目标协议数据表的共同作用下,快速查找到所需数据并进行展示,减少内存空间占用,提高了数据展示速度。
在一个实施例中,数据管理方法还可以包括数据删除的步骤。数据删除分为删除字段数据、协议数据和原始数据三类:
a)删除字段数据,需要选择该协议字段所属的原始数据文件和协议数据,直接在对应的协议数据表PTE+uuid中删除即可,当判断此协议字段为该协议最后一个协议字段信息时,在完成此步骤后需要继续执行步骤b);
b)删除协议数据,需要选择该协议所属的原始数据文件,在mainTable中删除这行数据,并在对应的协议数据表PTE+uuid表中删除对应的协议数据,当判断此协议为该原始数据文件中最后一个协议时,在完成此步骤后需要继续执行步骤c);
c)删除原始数据,需要在mainTable中删除关联原始数据文件的所有信息,同时和此信息相关PTE+uuid表中的数据。
为了更好地理解本申请提供的数据管理方法,提供了一种最完整的数据管理方法实施例。图6为数据存储流程图,图7为数据查询流程图。
参见图6,数据存储方法步骤如下:a)运行数据分析软件即生成数据主表mainTable和协信息表protocolTable,若mainTable和protocolTable已存在则直接略过表的生成步骤;b)选择并加载原始数据文件data.raw和需要解析的协议A.json,获取协议名称和协议uuid(假设uuid为123asd456hjk);c)遍历data.raw中数据,在data.raw中查找A.json的协议头,直到找不到协议头,结束本流程;d)根据帧头(协议头)和帧长截取完整数据帧,并根据数据类型及偏移,获取该数据帧所有数据arrayData;e)判断arrayData是否为该协议的第一组数据,当为第一组数据时继续执行后续步骤f),否则直接跳转到步骤k);f)在mainTable中查找uuid字段 ,判断是否存在“123asd456hjk”,若存在则继续执行步骤g),否则直接跳转到步骤i);g)读取mainTable中uuid = “123asd456hjk”的那行数据,读取id信息 (假设id为789),并判断原始数据与当前选择原始数据data.raw是否重名,重名则继续执行步骤h),否则跳转到j);h)当前解析data.raw数据和之前解析过的数据重名,说明该数据已经被解析或者原始数据有改变但名称相同,此时在协议数据表“PTE 123asd456hjk”中删除id = “789”的所有数据,然后跳转到步骤k);i)mainTable表uuid字段中不存在“123asd456hjk”,说明此协议之前未解析过,则在mainTable表中增加一行数据,同时获取该行数据id信息;在protocolTable表中,增加A.json中所有数据字段;同时新建协议数据表“PTE 123asd456hjk”;然后跳到步骤k);j)协议存在且原始文件名称不相同,说明之前已经使用过该协议,本次为解析了一组新的数据,则在mainTable表中增加一行数据,同时获取该行数据id信息;然后跳转到步骤k);k)将arrayData数组 ,增加前步骤中获取的id信息,一并写入到表“PTE123asd456hjk”中。l)本帧解析后的数据arrayData写入完成后,跳转到步骤c)继续遍历剩余的原始数据。
参见图7,数据查询方法步骤如下:a)选择数据原始文件data.raw、协议中文名称name1和中文字段名称 para1;b)在mainTable表中,根据原始文件和协议中文名称,查询获取Id信息(id1)和uuid信息(123asd456jkl);c)Id数据为空时,弹窗提示并结束流程,否则继续执行;d)在protocolTable表中,根据获取的uuid信息,查询获取该协议所有列首中文名称数组strName[]。e)在strName[]中查询para1所在位置,得到数据index ;f)当index数据为空时,弹窗提示并结束流程,否则继续执行;g)使用“c”+ index,获取查询列cX,在“PTE123asd456jkl”表中,查询cX列数据,获取数据列strValue[]和数据数量count;h)当数据数量为0时,弹窗提示并结束流程,否则继续执行;i)此时已得到列首para1和有效的数据列strValue[],可用于完成曲线和表格数据展示。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据管理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据管理装置实施例中的具体限定可以参见上文中对于数据管理方法的限定,在此不再赘述。
在一个实施例中,参见图8,提供了一种数据管理装置800。数据管理装置800包括:
文件获取模块802,用于获取目标原始数据文件和目标协议;
数据获取模块804,用于根据目标协议从目标原始数据文件中获取目标数据帧;
数据存储模块806,用于按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,目标协议数据表包括数据字段和数字编号字段,目标数字编号为采用目标协议从目标数据帧中解析的目标数据的标识信息。
本申请实施例提供的数据管理装置,获取目标原始数据文件和目标协议;根据目标协议从目标原始数据文件中获取目标数据帧;按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,目标协议数据表包括数据字段和数字编号字段,目标数字编号为采用目标协议从目标数据帧中解析的目标数据的标识信息。本申请提供的数据管理装置通过将从目标原始数据文件中解析出来的目标协议对应的目标数据,按照目标协议数据表的预设表结构,与目标数字编号一起存储至目标协议数据表,以便于之后进行数据的查询读取时,可以直接根据目标数字编号从目标协议数据表中查询到需要的目标数据,以对数据进行有序管理,减少内存空间占用、提高数据展示速度。
在一个实施例中,数据获取模块804还用于将目标协议对应的目标帧头与目标原始数据文件进行匹配,得到第一匹配结果;在第一匹配结果表征目标原始数据文件中存在目标帧头的情况下,根据目标协议对应的目标帧头和目标帧长,从目标原始数据文件中获取目标数据帧。
在一个实施例中,数据获取模块804还用于在目标数据帧为从目标原始数据文件中获取的第i个数据帧的情况下,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表,其中i为大于1的整数;或者,在目标数据帧为从目标原始数据文件中获取的第1个数据帧的情况下,从目标协议中获取目标协议编号,将目标协议编号与数据主表进行匹配,得到第二匹配结果;根据第二匹配结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
在一个实施例中,数据获取模块804还用于在第二匹配结果表征数据主表中存在目标协议编号的情况下,确定数据主表与目标原始数据文件的对比结果,并根据对比结果,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表;或者,在第二匹配结果表征数据主表中不存在目标协议编号的情况下,在数据主表中新增一行目标协议编号对应的目标主表数据,从目标主表数据中获取目标数字编号,及在协议信息表中增加目标协议的全部协议字段,新建目标协议编号对应的目标协议数据表,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
在一个实施例中,数据获取模块804还用于从数据主表中获取目标协议编号对应的所述数字编号、原始数据文件名称、协议数据表的名称;将原始数据文件名称与目标原始数据文件进行对比,得到对比结果。
在一个实施例中,数据获取模块804还用于在对比结果表征原始数据文件名称与目标原始数据文件的名称相同的情况下,将数字编号作为目标数字编号,及将协议数据表作为目标协议数据表;从目标协议数据表中删除目标数字编号对应的数据,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表;或者,在对比结果表征原始数据文件名称与目标原始数据文件的名称不同的情况下,在数据主表中新增一行目标协议编号对应的目标主表数据,从目标主表数据中获取目标数字编号,按照目标协议数据表的预设表结构,将目标数字编号及从目标数据帧中解析的目标数据,存储至目标协议数据表。
在一个实施例中,数据管理装置800还包括数据读取模块。数据读取模块用于根据目标原始数据文件和目标协议,从数据主表中确定目标数字编号和目标协议编号;根据目标协议编号,从协议信息表中确定目标协议字段的位置;根据目标协议字段的位置从目标协议数据表中,获取目标协议字段对应的数据列。
上述数据管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据管理方法。
本领域技术人员可以理解,图9示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccessMemory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据管理方法,其特征在于,所述方法包括:
获取目标原始数据文件和目标协议;
根据所述目标协议从所述目标原始数据文件中获取目标数据帧;
按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,所述目标协议数据表包括数据字段和数字编号字段,所述目标数字编号为采用所述目标协议从所述目标数据帧中解析的目标数据的标识信息;
所述按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,包括:
在所述目标数据帧为从所述目标原始数据文件中获取的第i个数据帧的情况下,按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,其中i为大于1的整数;或者,
在所述目标数据帧为从所述目标原始数据文件中获取的第1个数据帧的情况下,从所述目标协议中获取目标协议编号,将所述目标协议编号与数据主表进行匹配,得到第二匹配结果;
根据所述第二匹配结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;
所述根据所述第二匹配结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,包括:
在所述第二匹配结果表征所述数据主表中存在所述目标协议编号的情况下,确定所述数据主表与所述目标原始数据文件的对比结果,并根据所述对比结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,
在所述第二匹配结果表征所述数据主表中不存在所述目标协议编号的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,及在协议信息表中增加所述目标协议的全部协议字段,新建所述目标协议编号对应的所述目标协议数据表,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标协议从所述目标原始数据文件中获取目标数据帧,包括:
将所述目标协议对应的目标帧头与所述目标原始数据文件进行匹配,得到第一匹配结果;
在所述第一匹配结果表征所述目标原始数据文件中存在所述目标帧头的情况下,根据所述目标协议对应的目标帧头和目标帧长,从所述目标原始数据文件中获取目标数据帧。
3.根据权利要求1所述的方法,其特征在于,所述确定所述数据主表与所述目标原始数据文件的对比结果,包括:
从所述数据主表中获取所述目标协议编号对应的所述数字编号、原始数据文件名称、协议数据表的名称;
将所述原始数据文件名称与所述目标原始数据文件进行对比,得到对比结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述对比结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,包括:
在所述对比结果表征所述原始数据文件名称与所述目标原始数据文件的名称相同的情况下,将所述数字编号作为所述目标数字编号,及将所述协议数据表作为所述目标协议数据表;
从所述目标协议数据表中删除所述目标数字编号对应的数据,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,
在所述对比结果表征所述原始数据文件名称与所述目标原始数据文件的名称不同的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标原始数据文件和所述目标协议,从数据主表中确定所述目标数字编号和目标协议编号;
根据所述目标协议编号,从协议信息表中确定目标协议字段的位置;
根据所述目标协议字段的位置从所述目标协议数据表中,获取所述目标协议字段对应的数据列。
6.一种数据管理装置,其特征在于,所述装置包括:
文件获取模块,用于获取目标原始数据文件和目标协议;
数据获取模块,用于根据所述目标协议从所述目标原始数据文件中获取目标数据帧;
数据存储模块,用于按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,所述目标协议数据表包括数据字段和数字编号字段,所述目标数字编号为采用所述目标协议从所述目标数据帧中解析的目标数据的标识信息;
所述数据存储模块还用于在所述目标数据帧为从所述目标原始数据文件中获取的第i个数据帧的情况下,按照目标协议数据表的预设表结构,将目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表,其中i为大于1的整数,或者,在所述目标数据帧为从所述目标原始数据文件中获取的第1个数据帧的情况下,从所述目标协议中获取目标协议编号,将所述目标协议编号与数据主表进行匹配,得到第二匹配结果,根据所述第二匹配结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;
所述数据存储模块还用于在所述第二匹配结果表征所述数据主表中存在所述目标协议编号的情况下,确定所述数据主表与所述目标原始数据文件的对比结果,并根据所述对比结果,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表;或者,
在所述第二匹配结果表征所述数据主表中不存在所述目标协议编号的情况下,在所述数据主表中新增一行所述目标协议编号对应的目标主表数据,从所述目标主表数据中获取所述目标数字编号,及在协议信息表中增加所述目标协议的全部协议字段,新建所述目标协议编号对应的所述目标协议数据表,按照所述目标协议数据表的预设表结构,将所述目标数字编号及从所述目标数据帧中解析的目标数据,存储至所述目标协议数据表。
7.根据权利要求6所述的装置,其特征在于,所述数据获取模块还用于将所述目标协议对应的目标帧头与所述目标原始数据文件进行匹配,得到第一匹配结果;在所述第一匹配结果表征所述目标原始数据文件中存在所述目标帧头的情况下,根据所述目标协议对应的目标帧头和目标帧长,从所述目标原始数据文件中获取目标数据帧。
8.根据权利要求6所述的装置,其特征在于,所述数据存储模块还用于从所述数据主表中获取所述目标协议编号对应的所述数字编号、原始数据文件名称、协议数据表的名称;将所述原始数据文件名称与所述目标原始数据文件进行对比,得到对比结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042537.3A CN116055589B (zh) | 2023-01-28 | 2023-01-28 | 数据管理方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042537.3A CN116055589B (zh) | 2023-01-28 | 2023-01-28 | 数据管理方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116055589A CN116055589A (zh) | 2023-05-02 |
CN116055589B true CN116055589B (zh) | 2023-06-06 |
Family
ID=86116795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042537.3A Active CN116055589B (zh) | 2023-01-28 | 2023-01-28 | 数据管理方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055589B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259371A (zh) * | 2016-12-28 | 2018-07-06 | 亿阳信通股份有限公司 | 一种基于流处理的网络流量数据解析方法和装置 |
CN109218301A (zh) * | 2018-09-05 | 2019-01-15 | 天津市滨海新区信息技术创新中心 | 多协议间软件定义的帧头映射的方法和装置 |
CN110012031A (zh) * | 2019-04-26 | 2019-07-12 | 中国电子科技集团公司第二十九研究所 | 数据报文通用自动解析方法和存储方法 |
CN111224951A (zh) * | 2019-12-24 | 2020-06-02 | 广州市中海达测绘仪器有限公司 | 数据的处理方法、装置、车载终端和存储介质 |
CN112769795A (zh) * | 2020-12-30 | 2021-05-07 | 中国兵器装备集团自动化研究所 | 一种基于数据仓库的报文通信解析系统及方法 |
CN114218223A (zh) * | 2021-12-20 | 2022-03-22 | 乐府互娱(上海)网络科技有限公司 | 基于Protobuf协议构建Redis数据模型与访问方法 |
CN114640727A (zh) * | 2022-03-30 | 2022-06-17 | 深圳市汇川技术股份有限公司 | 协议解析方法、装置及计算机可读存储介质 |
CN115145910A (zh) * | 2021-03-31 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 一种协议数据的管理方法以及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2762682A1 (en) * | 2009-05-18 | 2010-11-25 | Telcordia Technologies, Inc. | A privacy architecture for distributed data mining based on zero-knowledge collections of databases |
-
2023
- 2023-01-28 CN CN202310042537.3A patent/CN116055589B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259371A (zh) * | 2016-12-28 | 2018-07-06 | 亿阳信通股份有限公司 | 一种基于流处理的网络流量数据解析方法和装置 |
CN109218301A (zh) * | 2018-09-05 | 2019-01-15 | 天津市滨海新区信息技术创新中心 | 多协议间软件定义的帧头映射的方法和装置 |
CN110012031A (zh) * | 2019-04-26 | 2019-07-12 | 中国电子科技集团公司第二十九研究所 | 数据报文通用自动解析方法和存储方法 |
CN111224951A (zh) * | 2019-12-24 | 2020-06-02 | 广州市中海达测绘仪器有限公司 | 数据的处理方法、装置、车载终端和存储介质 |
CN112769795A (zh) * | 2020-12-30 | 2021-05-07 | 中国兵器装备集团自动化研究所 | 一种基于数据仓库的报文通信解析系统及方法 |
CN115145910A (zh) * | 2021-03-31 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 一种协议数据的管理方法以及相关装置 |
CN114218223A (zh) * | 2021-12-20 | 2022-03-22 | 乐府互娱(上海)网络科技有限公司 | 基于Protobuf协议构建Redis数据模型与访问方法 |
CN114640727A (zh) * | 2022-03-30 | 2022-06-17 | 深圳市汇川技术股份有限公司 | 协议解析方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
油井生产数据采集与管理系统软件的设计与开发;李凤民 等;;电子设计工程(19);第18-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116055589A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642515B2 (en) | Data storage method, electronic device, and computer non-volatile storage medium | |
CN110413611B (zh) | 数据存储、查询方法及装置 | |
US7243110B2 (en) | Searchable archive | |
US20150058352A1 (en) | Thin database indexing | |
CN106471501B (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
CN113721862B (zh) | 数据处理方法及装置 | |
CN108038253B (zh) | 一种日志查询的处理方法及装置 | |
US20200133787A1 (en) | Method, electronic device and computer readable medium of file management | |
CN114297196A (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
US9292553B2 (en) | Queries for thin database indexing | |
CN116055589B (zh) | 数据管理方法、装置及计算机设备 | |
CN117093579A (zh) | 数据查询、数据存储方法、装置、设备及存储介质 | |
KR101693108B1 (ko) | 읽기 성능 개선을 위한 티-트리 인덱스를 이용한 데이터베이스 읽기 방법 및 그 장치 | |
WO2016155510A1 (en) | Apparatus and method for creating user defined variable size tags on records in rdbms | |
CN108073709B (zh) | 一种数据记录的操作方法、装置、设备和存储介质 | |
CN115495462A (zh) | 批量数据更新方法、装置、电子设备和可读存储介质 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN115454353A (zh) | 一种面向空间应用数据的高速写入及查询方法 | |
CN114416741A (zh) | 基于多级索引的kv数据写入读取方法、装置及存储介质 | |
CN114398373A (zh) | 应用于数据库存储的文件数据存储读取方法及装置 | |
CN110990394B (zh) | 分布式面向列数据库表的行数统计方法、装置和存储介质 | |
US10037148B2 (en) | Facilitating reverse reading of sequentially stored, variable-length data | |
CN118034612B (zh) | 一种数据处理方法、装置和存储介质 | |
CN111459949B (zh) | 针对数据库的数据处理方法、装置及设备和索引更新方法 | |
CN117194729A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 701, 7th Floor, Building 6, Courtyard 8, Kegu 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing, 100176 Patentee after: Beijing Tasson Technology Ltd. Country or region after: China Address before: Room 701, 7 / F, building 6, courtyard 8, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing 100176 Patentee before: BEIJING TASSON TECHNOLOGY Ltd. Country or region before: China |