CN113518094B - 数据处理方法、装置、机器人和存储介质 - Google Patents
数据处理方法、装置、机器人和存储介质 Download PDFInfo
- Publication number
- CN113518094B CN113518094B CN202111072100.1A CN202111072100A CN113518094B CN 113518094 B CN113518094 B CN 113518094B CN 202111072100 A CN202111072100 A CN 202111072100A CN 113518094 B CN113518094 B CN 113518094B
- Authority
- CN
- China
- Prior art keywords
- data
- serialized
- compressed
- compression
- structured
- 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
-
- 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/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及机器人领域,提供了数据处理方法、装置、机器人和计算机可读存储介质,以提升数据传输的安全性。所述方法包括:采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据;根据所述序列化数据的特征,对序列化数据进行选择性压缩,得到压缩数据;将压缩数据进行至少一次加密操作,得到加密数据。本申请的技术方案中在将结构化数据进行序列化得到对序列化数据之后,对序列化数据进行选择性压缩,压缩后得到的压缩数据再进行了至少一次加密操作,因此增强了数据传输的安全性,并且,对序列化数据的选择性压缩也可以减少压缩需要消耗的时间,降低数据传输的延时。
Description
技术领域
本发明涉及机器人领域,特别涉及数据处理方法、装置、机器人和计算机可读存储介质。
背景技术
机器人集群系统中,机器人之间传输数据(例如,调度数据)时,需要对待传输的数据进行一系列处理。现有的数据处理方法主要是在机器人集群系统的发送端对数据进行序列化,将序列化后的数据传输至对端的机器人。然而,在机器人集群工作环境中,机器人之间的数据容易被收集、窃取和解析,影响机器人工作的安全性。
发明内容
本申请提供一种数据处理方法、装置、机器人和计算机可读存储介质,以提升数据传输的安全性。
一方面,本申请提供了一种数据处理方法,应用于机器人,所述数据包括结构化数据,所述方法包括:
采用适于所述结构化数据的序列化算法对所述结构化数据序列化,得到序列化数据;
根据所述序列化数据的特征,对所述序列化数据进行选择性压缩,得到压缩数据;
将所述压缩数据进行至少一次加密操作,得到加密数据。
另一方面,本申请提供了一种数据处理方法,应用于机器人,所述方法包括:
对加密数据进行至少一次解密操作,得到压缩数据,所述加密数据为数据经序列化、压缩和至少一次加密后得到;
解压缩所述压缩数据,得到序列化数据;
选用适于所述序列化数据的反序列化算法对所述序列化数据反序列化,得到结构化数据。
第三方面,本申请提供了一种结构化数据处理装置,包括:
序列化模块,用于采用适于结构化数据的序列化算法对所述结构化数据序列化,得到序列化数据;
压缩模块,用于根据所述序列化数据的特征,对所述序列化数据进行选择性压缩,得到压缩数据;
加密模块,用于将所述压缩数据进行至少一次加密操作,得到加密数据。
第四方面,本申请提供了一种结构化数据处理装置,包括:
解密模块,用于对加密数据进行至少一次解密操作,得到压缩数据,所述加密数据为数据经序列化、压缩和至少一次加密后得到;
解压缩模块,用于解压缩所述压缩数据,得到序列化数据;
反序列化模块,用于选用适于所述序列化数据的反序列化算法对所述序列化数据反序列化,得到结构化数据。
第五方面,本申请提供了一种机器人,所述机器人包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述机器人数据的处理方法的技术方案的步骤。
第六方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述机器人数据的处理方法的技术方案的步骤。
从上述本申请提供的技术方案可知,与现有技术从序列化数据就开始传输不同,本申请的技术方案中在将结构化数据进行序列化得到序列化数据之后,对序列化数据进行选择性压缩,压缩后得到的压缩数据后再进行了至少一次加密操作,因此增强了数据传输的安全性,并且,对序列化数据的选择性压缩也可以减少压缩需要消耗的时间,降低数据传输的延时。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据处理方法的流程图;
图2是本申请另一实施例提供的数据处理方法的流程图;
图3是本申请实施例提供的数据处理装置的结构示意图;
图4是本申请另一实施例提供的数据处理装置的结构示意图;
图5是本申请实施例提供的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
本申请提出了一种数据处理方法,可应用于机器人,该机器人可以是在医疗场所,例如医院作业的消毒杀菌机器人,也可以是在餐饮场所,例如餐馆、酒店等送餐的机器人。如附图1所示,数据处理方法主要包括步骤S101至S103,详述如下:
步骤S101:采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据。
在本申请实施例中,数据处理方法中的数据可以是结构化数据,而结构化数据可以是对来自本端机器人调度模块的调度数据转化而来,其格式可以是Protobuf格式、JSON格式或其他由用户自定义的格式类型,本申请对此不做限制。当然,在其他实施例中结构化数据也可以是其他数据转化而来。根据上述结构化数据的来源,本申请实施例的方法还包括在采用适于结构化数据的序列化算法对结构化数据序列化之前,将来自调度模块的调度数据转化为结构化数据。至于数据的序列化(serialization ),是指将数据对象状态转换为可保持或传输的格式的过程,在本申请实施例中可以是将结构化数据按照一定的编码规范转换成指定格式的过程。序列化机制能够将一个实例对象的状态信息写入到一个字节流中,使其可以进行传输或者持久化存储到数据库或文件系统中。在本申请一个实施例中,采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据可通过步骤S1011至步骤S1013实现,说明如下:
步骤S1011:调用序列化接口函数,创建与结构化数据的对象类型对应的序列化对象。
可以通过反射机制获取结构化数据的对象和与对象对应的类型指针,然后再根据对象的类型指针确定结构化数据的对象类型,例如基本类型(如int、float等)、类(class)或结构化(struct)等。序列化接口函数实际是序列化算法对应的序列化函数库中的库函数,可以根据该序列化算法对应的格式文件,调用序列化函数库中的库函数,创建与结构化数据的对象类型对应的序列化对象。例如,以序列化算法具体为protobuf算法为例,则此时,具体可以调用protobuf算法对应的序列化函数库中的库函数,利用该序列化函数库中的库函数,根据源文件,例如.proto文件创建与结构化数据的对象类型对应的序列化对象。通过创建对象类型信息对应的序列化对象,实质上获得了序列化接口函数的序列化类的对象,从而实现了序列化接口函数的调用。
步骤S1012:获取序列化对象的各属性名称和属性值。
序列化对象包括至少一个属性,属性的名称即属性名称,属性对应的值即为属性值,属性值可以为整型、字符型、浮点型、字符串型等程序设计语言支持的基本类型,还可以为非基本类型,非基本类型即为任意自定义类或非自定义类。
步骤S1013:根据获取到的属性值所属的类型,序列化获取到的属性值,或将获取到的属性值析构为基本类型后重序列化,得到序列化数据。
若获取到的属性值为基本类型,则序列化该属性值,将序列化后的属性值和对应的析构信息的属性名称组成键-值对;若获取到的属性值为非基本类型,则迭代析构该属性值的各属性,得到为基本类型的子属性值及对应的析构信息的属性名称,再序列化得到子属性值,将序列化后的属性值和对应的析构信息的属性名称组成键-值对,再判断下一获取到的属性值。在将序列化后的属性值和对应的析构信息的属性名称组成键-值对时,使用key来存储析构信息的属性名称,使用value来存储序列化后的属性值。
通过获取序列化对象的各属性名称和属性值,并根据获取到的属性值所属的类型,序列化获取到的属性值,或将获取到的属性值析构为基本类型后重序列化,得到序列化数据,无论序列化对象所属类为自定义类、非自定义类或引用的其他库文件的类,都能避免由于对序列化对象所属类的属性进行新增、删减等修改而导致后续对序列化数据反序列化失败的问题。
在本申请另一实施例中,选用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据可通过步骤S’1011至步骤S’1015实现,说明如下:
步骤S’1011:将结构化数据对应的类标记为可序列化类。
在本申请实施例中,结构化数据对应的类是指未进行序列化的原始数据对应的类,用户可以通过自定义设置需要序列化的属性和序列化格式,这些序列化的属性可支持多种数据类型,例如整形、浮点数、字节和数组等基本类型以及通过继承、组合等方式自定义的类型,此处的属性可以理解为一系列需要序列化的属性的集合,使用结构化的描述信息,在类中为每个需要序列化的属性添加序号、长度、编码等序列化信息。可以使用结构化的描述信息,在结构化数据对应的类类中为每个需要序列化的属性添加上述序列化信息,例如按照序号将结构化数据对应的类进行序列化,或者利用长度或者编号等等,不做限定,将结构化数据对应的类标记可序列化类。
步骤S’1012:将可序列化类需要序列化的属性标识为可序列化属性。
具体可以是在可序列化类中,为需要序列化的属性添加可序列化原子数据,将其标识为可序列化属性,其中,原子数据用于说明代码级别,其可以声明在包、类、字段、方法、局部变量和方法参数等的前面,用于对这些元素进行说明、注释和编写文档,从而实现对源代码进行分析和使编译器能够实现基本的编译检查等。
步骤S’1013:根据可序列化类和可序列化属性,生成预存取序列化信息。
具体可以将可序列化类的类信息以及类中所有可序列化属性信息事先加载至内存,形成预读取序列化信息。
步骤S’1014:获取可序列化类的实例化对象中需要序列化的属性。
步骤S’1015:根据预读取序列化信息和属性的类型信息将实例化对象序列化后的属性值输出至字节序列形成序列化数据。
上述实施例中,通过将结构化数据对应的类中需要序列化的属性添加序列化描述信息,以使得将结构化数据对应的类标识为可序列化类,将可序列化类需要序列化的属性标记为可序列化属性,无需额外的配置文件,支持静态编译检查,减少配置出错可能,支持自定义需要序列化的属性,实现简单,扩展方便。
步骤S102:根据所述序列化数据的特征,对序列化数据进行选择性压缩,得到压缩数据。
现有技术中,在对序列化数据进行压缩时是全面或全部压缩,如此,固然减小了对通信带宽的占用,然而,对序列化数据压缩需要消耗时间,这个过程必然带来数据传输的延时,换言之,现有技术减少对通信带宽的占用,是以牺牲数据传输的延时为代价。实际上,有些序列化数据本身很小,对其进行压缩的意义不大。因此,本申请的技术方案中,其对序列化数据进行压缩,得到压缩数据具体可以是根据序列化数据的特征,对序列化数据进行选择性压缩。
作为本申请一个实施例,根据序列化数据的特征,对序列化数据进行选择性压缩,得到压缩数据可以通过如下步骤S1至步骤S3实现:
步骤S1:预先判断当前确定的预判数据段的潜在压缩率是否会达到压缩目标。
本实施例中,序列化数据被划分为若干个具有预设数据长度的数据段,例如,每个数据段包括100个字符的数据,在这若干个数据段中,有些数据段会被用作预判数据段,用于判断后续数据段是否需要压缩,并且,预判数据段本身不需要被压缩,这样可以节省一定的压缩时间。一般情况下,对于一个序列化数据,最开始会选择第一个数据段作为预判数据段。需要说明的是,压缩预判可在设备的后台进行,并不是真正将序列化数据进行压缩。
预判数据段中的所有字符数据的整体压缩率超过设定的压缩目标对应的数值,则确定该预判数据段的潜在压缩率会达到压缩目标。
步骤S2:若是,则对当前确定的预判数据段的后续的数据段进行压缩,并标识压缩的数据段为已压缩。
如上文所述,本实施例要压缩的是有可能达到压缩目标的预判数据段的后续数据段,这种情况下会认为后续的数据段都有可能达到压缩目标,相当于跳过了作为预判数据段的第一个数据段。
步骤S3:若否,则调整所述预设数据长度,然后以调整后的预设数据长度为步长、以当前确定的预判数据段之后的数据为起点重新划分数据段,并将重新划分的第一个数据段作为新的当前确定的预判数据段,再返回执行步骤S1,直至所有的数据段都压缩完毕。
若当前的预判数据段的潜在压缩率没有达到压缩目标,则很有可能后续的数据段在压缩之后也达不到压缩目标,因此需要重新调整预设的数据长度,例如,原来每一个数据段的数据长度预设为100个字符,则可以调整为150个字符重新预判,然后从原来的预判数据段之后的数据为起点,重新划分数据段,这样后续每个数据段的数据大小都得到了调整,重新调整后的数据段的压缩率就有可能会达到压缩目标,然后重新返回执行步骤S1进行预判。
上述实施例中,通过自动选择和数据的压缩预判,在提高带宽利用率的同时至少也少压缩了一个数据段(即预判数据段),在一定程度上减少了压缩时间,避免了压缩全部序列化数据带来的传输延时。
作为本申请另一实施例,根据序列化数据的特征,对序列化数据进行选择性压缩,得到压缩数据可以通过如下步骤S’1和步骤S’2实现:
步骤S’1:获取若干个序列化数据中各个序列化数据的重要程度等级。
如前所述,序列化数据是由调度数据转换和序列化而来,而调度数据中,由于数据种类、应用场景不同,其重要程度具有不同的等级。例如,对于机器人系统而言,在采光良好的环境(例如,白天或者照明程度较好的室内),视觉数据的重要程度可能不及机器人的移动速度、方位等数据,而在采光不好的环境,视觉数据的重要程度可能要高于机器人的移动速度、方位等数据。一般情况下,重要程度等级越高的数据,更需要较大程度的压缩。
需要说明的是,序列化数据的重要程度等级可在调度数据被序列化之前或者序列化之后进行标记或记录。
步骤S’2:根据各个序列化数据的重要程度等级,选用与重要程度等级相应的数据压缩品级压缩各个序列化数据。
在本申请实施例中,不同的数据压缩品级对序列化数据的压缩程度不同。数据压缩品级可从数据的压缩率、压缩速率和解压缩速率等指标来考察。可以为不同数据的压缩率、压缩速率和解压速率分别设置对应的数据压缩品级取值范围,一般而言,压缩率取值越高,压缩速率和解压缩速率越高,数据压缩品级越高;压缩率取值越低,压缩速率和解压缩速率越低,数据压缩品级越低。不同的数据压缩品级对应实现不同的数据压缩算法,可以根据各个序列化数据的重要程度等级,选用与重要程度等级相应的数据压缩品级压缩各个序列化数据,以满足其对应的压缩率、压缩速率和解压速率的取值范围。
另外,需要说明的是,上述两个选择性压缩的实施例可以是单独实施,也可以是结合起来实施,在需要判断哪些数据段需要压缩时采用上文中的一个实施例,在具体执行压缩时采用上文中的另一个实施例。
步骤S103:将经步骤S102得到的压缩数据进行至少一次加密操作,得到加密数据。
需要说明的是,对经步骤S102得到的压缩数据进行至少一次加密操作,不仅在每一次加密过程中对压缩算法进行了加密,也对压缩数据的内容本身也进行了加密,因此,安全性得到了加强。至于具体的加密算法,可以是现有的任何一种加/解密算法,本申请对此不做限制。
在经步骤S103得到加密数据之后,还可以发送加密数据,例如将加密数据发送至对端机器人。对端机器人收到加密数据后,传输给本端机器人的调度模块,用于后续的任务调度。
从上述附图1示例的数据处理方法可知,与现有技术从序列化数据就开始传输不同,本申请的技术方案中在将结构化数据进行序列化得到序列化数据之后,对序列化数据进行选择性压缩,压缩后得到的压缩数据后再进行了至少一次加密操作,因此增强了数据传输的安全性,并且,对序列化数据的选择性压缩也可以减少压缩需要消耗的时间,降低数据传输的延时。
本实施例的应用场景可以是机器人集群调度系统,该机器人集群调度系统主要包括中央式调度系统和分布式调度系统,其中,分布式调度系统的工作原理可以描述为机器人之间相互通信,分别将自身的位置、任务等调度数据传输给其他机器人,自身同时接收其他机器人的调度数据,综合其他机器人调度数据以完成任务的调度。对分布式调度系统而言,调度数据需要在机器人之间传输,现有的机器人调度数据的处理方法对调度数据的处理主要包括在发送端对调度数据进行序列化,将序列化后的数据进行全面压缩后传输至对端的机器人。然而,机器人所处环境复杂,只对序列化数据压缩就开始传输,数据并不安全。本实施例中,通过将调度数据转化为结构化数据,然后对结构化数据进行序列化、选择性压缩和加密操作,因此增强了调度数据传输的安全性,保证了机器人调度业务的安全性。
请参阅附图2,是本申请另一实施例提供的数据处理方法,可应用于机器人,该机器人可以是在医疗场所,例如医院作业的消毒杀菌机器人,也可以是在餐饮场所,例如餐馆、酒店等送餐的机器人。如附图2所示,数据处理方法主要包括步骤S201至S203,详述如下:
步骤S201:对加密数据进行至少一次解密操作,得到压缩数据,其中,加密数据为数据经序列化、压缩和至少一次加密后得到。
在本申请实施例中,对加密数据进行至少一次解密操作是前述附图1示例的步骤S103的逆过程。相应地,本实施例的方法还包括在对加密数据进行至少一次解密操作,得到压缩数据之前,接收对端机器人传送的加密数据。
步骤S202:解压缩经步骤S201得到的压缩数据,得到序列化数据。
在本申请实施例中,解压缩经步骤S201得到的压缩数据是前述附图1示例的步骤S102的逆过程。
步骤S203:采用适于序列化数据的反序列化算法对序列化数据进行反序列化,得到结构化数据。
在本申请实施例中,采用适于序列化数据的反序列化算法对序列化数据进行反序列化是前述附图1示例的步骤S101的逆过程。相应地,本实施例的方法还包括:在采用适于序列化数据的反序列化算法对序列化数据进行反序列化,得到结构化数据之后,将结构化数据转化为调度数据后发送至本端机器人的调度模块,其中,将结构化数据转化为调度数据是前述附图1示例的将调度数据转化为结构化数据的逆过程。
此外,在采用适于序列化数据的反序列化算法对序列化数据进行反序列化之前,还包括检测经解压缩得到的序列化数据;若所述序列化数据中存在解压缩失败数据,则丢弃解压缩失败数据。如此,可以避免后续对解压缩失败数据进行反序列化,浪费资源。在采用适于序列化数据的反序列化算法对序列化数据进行反序列化之后,则包括检测经反序列化得到的结构化数据;若该结构化数据中存在反序列化失败数据,则丢弃反序列化失败数据,后续在发送结构化数据时,无需发送反序列化失败数据。如此,也是一种节省资源的方式。
请参阅附图3,是本申请实施例提供的一种结构化数据处理装置,可以包括序列化模块301、压缩模块302和加密模块303,详述如下:
序列化模块301,用于采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据;
压缩模块302,用于根据所述序列化数据的特征,对序列化数据进行选择性压缩,得到压缩数据;
加密模块303,用于将压缩数据进行至少一次加密操作,得到加密数据。
可选地,上述附图3示例的装置中,序列化模块301可以包括创建单元、第一获取单元和第一数据序列化单元,其中:
创建单元,用于调用序列化接口函数,创建与结构化数据的对象类型对应的序列化对象;
第一获取单元,用于获取序列化对象的各属性名称和属性值;
第一数据序列化单元,用于根据获取到的属性值所属的类型,序列化获取到的属性值,或将获取到的属性值析构为基本类型后重序列化,得到序列化数据。
可选地,上述附图3示例的装置中,序列化模块301可以包括创建单元、第一获取单元和数据序列化单元,其中:
标识单元,用于将结构化数据对应的类标识为可序列化类;
标计单元,用于将可序列化类需要序列化的属性标记为可序列化属性;
生成单元,用于根据可序列化类和可序列化属性,生成预读取序列化信息;
第二获取单元,用于获取可序列化类的实例化对象中需要序列化的属性;
第二数据序列化单元,用于根据预读取序列化信息和属性的类型信息将实例化对象序列化后的属性值输出至字节序列形成序列化数据。
压缩模块302可以包括预判单元、数据压缩单元和第一选取单元,其中:
预判单元,用于执行步骤S1,即预先判断当前确定的预判数据段的潜在压缩率是否会达到压缩目标;
数据压缩单元,用于执行步骤S2,即若是,则对当前确定的预判数据段的后续的数据段进行压缩,并标识压缩的数据段为已压缩;
第一选取单元,用于执行步骤S3,即若否,则调整所述预设数据长度,然后以调整后的预设数据长度为步长、以当前确定的预判数据段之后的数据为起点重新划分数据段,并将重新划分的第一个数据段作为新的当前确定的预判数据段,再返回执行步骤S1,直至所有的数据段都压缩完毕。
可选地,上述压缩模块302可以包括等级获取单元和第二选取单元,其中:
等级获取单元,用于获取若干个序列化数据中各个序列化数据的重要程度等级;
第一选取单元,用于根据各个序列化数据的重要程度等级,选用与重要程度等级相应的数据压缩品级压缩各个序列化数据,其中,不同的数据压缩品级对序列化数据的压缩程度不同。
可选地,上述附图3示例的装置中,加密模块303可以包括算法加密单元和内容加密单元,其中:
算法加密单元,用于在至少一次加密操作过程中,对压缩算法进行加密;
内容加密单元,用于对对压缩数据的内容进行加密。
可选地,上述附图3示例的装置还可以包括转化模块和发送模块,其中:
转化模块,用于序列化模块301在采用适于结构化数据的序列化算法对结构化数据序列化之前,将来自调度模块的调度数据转化为结构化数据;
发送模块,用于在加密模块303得到加密数据之后,发送该加密数据。
从以上技术方案的描述中可知,与现有技术只序列化数据就开始传输不同,本申请的技术方案对压缩后得到的压缩数据进行了至少一次加密操作,因此增强了调度数据传输的安全性。
请参阅附图4,是本申请实施例提供的一种结构化数据处理装置,可以包括解密模块401、解压缩模块402和反序列化模块403,详述如下:
解密模块401,用于对加密数据进行至少一次解密操作,得到压缩数据,其中,加密数据为数据经序列化、压缩和至少一次加密后得到;
解压缩模块402,用于解压缩压缩数据,得到序列化数据;
反序列化模块403,用于采用适于序列化数据的反序列化算法对序列化数据进行反序列化,得到结构化数据。
图5是本申请一实施例提供的机器人的结构示意图。如图5所示,该实施例的机器人5主要包括:处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52,例如数据处理方法的程序。处理器50执行计算机程序52时实现上述数据处理方法实施例中的步骤,例如图1所示的步骤S101至S103或如图2所示的步骤S201至步骤S203。或者,处理器50执行计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图3所示序列化模块301、压缩模块302和加密模块303或图4所示解密模块401、解压缩模块402和反序列化模块403的功能。
示例性地,数据处理方法的计算机程序52主要包括:采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据;对序列化数据进行选择性压缩,得到压缩数据;将压缩数据进行至少一次加密操作,得到加密数据。或者,数据处理方法的计算机程序52主要包括:对加密数据进行至少一次解密操作,得到压缩数据,其中,加密数据为数据经序列化、选择性压缩和至少一次加密后得到;解压缩压缩数据,得到序列化数据;采用适于序列化数据的反序列化算法对序列化数据进行反序列化,得到结构化数据。计算机程序52可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器51中,并由处理器50执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序52在机器人5中的执行过程。例如,计算机程序52可以被分割成序列化模块301、压缩模块302和加密模块303(虚拟装置中的模块)的功能,各模块具体功能如下:序列化模块301,用于采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据;压缩模块302,用于对序列化数据进行选择性压缩,得到压缩数据;加密模块303,用于将压缩数据进行至少一次加密操作,得到加密数据。或者,计算机程序52可以被分割成解密模块401、解压缩模块402和反序列化模块403(虚拟装置中的模块)的功能,各模块具体功能如下:解密模块401,用于对加密数据进行至少一次解密操作,得到压缩数据,其中,加密数据为数据经序列化、压缩和至少一次加密后得到;解压缩模块402,用于解压缩压缩数据,得到序列化数据;反序列化模块403,用于采用适于序列化数据的反序列化算法对序列化数据进行反序列化,得到结构化数据。
机器人5可包括但不仅限于处理器50、存储器51。本领域技术人员可以理解,图5仅仅是机器人5的示例,并不构成对机器人5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器51可以是机器人5的内部存储单元,例如机器人5的硬盘或内存。存储器51也可以是机器人5的外部存储设备,例如机器人5上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器51还可以既包括机器人5的内部存储单元也包括外部存储设备。存储器51用于存储计算机程序以及设备所需的其他程序和数据。存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,机器人调度数据的处理方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,采用适于结构化数据的序列化算法对结构化数据序列化,得到序列化数据;对序列化数据进行选择性压缩,得到压缩数据;将压缩数据进行至少一次加密操作,得到加密数据。或者,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即:对加密数据进行至少一次解密操作,得到压缩数据,其中,加密数据为数据经序列化、压缩和至少一次加密后得到;解压缩压缩数据,得到序列化数据;采用适于序列化数据的反序列化算法对序列化数据进行反序列化,得到结构化数据。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据处理方法,应用于机器人,其特征在于,所述数据包括结构化数据,所述方法包括:
采用适于所述结构化数据的序列化算法对所述结构化数据序列化,得到序列化数据;所述序列化数据被划分为若干个具有预设数据长度的数据段,若干个所述数据段中具有被用作判断后续数据段是否需要压缩的预判数据段;
根据所述序列化数据的特征,对所述序列化数据进行选择性压缩,得到压缩数据;
将所述压缩数据进行至少一次加密操作,得到加密数据;
所述根据所述序列化数据的特征,对所述序列化数据进行选择性压缩,得到压缩数据,包括:
预先判断当前确定的预判数据段的潜在压缩率是否会达到压缩目标;
若是,则对当前确定的预判数据段的后续的数据段进行压缩,并标识压缩的数据段为已压缩;
若否,则调整所述预设数据长度,然后以调整后的预设数据长度为步长、以当前确定的预判数据段之后的数据为起点重新划分数据段,并将重新划分的第一个数据段作为新的当前确定的预判数据段,再返回执行所述预先判断当前确定的预判数据段的潜在压缩率是否会达到压缩目标以循环执行各步骤,直至所有的数据段都压缩完毕。
2.如权利要求1所述数据处理方法,其特征在于,所述采用适于所述结构化数据的序列化算法对所述结构化数据序列化,得到序列化数据,包括:
调用序列化接口函数,创建与所述结构化数据的对象类型对应的序列化对象;
获取所述序列化对象的各属性名称和属性值;
根据获取到的属性值所属的类型,序列化获取到的属性值,或将获取到的属性值析构为基本类型后重序列化,得到序列化数据。
3.如权利要求1所述数据处理方法,其特征在于,所述采用适于所述结构化数据的序列化算法对所述结构化数据序列化,得到序列化数据,包括:
将所述结构化数据对应的类标识为可序列化类;
将可序列化类需要序列化的属性标记为可序列化属性;
根据所述可序列化类和可序列化属性,生成预读取序列化信息;
获取所述可序列化类的实例化对象中需要序列化的属性;
根据所述预读取序列化信息和所述属性的类型信息将所述实例化对象序列化后的属性值输出至字节序列形成序列化数据。
4.如权利要求1所述数据处理方法,其特征在于,所述根据所述序列化数据的特征,对所述序列化数据进行选择性压缩,得到压缩数据,包括:
获取若干个所述序列化数据中各个序列化数据的重要程度等级;
根据所述各个序列化数据的重要程度等级,选用与所述重要程度等级相应的数据压缩品级压缩所述各个序列化数据;其中,不同的数据压缩品级对序列化数据的压缩程度不同。
5.如权利要求1所述数据处理方法,其特征在于,所述将所述压缩数据进行至少一次加密操作,得到加密数据,包括:
在所述至少一次加密操作过程中,对压缩算法进行加密;以及
对所述压缩数据的内容进行加密。
6.如权利要求1所述数据处理方法,其特征在于,所述数据包括所述机器人的调度数据,所述方法还包括:
在采用适于所述结构化数据的序列化算法对所述结构化数据序列化之前,将所述调度数据转化为所述结构化数据;
在得到所述加密数据之后,发送所述加密数据。
7.一种数据处理装置,其特征在于,所述装置包括:
序列化模块,用于采用适于结构化数据的序列化算法对所述结构化数据序列化,得到序列化数据;所述序列化数据被划分为若干个具有预设数据长度的数据段,若干个所述数据段中具有被用作判断后续数据段是否需要压缩的预判数据段;
压缩模块,用于根据所述序列化数据的特征,对所述序列化数据进行选择性压缩,得到压缩数据;
加密模块,用于将所述压缩数据进行至少一次加密操作,得到加密数据;
所述压缩模块包括:预判单元、数据压缩单元和第一选取单元;
所述预判单元,用于预先判断当前确定的预判数据段的潜在压缩率是否会达到压缩目标;
所述数据压缩单元,用于在所述预判单元判断结果为是时,对当前确定的预判数据段的后续的数据段进行压缩,并标识压缩的数据段为已压缩;
第一选取单元,用于在所述预判单元判断结果为否时,调整所述预设数据长度,然后以调整后的预设数据长度为步长、以当前确定的预判数据段之后的数据为起点重新划分数据段,并将重新划分的第一个数据段作为新的当前确定的预判数据段,再返回所述预判单元执行预先判断当前确定的预判数据段的潜在压缩率是否会达到压缩目标,直至所有的数据段都压缩完毕。
8.一种机器人,所述机器人包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111072100.1A CN113518094B (zh) | 2021-09-14 | 2021-09-14 | 数据处理方法、装置、机器人和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111072100.1A CN113518094B (zh) | 2021-09-14 | 2021-09-14 | 数据处理方法、装置、机器人和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113518094A CN113518094A (zh) | 2021-10-19 |
CN113518094B true CN113518094B (zh) | 2021-12-28 |
Family
ID=78063351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111072100.1A Active CN113518094B (zh) | 2021-09-14 | 2021-09-14 | 数据处理方法、装置、机器人和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113518094B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114302269B (zh) * | 2021-12-17 | 2024-04-09 | 博为科技有限公司 | Onu接入方法、装置、存储介质及电子设备 |
CN114006770A (zh) * | 2021-12-28 | 2022-02-01 | 国网瑞嘉(天津)智能机器人有限公司 | 机器人操作平台的数据处理方法、装置、设备及存储介质 |
CN114466088B (zh) * | 2022-01-07 | 2023-12-08 | 深圳华芯信息技术股份有限公司 | 扫地机器人的数据传输方法、装置、存储介质及终端 |
CN114490535A (zh) * | 2022-01-12 | 2022-05-13 | 北京齐尔布莱特科技有限公司 | 数据传输方法、数据传输系统、计算设备及存储介质 |
CN114509064A (zh) * | 2022-02-11 | 2022-05-17 | 上海思岚科技有限公司 | 一种自主扩展传感器数据处理的方法、接口及设备 |
CN115883670B (zh) * | 2023-02-21 | 2023-05-12 | 湖南格尔智慧科技有限公司 | 一种医疗数据分析采集方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003105489A1 (en) * | 2002-06-07 | 2003-12-18 | The Trustees Of Columbia University | Method and device for online dynamic semantic video compression and video indexing |
CN103701860A (zh) * | 2013-12-06 | 2014-04-02 | 北京奇虎科技有限公司 | 小文件的网络传输与接收方法及装置、和网络传输系统 |
CN105141567A (zh) * | 2014-05-26 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 终端应用和服务端的交互数据处理方法及系统、交互方法 |
CN111007857A (zh) * | 2019-12-21 | 2020-04-14 | 上海有个机器人有限公司 | 一种机器人运动路径规划过程的可视化方法 |
CN111459895A (zh) * | 2020-03-31 | 2020-07-28 | 杭州云象网络技术有限公司 | 一种区块链数据分级压缩与存储方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1997995B (zh) * | 2004-06-23 | 2010-05-05 | 甲骨文国际公司 | 使用转换有效评估查询 |
US9779069B2 (en) * | 2014-01-31 | 2017-10-03 | Yahoo Holdings, Inc. | Model traversing based compressed serialization of user interaction data and communication from a client-side application |
CN107798016B (zh) * | 2016-09-06 | 2019-06-07 | 北京百度网讯科技有限公司 | 用于机器人操作系统的数据传输方法和装置 |
CN110597814B (zh) * | 2019-09-16 | 2021-12-28 | 腾讯科技(深圳)有限公司 | 结构化数据的序列化、反序列化方法以及装置 |
-
2021
- 2021-09-14 CN CN202111072100.1A patent/CN113518094B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003105489A1 (en) * | 2002-06-07 | 2003-12-18 | The Trustees Of Columbia University | Method and device for online dynamic semantic video compression and video indexing |
CN103701860A (zh) * | 2013-12-06 | 2014-04-02 | 北京奇虎科技有限公司 | 小文件的网络传输与接收方法及装置、和网络传输系统 |
CN105141567A (zh) * | 2014-05-26 | 2015-12-09 | 腾讯科技(深圳)有限公司 | 终端应用和服务端的交互数据处理方法及系统、交互方法 |
CN111007857A (zh) * | 2019-12-21 | 2020-04-14 | 上海有个机器人有限公司 | 一种机器人运动路径规划过程的可视化方法 |
CN111459895A (zh) * | 2020-03-31 | 2020-07-28 | 杭州云象网络技术有限公司 | 一种区块链数据分级压缩与存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113518094A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113518094B (zh) | 数据处理方法、装置、机器人和存储介质 | |
US10901950B2 (en) | Efficient data compression and analysis as a service | |
US7924183B2 (en) | Method and system for reducing required storage during decompression of a compressed file | |
US7703099B2 (en) | Scalable transformation and configuration of EDI interchanges | |
CN111857550B (zh) | 用于数据去重的方法、设备以及计算机可读介质 | |
US8149148B1 (en) | Local binary XML string compression | |
US7958133B2 (en) | Application conversion of source data | |
CN109284453B (zh) | 基于pdf文档的数据下载方法及装置、存储介质、终端 | |
CN110109983B (zh) | 一种操作Redis数据库的方法和装置 | |
CN114331416A (zh) | 数据处理的方法、装置、电子设备及存储介质 | |
WO2008156640A2 (en) | A method and apparatus for encoding data | |
CN114218175A (zh) | 一种资源跨平台共享方法、装置、终端设备及存储介质 | |
CN110505289B (zh) | 文件下载方法及装置、计算机可读介质、无线通信设备 | |
US10168909B1 (en) | Compression hardware acceleration | |
CN114116866A (zh) | 一种数据获取方法、装置、终端设备及存储介质 | |
CN108156134A (zh) | 一种基于FPGA的Spice协议解析系统 | |
CN114244912A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN110727391A (zh) | 交易数据存储方法及装置、区块链系统、介质和电子设备 | |
US20100023479A1 (en) | Hexadecimal file fast decompression method | |
US20240354611A1 (en) | Heterogeneous representation of parametrized quantum circuits | |
CN114095203B (zh) | 数据加密交互方法、装置及可读介质 | |
CN115391297A (zh) | 文件处理方法、装置、电子设备和存储介质 | |
US20120246342A1 (en) | Sequence conversion device | |
CN118259980A (zh) | 一种数据获取的方法和装置 | |
KR101336855B1 (ko) | 코드를 생성하는 방법, 장치 및 기록매체와, 코드를 관리하는 방법 및 시스템 |
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 |