CN112612427B - 一种车辆停靠点数据处理方法、装置、存储介质及终端 - Google Patents
一种车辆停靠点数据处理方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN112612427B CN112612427B CN202011627410.0A CN202011627410A CN112612427B CN 112612427 B CN112612427 B CN 112612427B CN 202011627410 A CN202011627410 A CN 202011627410A CN 112612427 B CN112612427 B CN 112612427B
- Authority
- CN
- China
- Prior art keywords
- data
- serialized
- actual stop
- pickle
- actual
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种车辆停靠点数据处理方法、装置、存储介质及终端,该方法包括:获取待处理车辆停靠点的数据字典;将数据字典中字段元信息输入预先创建的Pickle对象中进行序列化;将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中进行序列化;将序列化后的字段元信息与序列化后的实际停靠点进行保存。因此,采用本申请实施例,由于本申请将数据字典中车辆实际停靠点的数据转换成数组格式,并通过批量获取转换数组格式后的车辆实际停靠点数据进行Pickle序列化,从而可以实现使用较少的资源,实现海量数据的高效存储和快速解析。
Description
技术领域
本发明涉及大数据处理技术领域,特别涉及一种车辆停靠点数据处理方法、装置、存储介质及终端。
背景技术
目前随着车辆的不断增多,车辆定位设备上报的停靠点数据呈现指数级别的增加,当需要使用海量的停靠点数据时,需要对停靠点数据进行对象序列化操作,对象序列化是指将对象的状态信息转换为可以存储的形式的过程;在序列化期间,对象将其当前状态写入到内存或本地硬盘中;在需要时,可以通过从内存或本地硬盘中读取或反序列化对象的状态,并重新创建该对象。
现有技术中,对海量停靠点数据进行对象序列化的方法分为两种,第一种是通过调用序列化函数,把需要操作的海量停靠点数据拷贝到一个内存当中,然后再把这个内存数据通过写文件的方式,存储在硬盘当中,且该序列化过程中存储文件格式为json文件格式或xml文件格式。由于json文件格式或xml文件格式属于文本流格式,在存储时包含有一定的规则,导致文件存储的内容要比实际的内容大很多,进而使得在写入文件时速度变慢,且占用更多的硬盘空间,从而降低了数据存储和解析的速度,进一步降低了用户体验度。
因此,如何找到一种有效的方法,实现高效率找车找货为亟待解决的问题。
发明内容
本申请实施例提供了一种车辆停靠点数据处理方法、装置、存储介质及终端。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种车辆停靠点数据处理方法,方法包括:
获取待处理车辆停靠点的数据字典;
采用Pickle协议定义Pickle对象;其中,Pickle对象用于实现序列化操作;
将数据字典中字段元信息输入Pickle对象中,生成序列化后的字段元信息;
将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点;
将序列化后的字段元信息与序列化后的实际停靠点进行保存。
可选的,将序列化后的字段元信息与序列化后的实际停靠点进行保存,包括:
计算序列化后的字段元信息与序列化后的实际停靠点所占内存大小;
基于所占内存大小创建本地硬盘文件;
将序列化后的字段元信息与序列化后的实际停靠点输入创建的本地硬盘文件中进行保存。
可选的,方法还包括:
当需要对序列化后的字段元信息与序列化后的实际停靠点进行反序列化操作时,通过内存映射函数调用序列化后的字段元信息与序列化后的实际停靠点进行处理后生成内存操作文件描述符;
从pickle协议库中调用数据读取函数和反序列化函数;
基于内存操作文件描述符和数据读取函数从保存的硬盘文件中读取停靠点字段标识;
基于内存操作文件描述符和数据读取函数从保存的硬盘文件中循环读取预设数量的实际停靠点数据;
基于反序列化函数将字段标识与实际停靠点数据进行反序列化操作,生成车辆停靠点的数组集合;
将车辆停靠点的数组集合转换为数据字典格式,生成待处理车辆停靠点的数据字典。
可选的,将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合,包括:
从待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据;
将循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
可选的,从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点之后,还包括:
调用realloc函数动态调整定义的Pickle对象。
第二方面,本申请实施例提供了一种车辆停靠点数据处理装置,装置包括:
数据字段获取模块,用于获取待处理车辆停靠点的数据字典;
Pickle对象定义模块,用于采用Pickle协议定义Pickle对象;其中,Pickle对象用于实现序列化操作;
字段元信息序列化模块,用于将数据字典中字段元信息输入Pickle对象中,生成序列化后的字段元信息;
数据转换模块,用于将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
实际停靠点的数组集合序列化模块,用于从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点;
序列化数据保存模块,用于将序列化后的字段元信息与序列化后的实际停靠点进行保存。
可选的,序列化数据保存模块,包括:
内存大小计算单元,用于计算序列化后的字段元信息与序列化后的实际停靠点所占内存大小;
硬盘文件创建单元,用于基于所占内存大小创建本地硬盘文件;
序列化数据保存单元,将序列化后的字段元信息与序列化后的实际停靠点输入创建的本地硬盘文件中进行保存。
可选的,数据转换模块,包括:
数据获取单元,用于从待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据;
数据转换单元,用于将循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
第三方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,车辆停靠点数据处理装置首先获取待处理车辆停靠点的数据字典,然后将数据字典中字段元信息输入预先创建的Pickle对象中进行序列化,再将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合,再从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中进行序列化,最后将序列化后的字段元信息与序列化后的实际停靠点进行保存。因此,采用本申请实施例,由于本申请将数据字典中车辆实际停靠点的数据转换成数组格式,并通过批量获取转换数组格式后的车辆实际停靠点数据进行Pickle序列化,从而可以实现使用较少的资源,实现海量数据的高效存储和快速解析。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种车辆停靠点数据处理方法的流程示意图;
图2是本申请实施例提供的一种数据转换格式前后的示意图;
图3是本申请实施例提供的一种利用车辆停靠点数据处理过程的过程示意框图;
图4是本申请实施例提供的一种车辆停靠点数据处理装置的装置示意图;
图5是本申请实施例提供的一种序列化数据保存模块的模块示意图;
图6是本申请实施例提供的一种数据转换模块的模块示意图;
图7是本申请实施例提供的一种终端示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
到目前为止,现有技术中,对海量停靠点数据进行对象序列化的方法分为两种,第一种是通过调用序列化函数,把需要操作的海量停靠点数据拷贝到一个内存当中,然后再把这个内存数据通过写文件的方式,存储在硬盘当中,且该序列化过程中存储文件格式为json文件格式或xml文件格式。由于json文件格式或xml文件格式属于文本流格式,在存储时包含有一定的规则,导致文件存储的内容要比实际的内容大很多,进而使得在写入文件时速度变慢,且占用更多的硬盘空间,从而降低了数据存储和解析的速度,进一步降低了用户体验度。为此,本申请提供了一种车辆停靠点数据处理方法、装置、存储介质及终端,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,由于本申请将数据字典中车辆实际停靠点的数据转换成数组格式,并通过批量获取转换数组格式后的车辆实际停靠点数据进行Pickle序列化,从而可以实现使用较少的资源,实现海量数据的高效存储和快速解析,下面采用示例性的实施例进行详细说明。
下面将结合附图1-附图3,对本申请实施例提供的车辆停靠点数据处理方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的车辆停靠点数据处理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图1,为本申请实施例提供了一种车辆停靠点数据处理方法的流程示意图。如图1所示,本申请实施例的方法可以包括以下步骤:
S101,获取待处理车辆停靠点的数据字典;
其中,数据字典为对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。在本申请中可以看作保存车辆停靠点数据的数据库中的数据表结构,例如表1所示。
表1
通常,在本申请实施例中,车辆的停靠点是根据车辆GPS位置点进行分析后保存在数据库中进行存储的,每个车辆的停靠点是海量的,当对数据库中车辆的停靠点进行处理时,常规的数据处理方式难以承受海量的数据。
在一种可能的实现方式中,当对车辆数据字典中的停靠点数据进行处理时,首先需要获取到该车辆在数据库中停靠点的数据字典,该数据字典中保存了车辆每个停靠点的数据。
S102,采用Pickle协议定义Pickle对象;其中,Pickle对象用于实现序列化操作;
其中,pickle协议模块是对对象结构进行二进制序列化和反序列化的协议实现,就是把数据变成流的形式。
在一种可能的实现方式中,在基于步骤S101获取到车辆的数据字典后,进行序列化时,首先需要采用pickle协议创建一个Pickle对象,该Pickle对象可以实现序列化的操作。
在本申请实施例中,采用Pickle对象序列化数据,从而优化了数据存储格式和结构,使得处理速度比传统快6倍以上。采用Pickle对象进行序列化时,可以减少大量序列化的冗余信息,使得序列化后的文件大小仅为直接进行序列化文件大小的1/3。同时由于pickle协议使用二进制格式,底层使用c原生语言处理,以及采用生成器的方式使用内存,使得系统的cpu和内存占用将低。
S103,将数据字典中字段元信息输入Pickle对象中,生成序列化后的字段元信息;
其中,字段元信息为表1中的字段名。
通常,序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
在一种可能的实现方式中,在创建好Pickle对象后,从车辆停靠点数据字典中获取字段元信息,字段元信息例如表1中的经度值、纬度值、上报时间以及所属路段,将元信息输入Pickle对象进行序列化操作,将车辆停靠点数据字典中的字段名转换为可以存储或传输的字节形式。
S104,将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
其中,数据字典中的实际停靠点数据为表1中的第一个停靠点到第n个停靠点对应的横向数据,该数据为每个停靠点的真实数据,可根据真实数据知道停靠点的位置信息和停靠时刻。数组为数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。
在本申请实施例中,在对数据格式进行转换时,从待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据,然后将循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
在一种可能的实现方式中,将车辆停靠点的数据字典中字段元信息序列化结束后,然后获取车辆停靠点的真实数据描述,最后将每个停靠点的真实数据描述转换成数组的格式,生成实际停靠点的数组集合。
例如图2所示,为目前处理数据时的数据格式和本申请转换后的数组格式的数据格式,旧协议数据处理格式为目前现有技术处理时的数据格式,新协议数据格式为本申请采用Pickle协议下的数据格式。可以看出,在旧协议数据格式中,每个字段对应一个数据,本申请新协议数据格式下,将元数据(字段元信息)转换为一个数组,然后每个字段对应的真实数据为一个数组。
S105,从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点;
在一种可能的实现方式中,在将车辆停靠点的真实数据转化为数据形式后,通过批量获取的方式从转换后的数组中循环获取批量的数组输入Pickle对象中进行序列化,从而得到序列化后的实际停靠点。
在本申请实施例中,将车辆停靠点数据元信息和数据真实信息分开进行序列化,并将真实数据的数据字典格式转化为数组格式后采用批量循环获取的方式进行序列化,使得序列化后的文件大小和解析速度都有显著提高,同时也方便现有工具进行存储和解析。
进一步地,在生成序列化后的实际停靠点后,还需要调用realloc函数动态调整定义的Pickle对象。
S106,将序列化后的字段元信息与序列化后的实际停靠点进行保存。
在一种可能的实现方式中,在进行保存时,首先计算序列化后的字段元信息与序列化后的实际停靠点所占内存大小,然后基于所占内存大小创建本地硬盘文件,最后将序列化后的字段元信息与序列化后的实际停靠点输入创建的本地硬盘文件中进行保存。
进一步地,在对序列化后的字段元信息与序列化后的实际停靠点进行反序列化时,首先通过内存映射函数调用序列化后的字段元信息与序列化后的实际停靠点进行处理后生成内存操作文件描述符,再从pickle协议库中调用数据读取函数和反序列化函数,然后基于内存操作文件描述符和数据读取函数从保存的硬盘文件中读取停靠点字段标识,再基于内存操作文件描述符和数据读取函数从保存的硬盘文件中循环读取预设数量的实际停靠点数据,再基于反序列化函数将字段标识与实际停靠点数据进行反序列化操作,生成车辆停靠点的数组集合,最后将车辆停靠点的数组集合转换为数据字典格式,生成待处理车辆停靠点的数据字典。
其中,反序列化就是把序列化后的数据重新还原到初始状态。
例如图3所示,图3为本申请提供的一种车辆停靠点数据进行序列化和反序列化的过程示意图,首先开始时获取车辆停靠点的数据字典,数据字典中保存了海量停靠点数据,然后采用pickle对象将数据字典中的多个字段信息(即字段元信息)进行序列化,再从数据字典中抽取实际停车点实际转换为数组格式,再通过批量获取的方式循环获取转换后的数组数据进行序列化,最后生成序列化后的实际停靠点数据。
在得到序列化后的字段元信息和实际停靠点数据后,将序列化后的字段元信息和实际停靠点数据进行保存。
当需要对序列化后的字段元信息和实际停靠点数据进行反序列化操作时,首先进行数据内存文件映射,然后通过pickle反序列化上述序列化的字段元信息,当文件没有结束时,逐条批量读取序列化后的真实停靠点数据进行反序列化生成数组格式的数据,最后根据反序列化的字段信息,将数组格式的数据转换成数据字典格式的数据。
在本申请实施例中,车辆停靠点数据处理装置首先获取待处理车辆停靠点的数据字典,然后将数据字典中字段元信息输入预先创建的Pickle对象中进行序列化,再将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合,再从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中进行序列化,最后将序列化后的字段元信息与序列化后的实际停靠点进行保存。因此,采用本申请实施例,由于本申请将数据字典中车辆实际停靠点的数据转换成数组格式,并通过批量获取转换数组格式后的车辆实际停靠点数据进行Pickle序列化,从而可以实现使用较少的资源,实现海量数据的高效存储和快速解析。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图4,其示出了本发明一个示例性实施例提供的车辆停靠点数据处理装置的结构示意图。该车辆停靠点数据处理装置可以通过软件、硬件或者两者的结合实现成为智能机器人的全部或一部分。该装置1包括数据字段获取模块10、Pickle对象定义模块20、字段元信息序列化模块30、数据转换模块40、实际停靠点的数组集合序列化模块50、序列化数据保存模块60。
数据字段获取模块10,用于获取待处理车辆停靠点的数据字典;
Pickle对象定义模块20,用于采用Pickle协议定义Pickle对象;其中,Pickle对象用于实现序列化操作;
字段元信息序列化模块30,用于将数据字典中字段元信息输入Pickle对象中,生成序列化后的字段元信息;
数据转换模块40,用于将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
实际停靠点的数组集合序列化模块50,用于从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点;
序列化数据保存模块60,用于将序列化后的字段元信息与序列化后的实际停靠点进行保存。
可选的,如图5所示,序列化数据保存模块60,包括:
内存大小计算单元601,用于计算序列化后的字段元信息与序列化后的实际停靠点所占内存大小;
硬盘文件创建单元602,用于基于所占内存大小创建本地硬盘文件;
序列化数据保存单元,将序列化后的字段元信息与序列化后的实际停靠点输入创建的本地硬盘文件中进行保存。
可选的,如图6所示,数据转换模块40,包括:
数据获取单元401,用于从待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据;
数据转换单元402,用于将循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
需要说明的是,上述实施例提供的车辆停靠点数据处理装置在执行车辆停靠点数据处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的车辆停靠点数据处理装置与车辆停靠点数据处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,车辆停靠点数据处理装置首先获取待处理车辆停靠点的数据字典,然后将数据字典中字段元信息输入预先创建的Pickle对象中进行序列化,再将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合,再从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中进行序列化,最后将序列化后的字段元信息与序列化后的实际停靠点进行保存。因此,采用本申请实施例,由于本申请将数据字典中车辆实际停靠点的数据转换成数组格式,并通过批量获取转换数组格式后的车辆实际停靠点数据进行Pickle序列化,从而可以实现使用较少的资源,实现海量数据的高效存储和快速解析。
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的车辆停靠点数据处理方法。
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例的车辆停靠点数据处理方法。
请参见图7,为本申请实施例提供了一种终端的结构示意图。如图7所示,终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及车辆停靠点数据处理应用程序。
在图7所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的车辆停靠点数据处理应用程序,并具体执行以下操作:
获取待处理车辆停靠点的数据字典;
采用Pickle协议定义Pickle对象;其中,Pickle对象用于实现序列化操作;
将数据字典中字段元信息输入Pickle对象中,生成序列化后的字段元信息;
将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点;
将序列化后的字段元信息与序列化后的实际停靠点进行保存。
在一个实施例中,处理器1001在执行将序列化后的字段元信息与序列化后的实际停靠点进行保存时,具体执行以下操作:
计算序列化后的字段元信息与序列化后的实际停靠点所占内存大小;
基于所占内存大小创建本地硬盘文件;
将序列化后的字段元信息与序列化后的实际停靠点输入创建的本地硬盘文件中进行保存。
在一个实施例中,处理器1001还执行以下操作:
当需要对序列化后的字段元信息与序列化后的实际停靠点进行反序列化操作时,通过内存映射函数调用序列化后的字段元信息与序列化后的实际停靠点进行处理后生成内存操作文件描述符;
从pickle协议库中调用数据读取函数和反序列化函数;
基于内存操作文件描述符和数据读取函数从保存的硬盘文件中读取停靠点字段标识;
基于内存操作文件描述符和数据读取函数从保存的硬盘文件中循环读取预设数量的实际停靠点数据;
基于反序列化函数将字段标识与实际停靠点数据进行反序列化操作,生成车辆停靠点的数组集合;
将车辆停靠点的数组集合转换为数据字典格式,生成待处理车辆停靠点的数据字典。
在一个实施例中,处理器1001在执行将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合时,具体执行以下操作:
从待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据;
将循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
在一个实施例中,处理器1001在执行从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中,生成序列化后的实际停靠点之后时,还执行以下操作:
调用realloc函数动态调整定义的Pickle对象。
在本申请实施例中,车辆停靠点数据处理装置首先获取待处理车辆停靠点的数据字典,然后将数据字典中字段元信息输入预先创建的Pickle对象中进行序列化,再将待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合,再从实际停靠点的数组集合中循环获取预设数量的数组输入Pickle对象中进行序列化,最后将序列化后的字段元信息与序列化后的实际停靠点进行保存。因此,采用本申请实施例,由于本申请将数据字典中车辆实际停靠点的数据转换成数组格式,并通过批量获取转换数组格式后的车辆实际停靠点数据进行Pickle序列化,从而可以实现使用较少的资源,实现海量数据的高效存储和快速解析。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (9)
1.一种车辆停靠点数据处理方法,其特征在于,所述方法包括:
获取待处理车辆停靠点的数据字典;
采用Pickle协议定义Pickle对象;其中,所述Pickle对象用于实现序列化操作;
将所述数据字典中字段元信息输入所述Pickle对象中,生成序列化后的字段元信息;
将所述待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
从所述实际停靠点的数组集合中循环获取预设数量的数组输入所述Pickle对象中,生成序列化后的实际停靠点;
将所述序列化后的字段元信息与所述序列化后的实际停靠点进行保存;
其中,所述方法还包括:
当需要对所述序列化后的字段元信息与所述序列化后的实际停靠点进行反序列化操作时,通过内存映射函数调用所述序列化后的字段元信息与所述序列化后的实际停靠点进行处理后生成内存操作文件描述符;
从所述pickle协议库中调用数据读取函数和反序列化函数;
基于所述内存操作文件描述符和所述数据读取函数从所述保存的硬盘文件中读取停靠点字段标识;
基于所述内存操作文件描述符和所述数据读取函数从所述保存的硬盘文件中循环读取预设数量的实际停靠点数据;
基于所述反序列化函数将所述字段标识与所述实际停靠点数据进行反序列化操作,生成车辆停靠点的数组集合;
将所述车辆停靠点的数组集合转换为数据字典格式,生成待处理车辆停靠点的数据字典。
2.根据权利要求1所述的方法,其特征在于,所述将所述序列化后的字段元信息与所述序列化后的实际停靠点进行保存,包括:
计算所述序列化后的字段元信息与所述序列化后的实际停靠点所占内存大小;
基于所述所占内存大小创建本地硬盘文件;
将所述序列化后的字段元信息与所述序列化后的实际停靠点输入所述创建的本地硬盘文件中进行保存。
3.根据权利要求1所述的方法,其特征在于,所述将所述待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合,包括:
从所述待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据;
将所述循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
4.根据权利要求1所述的方法,其特征在于,所述从所述实际停靠点的数组集合中循环获取预设数量的数组输入所述Pickle对象中,生成序列化后的实际停靠点之后,还包括:
调用realloc函数动态调整所述定义的Pickle对象。
5.一种车辆停靠点数据处理装置,其特征在于,所述装置包括:
数据字段获取模块,用于获取待处理车辆停靠点的数据字典;
Pickle对象定义模块,用于采用Pickle协议定义Pickle对象;其中,所述Pickle对象用于实现序列化操作;
字段元信息序列化模块,用于将所述数据字典中字段元信息输入所述Pickle对象中,生成序列化后的字段元信息;
数据转换模块,用于将所述待处理车辆停靠点的数据字典中的实际停靠点数据转换成数组格式,生成实际停靠点的数组集合;
实际停靠点的数组集合序列化模块,用于从所述实际停靠点的数组集合中循环获取预设数量的数组输入所述Pickle对象中,生成序列化后的实际停靠点;
序列化数据保存模块,用于将所述序列化后的字段元信息与所述序列化后的实际停靠点进行保存;
其中,所述装置还具体用于:
当需要对所述序列化后的字段元信息与所述序列化后的实际停靠点进行反序列化操作时,通过内存映射函数调用所述序列化后的字段元信息与所述序列化后的实际停靠点进行处理后生成内存操作文件描述符;
从所述pickle协议库中调用数据读取函数和反序列化函数;
基于所述内存操作文件描述符和所述数据读取函数从所述保存的硬盘文件中读取停靠点字段标识;
基于所述内存操作文件描述符和所述数据读取函数从所述保存的硬盘文件中循环读取预设数量的实际停靠点数据;
基于所述反序列化函数将所述字段标识与所述实际停靠点数据进行反序列化操作,生成车辆停靠点的数组集合;
将所述车辆停靠点的数组集合转换为数据字典格式,生成待处理车辆停靠点的数据字典。
6.根据权利要求5所述的装置,其特征在于,所述序列化数据保存模块,包括:
内存大小计算单元,用于计算所述序列化后的字段元信息与所述序列化后的实际停靠点所占内存大小;
硬盘文件创建单元,用于基于所述所占内存大小创建本地硬盘文件;
序列化数据保存单元,将所述序列化后的字段元信息与所述序列化后的实际停靠点输入所述创建的本地硬盘文件中进行保存。
7.根据权利要求5所述的装置,其特征在于,所述数据转换模块,包括:
数据获取单元,用于从所述待处理车辆停靠点的数据字典中的数据记录起始端循环获取预设数量的实际停靠点数据;
数据转换单元,用于将所述循环获取的预设数量的实际停靠点数据转换为数组格式,生成数组格式的实际停靠点数据。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-4任意一项的方法步骤。
9.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-4任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011627410.0A CN112612427B (zh) | 2020-12-30 | 2020-12-30 | 一种车辆停靠点数据处理方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011627410.0A CN112612427B (zh) | 2020-12-30 | 2020-12-30 | 一种车辆停靠点数据处理方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112612427A CN112612427A (zh) | 2021-04-06 |
CN112612427B true CN112612427B (zh) | 2022-11-25 |
Family
ID=75253054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011627410.0A Active CN112612427B (zh) | 2020-12-30 | 2020-12-30 | 一种车辆停靠点数据处理方法、装置、存储介质及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612427B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563638B (zh) * | 2022-11-15 | 2023-04-18 | 阿里云计算有限公司 | 数据处理方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610922A (zh) * | 2015-10-26 | 2017-05-03 | 北京国双科技有限公司 | 反序列化方法及装置 |
CN111680079A (zh) * | 2019-12-18 | 2020-09-18 | 北京金山猎豹科技有限公司 | 一种将Json数据转换为字典数据的方法、装置及电子设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128621A (en) * | 1997-10-31 | 2000-10-03 | Oracle Corporation | Apparatus and method for pickling data |
CN103365991B (zh) * | 2013-07-03 | 2017-03-08 | 深圳市华傲数据技术有限公司 | 一种基于一维线性空间实现Trie树的词典存储管理方法 |
CN106155630A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 序列化方法、反序列化方法、序列化装置及反序列化装置 |
CN105159928B (zh) * | 2015-08-05 | 2019-04-23 | 深圳联友科技有限公司 | 一种json数据转换成模型数据的方法及系统 |
US10942943B2 (en) * | 2015-10-29 | 2021-03-09 | Ip Reservoir, Llc | Dynamic field data translation to support high performance stream data processing |
CN107341262B (zh) * | 2017-07-14 | 2020-01-21 | 上海达梦数据库有限公司 | 数据库中对象类型列的序列化、反序列化方法及装置 |
CN109189505B (zh) * | 2018-07-06 | 2021-11-09 | 武汉斗鱼网络科技有限公司 | 一种减少对象序列化占用存储空间的方法及系统 |
CN110855727A (zh) * | 2018-08-21 | 2020-02-28 | 苏州迈科网络安全技术股份有限公司 | 基于字节序列化和反序列化的数据对象的传输系统和方法 |
CN110070609B (zh) * | 2019-04-12 | 2023-06-20 | 网易(杭州)网络有限公司 | 地形数据的处理方法、装置、存储介质、处理器及终端 |
CN111680472A (zh) * | 2020-05-27 | 2020-09-18 | 泰康保险集团股份有限公司 | 表格数据处理方法、装置、计算机设备及可读存储介质 |
CN111931200B (zh) * | 2020-07-13 | 2024-02-23 | 车智互联(北京)科技有限公司 | 一种数据序列化方法、移动终端和可读存储介质 |
CN112069773A (zh) * | 2020-07-23 | 2020-12-11 | 北京三快在线科技有限公司 | 数据处理系统、方法、装置、电子设备和计算机可读介质 |
-
2020
- 2020-12-30 CN CN202011627410.0A patent/CN112612427B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610922A (zh) * | 2015-10-26 | 2017-05-03 | 北京国双科技有限公司 | 反序列化方法及装置 |
CN111680079A (zh) * | 2019-12-18 | 2020-09-18 | 北京金山猎豹科技有限公司 | 一种将Json数据转换为字典数据的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112612427A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489428B (zh) | 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质 | |
CN112182036A (zh) | 数据的发送与写入方法、装置、电子设备及可读存储介质 | |
CN112818457A (zh) | 基于cad图纸的bim模型智能生成方法及系统 | |
CN113885935A (zh) | 资源打包方法、装置、电子设备及计算机可读存储介质 | |
CN112612427B (zh) | 一种车辆停靠点数据处理方法、装置、存储介质及终端 | |
CN110598993B (zh) | 数据加工方法及装置 | |
CN108153896B (zh) | 针对输入数据、输出数据的处理方法及装置 | |
CN113626512A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN113094125A (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
CN110458285B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112199404A (zh) | 报表的创建方法、装置、电子设备及计算机可读存储介质 | |
CN110647981B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112807695A (zh) | 游戏场景生成方法和装置、可读存储介质、电子设备 | |
CN111507430A (zh) | 基于矩阵乘法的特征编码方法、装置、设备及介质 | |
CN110555522A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115795629A (zh) | 数据转换方法、数据转换系统以及电子设备 | |
CN115328997A (zh) | 数据同步方法、系统、设备及存储介质 | |
CN113626547A (zh) | 一种货运行业地图矢量切片方法、装置、存储介质及终端 | |
CN112000669A (zh) | 一种环境监测数据的处理方法、装置、存储介质及终端 | |
CN112905792A (zh) | 基于非文本场景的文本聚类方法、装置、设备及存储介质 | |
CN108595455B (zh) | 一种空间数据坐标转换方法及装置 | |
CN111414162B (zh) | 一种数据处理方法、装置及其设备 | |
CN115392195A (zh) | 一种数据格式转换方法、装置、设备及存储介质 | |
CN117370488A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN117075915A (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 |