CN112559482A - 一种基于分布式的二进制数据分类处理方法和*** - Google Patents
一种基于分布式的二进制数据分类处理方法和*** Download PDFInfo
- Publication number
- CN112559482A CN112559482A CN202011494936.6A CN202011494936A CN112559482A CN 112559482 A CN112559482 A CN 112559482A CN 202011494936 A CN202011494936 A CN 202011494936A CN 112559482 A CN112559482 A CN 112559482A
- Authority
- CN
- China
- Prior art keywords
- data
- binary
- fragment
- breakpoint
- byte
- 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.)
- Granted
Links
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式的二进制数据分类处理方法和***,方法包括:接收待分类的二进制文件以及与二进制文件对应的二进制格式配置文件;按照所述分片规格对二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号;对多个分片进行并行解析,生成对应每一分片的一组“数据类型‑数据内容”键值对;根据“数据类型‑数据内容”键值对,将相同数据类型的数据内容归为一类;将不同类别的数据内容写入不同的新的二进制文件中,完成二进制文件中二进制数据的分类处理。本发明实现对多种数据类型混合存储的二进制文件的快速解析分类。
Description
技术领域
本申请属于数据处理技术领域,具体涉及一种基于分布式的二进制数据分类处理方法和***。
背景技术
二进制文件是按二进制的编码方式来存放数据的文件。二进制数据存储具有存储速度快,占用空间小、具备一定保密性等优点;因此二进制数据也被广泛的应用于军事,加密等领域。随着二进制文件中数据量不断变大、数据种类不断增多、混合存储结构越来越复杂,对二进制文件中数据的分类解析的效率要求也越来越高。
现有的二进制数据分类方法多基于单个机器的串行式解析运算,该方法是对每个二进制文件从头到尾按序解析,该方法计算速度慢、效率低,当二进制文件达到GB或者TB级时要花费数天时间完成数据分析。
发明内容
本申请的目的在于提供一种基于分布式的二进制数据分类处理方法和***,实现对多种数据类型混合存储的二进制文件的快速解析分类。
为实现上述目的,本申请所采取的技术方案为:
一种基于分布式的二进制数据分类处理方法,用于雷达数据的分类存储,所述基于分布式的二进制数据分类处理方法,包括:
步骤1、接收待分类的二进制文件以及与所述二进制文件对应的二进制格式配置文件,所述二进制格式配置文件中包括分片规格、数据循环精度以及对应的二进制文件中存储的二进制数据的数据类型、每种数据类型对应的数据长度和数据格式;
步骤2、按照所述分片规格对所述二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号;
步骤3、对多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对;
步骤4、根据所述“数据类型-数据内容”键值对,将相同数据类型的数据内容归为一类;
步骤5、将不同类别的数据内容写入不同的新的二进制文件中,完成所述二进制文件中二进制数据的分类处理。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
作为优选,所述步骤3,对分片操作得到的多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,包括:
步骤3.1、确定每一分片中的预估断点;
步骤3.2、每一分片由所述预估断点起,根据二进制文件中每种数据类型对应的数据长度和数据格式,不断匹配数据长度和数据格式,提取出所述分片中的每一条二进制数据,根据每一条二进制数据的数据类型将每一条二进制数据映射为“数据类型-数据内容”键值对;
步骤3.3、取每一分片中的最后一条二进制数据,根据该二进制数据的末尾字节,确定当前分片对应的下一分片的真实断点。
作为优选,所述步骤3.1,确定每一分片中的预估断点,包括:
步骤3.1.1、若矫正标志未设置,则取多个分片中编号位于首位的分片作为首位分片,首位分片的第一个字节为预估断点,该预估断点同时为真实断点;若矫正标志已设置,则取首位分片中的真实断点,并更新预估断点为该真实断点;
步骤3.1.2、确定所述二进制文件中所有数据类型中的最大数据长度;
步骤3.1.3、除首位分片的其余分片,由分片的第一个字节开始向上一分片回推最大数据长度对应的字节数,将回推后确定的字节作为起始字节;
步骤3.1.4、根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节,并重新执行步骤3.1.4。
作为优选,所述步骤4还包括:
在所有数据内容分类完毕后,判断每一分片的预估断点和真实断点是否相同,若所有分片的预估断点和真实断点均相同,则继续执行步骤5;否则将首个预估断点和真实断点不相同的分片作为首位分片,设置矫正标志并获取首位分片以及其后的所有分片重新执行步骤3。
本发明还提供一种基于分布式的二进制数据分类处理***,用于雷达数据的分类存储,所述基于分布式的二进制数据分类处理***,包括:
数据输入单元,用于接收待分类的二进制文件以及与所述二进制文件对应的二进制格式配置文件,所述二进制格式配置文件中包括分片规格、数据循环精度以及对应的二进制文件中存储的二进制数据的数据类型、每种数据类型对应的数据长度和数据格式;
数据分片单元,用于按照所述分片规格对所述二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号;
数据解析单元,用于对多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对;
数据分类单元,用于根据所述“数据类型-数据内容”键值对,将相同数据类型的数据内容归为一类;
数据输出单元,用于将不同类别的数据内容写入不同的新的二进制文件中,完成所述二进制文件中二进制数据的分类处理。
作为优选,所述数据解析单元,对分片操作得到的多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,执行如下操作:
确定每一分片中的预估断点;
每一分片由所述预估断点起,根据二进制文件中每种数据类型对应的数据长度和数据格式,不断匹配数据长度和数据格式,提取出所述分片中的每一条二进制数据,根据每一条二进制数据的数据类型将每一条二进制数据映射为“数据类型-数据内容”键值对;
取每一分片中的最后一条二进制数据,根据该二进制数据的末尾字节,确定当前分片对应的下一分片的真实断点。
作为优选,所述数据解析单元,确定每一分片中的预估断点,执行如下操作:
若矫正标志未设置,则取多个分片中编号位于首位的分片作为首位分片,首位分片中的第一个字节为预估断点,该预估断点同时为真实断点;若矫正标志已设置,则取首位分片中的真实断点,并更新预估断点为该真实断点;
确定所述二进制文件中所有数据类型中的最大数据长度;
除首位分片的其余分片,由分片的第一个字节开始向上一分片回推最大数据长度对应的字节数,将回推后确定的字节作为起始字节;
根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节并重新进行匹配。
作为优选,所述数据分类单元,还用于执行如下操作:
在所有数据内容分类完毕后,判断每一分片的预估断点和真实断点是否相同,若所有分片的预估断点和真实断点均相同,则将分类完成的二进制数据发送至所数据输出单元;否则将首个预估断点和真实断点不相同的分片作为首位分片,设置矫正标志并获取首位分片以及其后的所有分片重新发送至所述数据解析单元进行解析。
本申请提供的基于分布式的二进制数据分类处理方法和***,对二进制文件中的所有二进制数据进行分片,并对所有分片并发进行解析,克服了现有技术中基于单个机器的串行式解析运算效率低的问题;同时对分片中的每一条二进制数据解析成“数据类型-数据内容”键值对的形式,以应对二进制文件中多种数据类型混合存储的解析,便于完成数据归类,整个分类处理方法效率高,准确性高。
附图说明
图1为本申请的基于分布式的二进制数据分类处理方法的流程图;
图2为本申请提供的确认预估断点的一种示意图;
图3为本申请的基于分布式的二进制数据分类处理***的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一个实施例中,提供一种基于分布式的二进制数据分类处理方法,对二进制文件进行并发解析,并且能够针对多数据类型混合存储的二进制文件进行高效准确的解析分类。本申请可用于对雷达数据的分类解析存储,尤其是针对数据类型复杂、格式多样的雷达数据,例如对预警机雷达的数据的分类存储,有助于后续快速提取、使用雷达数据。
需要说明的是,本申请的二进制数据分类处理方法优选应用于雷达数据的处理,但不限制为仅能够针对雷达数据的处理,对于需要进行二进制数据分类处理的其他应用场景可进行拓展应用,例如对串口输入的二进制数据的分析等。
如图1所示,本实施例基于分布式的二进制数据分类处理方法,包括:
步骤1、接收待分类的二进制文件以及与所述二进制文件对应的二进制格式配置文件,所述二进制格式配置文件中包括分片规格、数据循环精度以及对应的二进制文件中存储的二进制数据的数据类型、每种数据类型对应的数据长度和数据格式。
二进制文件和二进制格式配置文件存储在分布式文件***(HDFS)上,二进制格式配置文件作为对应的二进制文件的格式说明文件,可由专业人员根据二进制文件生成,也可以是根据二进制文件自动生成二进制格式配置文件。本申请重点不在于二进制格式配置文件的生成方式,因此对于二进制格式配置文件可直接读取应用,或直接读取二进制格式配置文件中存储的相关数据,无需加载二进制格式配置文件。
步骤2、按照所述分片规格对所述二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号。
步骤3、对多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对。
步骤4、根据所述“数据类型-数据内容”键值对,将相同数据类型的数据内容归为一类。
步骤5、将不同类别的数据内容写入不同的新的二进制文件中,完成所述二进制文件中二进制数据的分类处理。
本实施例对二进制文件中的所有二进制数据进行分片,并对所有分片并发进行解析,克服了现有技术中基于单个机器的串行式解析运算效率低的问题;同时对分片中的每一条二进制数据解析成“数据类型-数据内容”键值对的形式,以应对二进制文件中多种数据类型混合存储的解析,便于完成数据归类。
基于分布式***而言,各个分片和分配给分布式***的各个节点上并行处理,并且一次分配的分片数量根据分布式***的节点数据而定,并且基于本实施例的并行处理方式,原则上可以任意分配分片至任一节点上进行处理。
目前现有技术中对二进制数据的分类多采用串行处理方式的一个原因是受限于处理设备或处理成本,另一个重要原因是并行处理时,难以确定每一分片的第一个有效二进制数据的第一个字节(本申请称为断点)。不同于文本数据二进制数据没有“换行”标识,无法确知在分片结尾时,一个数据类型的二进制数据有多少个字节被“分割”在下一分片,所以也就难以直接确认这个分片的断点在哪里。
而本申请针对上述难点,提供一种可行的数据并行解析方式如下:
步骤3中,对分片操作得到的多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,包括:
步骤3.1、确定每一分片中的预估断点。
步骤3.2、每一分片由所述预估断点起,根据二进制文件中每种数据类型对应的数据长度和数据格式,不断匹配数据长度和数据格式,提取出所述分片中的每一条二进制数据,根据每一条二进制数据的数据类型将每一条二进制数据映射为“数据类型-数据内容”键值对。
步骤3.3、取每一分片中的最后一条二进制数据,根据该二进制数据的末尾字节,确定当前分片对应的下一分片的真实断点。
每一分片中的最后一条二进制数据的末尾字节为当前分片的最后一个字节或者是下一分片的某一字节,因此可根据该二进制数据的末尾字节准确得到下一分片对应的真实断点,即确定真实断点位于上一分片中最后一条二进制数据的末尾字节与该末尾字节对应的下一字节之间。
本实施例在解析处理过程中,提出了预估断点和真实断点的概念,其中预估断点可以直接指定每一分片的第一个字节作为预估断点,但由于分片的随机性,导致该方式所确认的预估断点与真实断点的相符性较低,因此本实施例提供一种有效的预估断点确认方式如下。
步骤3.1中确定每一分片中的预估断点,包括:
步骤3.1.1、若矫正标志未设置,则取多个分片中编号位于首位的分片作为首位分片,首位分片中的第一个字节为预估断点,该预估断点同时为真实断点;若矫正标志已设置,则取首位分片中的真实断点,并更新预估断点为该真实断点;
步骤3.1.2、确定所述二进制文件中所有数据类型中的最大数据长度;
步骤3.1.3、除首位分片的其余分片,由分片的第一个字节开始向上一分片回推最大数据长度对应的字节数,将回推后确定的字节作为起始字节;
步骤3.1.4、根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节,并重新执行步骤3.1.4。
本实施例中确认预估断点时,按照最大数据长度回推至上一分片,并且从回推后确定的字节开始一一匹配数据,从而确定预估断点,该方式利用回溯形式确认预估断点,通过对字节的一一匹配,得到准确性较高的预估断点的位置。
如图2所示,为了便于对本实施例预估断点确认方式的理解,结合附图进一步说明:分片时将0~128M作为第一个分片,128~256M作为第二个分片,要确认第二个分片的预估断点时,首先根据二进制格式配置文件得知二进制数据中长度最长的数据类型有22Byte,则将指针从分片头先向前跳22个Byte然后开始解析,针对第一个起始字节,一一根据各数据类型的数据长度和数据格式获取起始字节后的对应位数的字节校验格式,若校验成功,则确认一个有效二进制数据,并从该有效二进制数据的下一个字节开始进行获取校验;若针对起始字节循环所有数据类型后无匹配数据类型,则取下一字节作为起始字节。
在匹配校验中,若由起始字节向后解析6个字节都未发现定义的数据类型,当从第7个字节开始向后解析时发现该数据属于已定义的数据类型01,数据长度为22。然后将指针向后解析发现符合连续10个数据都属于已定义的类型,但是断点的位置不在需要处理的分片内,则根据当前10个数据类型指针继续向后查找,直到找到第一个起始位置在分片内部的二进制数据,将这个二进制数据的起始位置设置为分片的“断点”。
由于不同数据类型的二进制数据的长度可能相同并且格式相似度较高,在这种情况下,可能会出现某几次数据类型匹配错误的情况,为了克服这种情况,本实施例设置了数据循环精度,即由起始字节开始需要连续匹配一定数量的符合格式的二进制数据才能将该起始字节作为预估断点,由此提升本申请分类处理方法对多数据类型混合存储的二进制文件的分类效果。
由于预估断点影响对该二进制文件的解析次数,因此提升预估断点寻找准确性的同时,还可以减少对二进制文件的重解析次数,提升分类处理效率。
对应于该预估断点确认方式,本申请在进行分片操作时,为了便于追溯上下分片之间的数据关系,不真正将二进制文件分为多个分片,而是将二进制文件中的数据分为多段,每段作为一个分片对应一个编号,因此对于每一分片而言,其实质为基于整个二进制文件并指向二进制文件中的某一段数据内容,即原理上进行了分片,物理意义上还是整个二进制文件。
当然,预估断点的确认方式还可以基于上述实施例进行形变,例如,每一分片的第一个字节开始作为起始字节,根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节,重新进行匹配。
为了避免数据分类错误导致后续对分类文件应用产生问题,本实施例利用真实断点对预估断点进行验证,验证步骤如下。
本实施例的二进制数据分类处理方法中步骤4还包括:
在所有数据内容分类完毕后,判断每一分片的预估断点和真实断点是否相同,若所有分片的预估断点和真实断点均相同,则继续执行步骤5;否则将首个预估断点和真实断点不相同的分片作为首位分片,设置矫正标志并获取首位分片以及其后的所有分片重新执行步骤3。
设置矫正标志即表示第一次对数据的分类存在错误,需要重新进行分类,由于第一个分片的预估断点一定是真实断点,因此解析后由第一个断点确认的第二个分片的真实断点一定是正确的,以此类推,若某一分片的预估断点与真实断点不相同时,则将会导致该分片以及后续分片的预估断点和解析均产生错误,从而需要根据真实断点进行纠错。
为了简化纠错步骤,对预估断点和真实断点相同的分片无需重新进行解析,本实施例将首个预估断点和真实断点不相同的分片作为首位分片可降低程序运行的冗余性,提高分类效率。
对于纠错步骤而言,若10个分片中,第3个分片出现预估断点和真实断点不相同,则默认第3~10个分片解析均出错,因此将第3个分片作为新的首位分片,将根据第2个分片的解析得到的第3个分片的真实断点作为第3个分片的预估断点,进行第3~10个分片的重新解析,解析完成后继续根据本次解析的新的预估断点和真实断点进行判断,实现一次次判断纠错,保证本申请对数据分类的可靠性和有效性。
在另一实施例中,还提供一种基于分布式的二进制数据分类处理***,用于雷达数据的分类存储,如图3所示,本实施例的基于分布式的二进制数据分类处理***,包括:
数据输入单元,用于接收待分类的二进制文件以及与所述二进制文件对应的二进制格式配置文件,所述二进制格式配置文件中包括分片规格、数据循环精度以及对应的二进制文件中存储的二进制数据的数据类型、每种数据类型对应的数据长度和数据格式。
数据分片单元,用于按照所述分片规格对所述二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号。这些分片将在分布式集群各个节点给数据解析单元进行解析。
数据解析单元,用于对多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,该过程是完全并行执行的,大大提高了程序的运行效率。
数据分类单元,用于根据所述“数据类型-数据内容”键值对,将相同数据类型的数据内容归为一类。
数据输出单元,用于将不同类别的数据内容写入不同的新的二进制文件中,完成所述二进制文件中二进制数据的分类处理。
与所述基于分布式的二进制数据分类处理方法相对应的,在另一实施例中,所述数据解析单元,对分片操作得到的多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,执行如下操作:
确定每一分片中的预估断点;
每一分片由所述预估断点起,根据二进制文件中每种数据类型对应的数据长度和数据格式,不断匹配数据长度和数据格式,提取出所述分片中的每一条二进制数据,根据每一条二进制数据的数据类型将每一条二进制数据映射为“数据类型-数据内容”键值对;
取每一分片中的最后一条二进制数据,根据该二进制数据的末尾字节,确定当前分片对应的下一分片的真实断点。
在另一实施例中,所述数据解析单元,确定每一分片中的预估断点,执行如下操作:
若矫正标志未设置,则取多个分片中编号位于首位的分片作为首位分片,首位分片中的第一个字节为预估断点,该预估断点同时为真实断点;若矫正标志已设置,则取首位分片中的真实断点,并更新预估断点为该真实断点;
确定所述二进制文件中所有数据类型中的最大数据长度;
除首位分片的其余分片,由分片的第一个字节开始向上一分片回推最大数据长度对应的字节数,将回推后确定的字节作为起始字节;
根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节并重新进行匹配。
在另一实施例中,所述数据分类单元,还用于执行如下操作:
在所有数据内容分类完毕后,判断每一分片的预估断点和真实断点是否相同,若所有分片的预估断点和真实断点均相同,则将分类完成的二进制数据发送至所数据输出单元;否则将首个预估断点和真实断点不相同的分片作为首位分片,设置矫正标志并获取首位分片以及其后的所有分片重新发送至所述数据解析单元进行解析。
关于基于分布式的二进制数据分类处理***的具体限定可以参见上文中对于基于分布式的二进制数据分类处理方法的限定,在此不再赘述。
上述基于分布式的二进制数据分类处理***中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于分布式的二进制数据分类处理方法,用于雷达数据的分类存储,其特征在于,所述基于分布式的二进制数据分类处理方法,包括:
步骤1、接收待分类的二进制文件以及与所述二进制文件对应的二进制格式配置文件,所述二进制格式配置文件中包括分片规格、数据循环精度以及对应的二进制文件中存储的二进制数据的数据类型、每种数据类型对应的数据长度和数据格式;
步骤2、按照所述分片规格对所述二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号;
步骤3、对多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对;
步骤4、根据所述“数据类型-数据内容”键值对,将相同数据类型的数据内容归为一类;
步骤5、将不同类别的数据内容写入不同的新的二进制文件中,完成所述二进制文件中二进制数据的分类处理。
2.如权利要求1所述的基于分布式的二进制数据分类处理方法,其特征在于,所述步骤3,对分片操作得到的多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,包括:
步骤3.1、确定每一分片中的预估断点;
步骤3.2、每一分片由所述预估断点起,根据二进制文件中每种数据类型对应的数据长度和数据格式,不断匹配数据长度和数据格式,提取出所述分片中的每一条二进制数据,根据每一条二进制数据的数据类型将每一条二进制数据映射为“数据类型-数据内容”键值对;
步骤3.3、取每一分片中的最后一条二进制数据,根据该二进制数据的末尾字节,确定当前分片对应的下一分片的真实断点。
3.如权利要求2所述的基于分布式的二进制数据分类处理方法,其特征在于,所述步骤3.1,确定每一分片中的预估断点,包括:
步骤3.1.1、若矫正标志未设置,则取多个分片中编号位于首位的分片作为首位分片,首位分片的第一个字节为预估断点,该预估断点同时为真实断点;若矫正标志已设置,则取首位分片中的真实断点,并更新预估断点为该真实断点;
步骤3.1.2、确定所述二进制文件中所有数据类型中的最大数据长度;
步骤3.1.3、除首位分片的其余分片,由分片的第一个字节开始向上一分片回推最大数据长度对应的字节数,将回推后确定的字节作为起始字节;
步骤3.1.4、根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节,并重新执行步骤3.1.4。
4.如权利要求2所述的基于分布式的二进制数据分类处理方法,其特征在于,所述步骤4还包括:
在所有数据内容分类完毕后,判断每一分片的预估断点和真实断点是否相同,若所有分片的预估断点和真实断点均相同,则继续执行步骤5;否则将首个预估断点和真实断点不相同的分片作为首位分片,设置矫正标志并获取首位分片以及其后的所有分片重新执行步骤3。
5.一种基于分布式的二进制数据分类处理***,用于雷达数据的分类存储,其特征在于,所述基于分布式的二进制数据分类处理***,包括:
数据输入单元,用于接收待分类的二进制文件以及与所述二进制文件对应的二进制格式配置文件,所述二进制格式配置文件中包括分片规格、数据循环精度以及对应的二进制文件中存储的二进制数据的数据类型、每种数据类型对应的数据长度和数据格式;
数据分片单元,用于按照所述分片规格对所述二进制文件中的二进制数据进行分片操作,得到多个分片并对所有分片进行顺序编号;
数据解析单元,用于对多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对;
数据分类单元,用于根据所述“数据类型-数据内容”键值对,将相同数据类型的数据内容归为一类;
数据输出单元,用于将不同类别的数据内容写入不同的新的二进制文件中,完成所述二进制文件中二进制数据的分类处理。
6.如权利要求5所述的基于分布式的二进制数据分类处理***,其特征在于,所述数据解析单元,对分片操作得到的多个分片进行并行解析,生成对应每一分片的一组“数据类型-数据内容”键值对,执行如下操作:
确定每一分片中的预估断点;
每一分片由所述预估断点起,根据二进制文件中每种数据类型对应的数据长度和数据格式,不断匹配数据长度和数据格式,提取出所述分片中的每一条二进制数据,根据每一条二进制数据的数据类型将每一条二进制数据映射为“数据类型-数据内容”键值对;
取每一分片中的最后一条二进制数据,根据该二进制数据的末尾字节,确定当前分片对应的下一分片的真实断点。
7.如权利要求6所述的基于分布式的二进制数据分类处理***,其特征在于,所述数据解析单元,确定每一分片中的预估断点,执行如下操作:
若矫正标志未设置,则取多个分片中编号位于首位的分片作为首位分片,首位分片中的第一个字节为预估断点,该预估断点同时为真实断点;若矫正标志已设置,则取首位分片中的真实断点,并更新预估断点为该真实断点;
确定所述二进制文件中所有数据类型中的最大数据长度;
除首位分片的其余分片,由分片的第一个字节开始向上一分片回推最大数据长度对应的字节数,将回推后确定的字节作为起始字节;
根据二进制文件中每种数据类型对应的数据长度和数据格式,从起始字节开始连续匹配数据长度和数据格式,若连续匹配到的二进制数据的条数大于等于所述数据循环精度,则设置起始字节为预估断点;否则设置起始字节的下一字节作为起始字节并重新进行匹配。
8.如权利要求6所述的基于分布式的二进制数据分类处理***,其特征在于,所述数据分类单元,还用于执行如下操作:
在所有数据内容分类完毕后,判断每一分片的预估断点和真实断点是否相同,若所有分片的预估断点和真实断点均相同,则将分类完成的二进制数据发送至所数据输出单元;否则将首个预估断点和真实断点不相同的分片作为首位分片,设置矫正标志并获取首位分片以及其后的所有分片重新发送至所述数据解析单元进行解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011494936.6A CN112559482B (zh) | 2020-12-17 | 2020-12-17 | 一种基于分布式的二进制数据分类处理方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011494936.6A CN112559482B (zh) | 2020-12-17 | 2020-12-17 | 一种基于分布式的二进制数据分类处理方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559482A true CN112559482A (zh) | 2021-03-26 |
CN112559482B CN112559482B (zh) | 2022-10-14 |
Family
ID=75062908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011494936.6A Active CN112559482B (zh) | 2020-12-17 | 2020-12-17 | 一种基于分布式的二进制数据分类处理方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559482B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535461A (zh) * | 2021-06-09 | 2021-10-22 | 卡斯柯信号(成都)有限公司 | 一种基于配置文件的联锁下位机数据可视化校验方法 |
CN114818656A (zh) * | 2022-06-30 | 2022-07-29 | 深圳华锐分布式技术股份有限公司 | 基于灰度升级的二进制文件解析方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150356094A1 (en) * | 2014-06-04 | 2015-12-10 | Waterline Data Science, Inc. | Systems and methods for management of data platforms |
CN110532237A (zh) * | 2019-09-05 | 2019-12-03 | 恒生电子股份有限公司 | 格式数据文件的并发处理方法、装置及*** |
CN111767340A (zh) * | 2020-05-29 | 2020-10-13 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备和介质 |
WO2020243846A1 (en) * | 2019-06-06 | 2020-12-10 | Bear Health Technologies Inc. | System and method for automated file reporting |
-
2020
- 2020-12-17 CN CN202011494936.6A patent/CN112559482B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150356094A1 (en) * | 2014-06-04 | 2015-12-10 | Waterline Data Science, Inc. | Systems and methods for management of data platforms |
WO2020243846A1 (en) * | 2019-06-06 | 2020-12-10 | Bear Health Technologies Inc. | System and method for automated file reporting |
CN110532237A (zh) * | 2019-09-05 | 2019-12-03 | 恒生电子股份有限公司 | 格式数据文件的并发处理方法、装置及*** |
CN111767340A (zh) * | 2020-05-29 | 2020-10-13 | 中国工商银行股份有限公司 | 数据处理方法、装置、电子设备和介质 |
Non-Patent Citations (1)
Title |
---|
吴恒等: "面向航空制造业的海量数据处理研究", 《机械设计与制造工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535461A (zh) * | 2021-06-09 | 2021-10-22 | 卡斯柯信号(成都)有限公司 | 一种基于配置文件的联锁下位机数据可视化校验方法 |
CN113535461B (zh) * | 2021-06-09 | 2023-10-24 | 卡斯柯信号(成都)有限公司 | 一种基于配置文件的联锁下位机数据可视化校验方法 |
CN114818656A (zh) * | 2022-06-30 | 2022-07-29 | 深圳华锐分布式技术股份有限公司 | 基于灰度升级的二进制文件解析方法、装置、设备及介质 |
CN114818656B (zh) * | 2022-06-30 | 2022-09-23 | 深圳华锐分布式技术股份有限公司 | 基于灰度升级的二进制文件解析方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112559482B (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3678346B1 (en) | Blockchain smart contract verification method and apparatus, and storage medium | |
CN108961052B (zh) | 区块链数据的验证方法、存储方法、装置、设备和介质 | |
US9377959B2 (en) | Data storage method and apparatus | |
CN109558525B (zh) | 一种测试数据集的生成方法、装置、设备和存储介质 | |
CN111352907A (zh) | 流水文件解析方法、装置、计算机设备和存储介质 | |
CN112559482B (zh) | 一种基于分布式的二进制数据分类处理方法和*** | |
CN107992492B (zh) | 一种数据区块的存储方法、读取方法、其装置及区块链 | |
CN113946546B (zh) | 异常检测方法、计算机存储介质及程序产品 | |
CN111159497A (zh) | 正则表达式的生成方法及基于正则表达式的数据提取方法 | |
CN114647698A (zh) | 数据同步方法、装置及计算机存储介质 | |
CN110796060B (zh) | 高速行车路线确定方法、装置、设备和存储介质 | |
US9213759B2 (en) | System, apparatus, and method for executing a query including boolean and conditional expressions | |
CN113568836A (zh) | 多时间序列的样本特征提取方法以应用其的软件检测方法 | |
CN116126997B (zh) | 一种文献去重存储方法、***、设备及存储介质 | |
CN107943849B (zh) | 视频文件的检索方法及装置 | |
CN108304467B (zh) | 用于文本间匹配的方法 | |
CN108073709B (zh) | 一种数据记录的操作方法、装置、设备和存储介质 | |
CN114579580A (zh) | 存储数据的方法、查询数据的方法和装置 | |
CN112737831A (zh) | 一种固件升级包处理方法、装置、电子设备和存储介质 | |
CN109840080B (zh) | 字符属性比较方法、装置、存储介质及电子设备 | |
CN110889017A (zh) | 一种经过base64加密过的信息的检索方法及终端 | |
CN111399759A (zh) | 读数据、写数据的方法、以及对象文件*** | |
CN113741821B (zh) | 基于分类的数据存取方法、***、介质及程序 | |
Maabreh et al. | A multithreading and hashing technique for indexing Target‐Decoy peptides databases | |
CN117271440B (zh) | 一种基于freeRTOS文件信息存储方法、读取方法及相关设备 |
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 |