一种数据处理方法、装置、硬件装置及芯片与流程

文档序号:15982402发布日期:2018-11-17 00:29阅读:179来源:国知局

本发明涉及通信技术领域,具体涉及一种数据处理方法、装置、硬件装置及芯片。

背景技术

现有技术中,在将待存储多维数组存储为目标存储多维数组时,一般会在该待储存多维数组的各元素之间,添加标识符、分隔符、描述字段等众多复杂、冗余的信息,从而形成目标存储多维数组,并保存起来。由于要在待储存多维数组的各元素之间,添加标识符、分隔符、描述字段等众多复杂、冗余的信息,那么,这便导致现有技术中的存储多维数组的方法效率较低。



技术实现要素:

本发明的目的在于提供一种数据处理方法、装置、硬件装置及芯片,用以解决现有技术中的存储多维数组的方法效率较低的问题。

为实现上述目的,本发明的技术方案为:

本发明提供一种数据处理方法,所述方法包括:

获取待存储多维数组;

获取数据层数n,其中,所述n不小于2;

将第一数据结构确定为第1层数据的数据结构,其中,所述第一数据结构包括第一部分和第二部分,所述第一部分排布在所述第二部分前面,所述第二部分包括所述待存储多维数组,所述第一部分包括标识信息,所述标识信息包括所述第二部分中包括的数据的类型、纯数据结构的数据的长度,以及所述第二部分包括的所述第一数据结构的数据的数量;

若n=2,将纯数据结构的所述待存储多维数组确定为第2层数据,其中,所述纯数据结构的数据为字符串格式的数据;

将所述第2层数据嵌套在所述第1层数据中的第二部分中,得到目标存储多维数组;

若n>2,响应于用户的确定指令,确定出第2~n层数据,其中,第2~n-1层数据中的任一层数据的结构为至少一个所述第一数据结构的数据,或者至少一个所述第一数据结构的数据和一个纯数据结构的数据,第n层数据的结构为纯数据结构;

获取所述第2~n层数据中的每层数据的嵌套位置,其中,每层数据的嵌套位置,是指该层数据的上一层数据中的至少一个第一数据结构中的第二部分;

将所述第2~n层数据中的每层数据,嵌套在对应的嵌套位置上,得到所述目标存储多维数组,其中,所述目标存储多维数组中的数据为所述待存储多维数组。

进一步的,得到所述目标存储多维数组之后,所述方法还包括:

若所述第1层数据中不包括纯数据结构的数据,所述第1层数据中包括至少一个所述第一数据结构的数据,则读取所述第1层数据中包括的至少一个所述第一数据结构的数据;

若所述第1层数据中包括纯数据结构的数据,所述第1层数据中不包括至少一个所述第一数据结构的数据,则读取所述第1层数据中包括的纯数据结构的数据;

若所述第1层数据中包括纯数据结构的数据,且所述第1层数据中包括至少一个所述第一数据结构的数据,则读取所述第1层数据中包括的纯数据结构的数据;

在读取完所述第1层数据中包括的纯数据结构的数据后,读取所述第1层数据中包括的至少一个所述第一数据结构的数据。

进一步的,读取所述第1层数据中包括的纯数据结构的数据,具体包括:

读取所述第1层数据中包括的纯数据结构的数据中的任一元素;

将所述第1层数据中包括的纯数据结构的数据的长度减去1;

若当前第1层数据中不包括纯数据结构的数据,则确定读取完毕所述第1层数据中包括的纯数据结构的数据;

若所述当前第1层数据中包括纯数据结构的数据,则读取所述当前第1层数据中包括纯数据结构的数据中的任一元素;

将所述当前第1层数据中包括的纯数据结构的数据的长度减去1;

若所述当前第1层数据中包括纯数据结构的数据,则执行读取所述当前第1层数据中包括纯数据结构的数据中的任一元素的操作;

若所述当前第1层数据中不包括纯数据结构的数据,则确定读取完毕所述第1层数据中包括的纯数据结构的数据。

进一步的,读取所述第1层数据中包括的至少一个所述第一数据结构的数据,具体包括:

读取所述第1层数据中包括的任一所述第一数据结构的数据;

将所述第1层数据中包括的任一所述第一数据结构的数据的数量减去1;

若当前第1层数据中不包括所述第一数据结构的数据,则确定读取完毕所述第1层数据中包括的至少一个所述第一数据结构的数据;

若所述当前第1层数据中包括所述第一数据结构的数据,则读取所述当前第1层数据中包括的所述第一数据结构的数据中的任一第一数据结构的数据;

将所述当前第1层数据中包括的任一所述第一数据结构的数据的数量减去1;

若所述当前第1层数据中包括所述第一数据结构的数据,则执行读取所述当前第1层数据中包括的所述第一数据结构的数据中的任一第一数据结构的数据的操作;

若所述当前第1层数据中不包括所述第一数据结构的数据,则确定读取完毕所述第1层数据中包括的至少一个所述第一数据结构的数据。

进一步的,读取所述第1层数据中包括的任一所述第一数据结构的数据,具体包括:

若该第一数据结构的数据中不包括纯数据结构的数据,该第一数据结构的数据中包括至少一个所述第一数据结构的数据,则读取该第一数据结构的数据中包括的至少一个所述第一数据结构的数据;

若该第一数据结构的数据中包括纯数据结构的数据,该第一数据结构的数据不包括至少一个所述第一数据结构的数据,则读取该第一数据结构的数据中包括的纯数据结构的数据;

若该第一数据结构的数据中包括纯数据结构的数据,且该第一数据结构的数据中包括至少一个所述第一数据结构的数据,则读取该第一数据结构的数据中包括的纯数据结构的数据;

在读取完该第一数据结构的数据中包括的纯数据结构的数据后,读取该第一数据结构的数据中包括的至少一个所述第一数据结构的数据。

进一步的,读取该第一数据结构的数据中包括的纯数据结构的数据,具体包括:

读取该第一数据结构的数据中包括的纯数据结构的数据中的任一元素;

将该第一数据结构的数据中包括的纯数据结构的数据的长度减去1;

若当前该第一数据结构的数据中不包括纯数据结构的数据,则确定读取完毕该第一数据结构的数据中包括的纯数据结构的数据;

若所述当前该第一数据结构的数据中包括纯数据结构的数据,则读取所述当前该第一数据结构的数据中包括纯数据结构的数据中的任一元素;

将所述当前该第一数据结构的数据中包括的纯数据结构的数据的长度减去1;

若所述当前该第一数据结构的数据中包括纯数据结构的数据,则执行读取所述当前该第一数据结构的数据中包括纯数据结构的数据中的任一元素的操作;

若所述当前该第一数据结构的数据中不包括纯数据结构的数据,则确定读取完毕该第一数据结构的数据中包括的纯数据结构的数据。

进一步的,读取该第一数据结构的数据中包括的至少一个所述第一数据结构的数据,具体包括:

读取该第一数据结构的数据中包括的任一所述第一数据结构的数据;

将该第一数据结构的数据中包括的任一所述第一数据结构的数据的数量减去1;

若当前该第一数据结构的数据中不包括所述第一数据结构的数据,则确定读取完毕所述第1层数据中包括的至少一个所述第一数据结构的数据;

若所述当前该第一数据结构的数据中包括所述第一数据结构的数据,则读取所述当前该第一数据结构的数据中包括的所述第一数据结构的数据中的任一第一数据结构的数据;

将所述当前该第一数据结构的数据中包括的任一所述第一数据结构的数据的数量减去1;

若所述当前该第一数据结构的数据中包括所述第一数据结构的数据,则执行读取所述当前该第一数据结构的数据中包括的所述第一数据结构的数据中的任一第一数据结构的数据的操作;

若所述当前该第一数据结构的数据中包括所述第一数据结构的数据,则执行读取所述当前该第一数据结构的数据中包括的所述第一数据结构的数据中的任一第一数据结构的数据的操作;

若所述当前该第一数据结构的数据中不包括所述第一数据结构的数据,则确定读取完毕所述该第一数据结构的数据中包括的至少一个所述第一数据结构的数据。

本发明提供一种数据处理装置,所述装置包括:

获取模块,用于获取待存储多维数组;

所述获取模块,还用于获取数据层数n,其中,所述n不小于2;

确定模块,用于将第一数据结构确定为第1层数据的数据结构,其中,所述第一数据结构包括第一部分和第二部分,所述第一部分排布在所述第二部分前面,所述第二部分包括所述待存储多维数组,所述第一部分包括标识信息,所述标识信息包括所述第二部分中包括的数据的类型、纯数据结构的数据的长度,以及所述第二部分包括的所述第一数据结构的数据的数量;

所述确定模块,还用于若n=2,将纯数据结构的所述待存储多维数组确定为第2层数据,其中,所述纯数据结构的数据为字符串格式的数据;

嵌套模块,用于将所述第2层数据嵌套在所述第1层数据中的第二部分中,得到目标存储多维数组;

所述确定模块,还用于若n>2,响应于用户的确定指令,确定出第2~n层数据,其中,第2~n-1层数据中的任一层数据的结构为至少一个所述第一数据结构的数据,或者至少一个所述第一数据结构的数据和一个纯数据结构的数据,第n层数据的结构为纯数据结构;

所述获取模块,还用于获取所述第2~n层数据中的每层数据的嵌套位置,其中,每层数据的嵌套位置,是指该层数据的上一层数据中的至少一个第一数据结构中的第二部分;

所述嵌套模块,还用于将所述第2~n层数据中的每层数据,嵌套在对应的嵌套位置上,得到所述目标存储多维数组,其中,所述目标存储多维数组中的数据为所述待存储多维数组。

本发明还提供一种数据处理硬件装置,所述硬件装置包括:

存储器,用于存储非暂时性计算机可读指令;以及

处理器,用于运行所述计算机可读指令,使得所述计算机可读指令被所述处理器执行时实现上述任一实现方式的数据处理方法。

本发明还提供一种存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一实现方式的数据处理方法。

本发明还提供一种芯片,所述芯片用于执行上述任一实现方式的数据处理方法。

本发明具有如下优点:

本发明中,可通过获取待存储多维数组,获取数据层数n,其中,所述n不小于2,将第一数据结构确定为第1层数据的数据结构,其中,所述第一数据结构包括第一部分和第二部分,所述第一部分排布在所述第二部分前面,所述第二部分包括所述待存储多维数组,所述第一部分包括标识信息,所述标识信息包括所述第二部分中包括的数据的类型、纯数据结构的数据的长度,以及所述第二部分包括的所述第一数据结构的数据的数量,若n=2,将纯数据结构的所述待存储多维数组确定为第2层数据,其中,所述纯数据结构的数据为字符串格式的数据,将所述第2层数据嵌套在所述第1层数据中的第二部分中,得到目标存储多维数组,若n>2,响应于用户的确定指令,确定出第2~n层数据,其中,第2~n-1层数据中的任一层数据的结构为至少一个所述第一数据结构的数据,或者至少一个所述第一数据结构的数据和一个纯数据结构的数据,第n层数据的结构为纯数据结构,获取所述第2~n层数据中的每层数据的嵌套位置,其中,每层数据的嵌套位置,是指该层数据的上一层数据中的至少一个第一数据结构中的第二部分,将所述第2~n层数据中的每层数据,嵌套在对应的嵌套位置上,得到所述目标存储多维数组,其中,所述目标存储多维数组中的数据为所述待存储多维数组。其中,所述目标存储多维数组中的数据为所述待存储多维数组。由于目标存储多维数组的结构简单,目标存储多维数组的结构中的多维数组的各元素中并不存在添加标识符、分隔符等复杂、冗余的信息,便在一定程度上提高了现有技术中的存储多维数组的方法的效率。

附图说明

图1为本发明提供的一种数据处理方法的流程示意图;

图2为本发明提供的一种两层数据的目标存储多维数组的结构示意图;

图3为本发明提供的另一种两层数据的目标存储多维数组的结构示意图;

图4为本发明提供的另一种两层数据的目标存储多维数组的结构示意图;

图5为本发明提供的解析目标存储多维数组的方法的流程示意图;

图6为本发明提供的一种数据处理装置的结构示意图;

图7为本发明提供的一种解析装置的结构示意图。

具体实施方式

以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例1

本发明实施例1提供一种数据处理方法,执行主体可以但不限于为手机、平板电脑或个人电脑(personalcomputer,pc)等用户终端,或者该些用户终端上运行的应用(application,app),或者,还可以是服务器等设备。

该方法的流程示意图可参见图1,该方法包括下述步骤:

s101,获取待存储多维数组。

s102,获取数据层数n,其中,n不小于2。

可接收用户输入的n,或其他客户端发来的n。

s103,将第一数据结构确定为第1层数据的数据结构其中,所述第一数据结构包括第一部分和第二部分,所述第一部分排布在所述第二部分前面,所述第二部分包括所述待存储多维数组,所述第一部分包括标识信息,所述标识信息包括所述第二部分中包括的数据的类型、纯数据结构的数据的长度,以及所述第二部分包括的所述第一数据结构的数据的数量。

s104,若n=2,将纯数据结构的待存储多维数组确定为第2层数据。

上述纯数据结构的数据,可为除了第一数据结构之外的任意结构的数据,比如整数或浮点数等。

s105,将第2层数据嵌套在第1层数据中的第二部分中,得到目标存储多维数组。

s106,若n>2,响应于用户的确定指令,确定出第2~n层数据,其中,第2~n-1层数据中的任一层数据的结构为至少一个第一数据结构的数据,或者至少一个第一数据结构的数据和一个纯数据结构的数据,第n层数据的结构为纯数据结构。

其中,用户的确定指令中可包括每层数据的数据结构和内容。该用户的确定指令,可以是用户输入的指定数据生成的指令,也可以是接收其他客户端发送来的指令。

s107,获取第2~n层数据中的每层数据的嵌套位置,其中,每层数据的嵌套位置,是指该层数据的上一层数据中的至少一个第一数据结构中的第二部分。

其中,可响应于用户的位置确定指令,执行s107,用户的位置确定指令中,包括第2~n层数据中的每层数据的嵌套位置。该指令可以是用户在客户端中输入预设的某种信息,触发客户端生成的,该指令也可以是其他客户端发送来的。

s108,将第2~n层数据中的每层数据,嵌套在对应的嵌套位置上,得到目标存储多维数组,其中,目标存储多维数组中的数据为待存储多维数组。

其中,第一部分包括的标识信息的格式,可以为预设数据格式,比如,预设数据格式格式可以为:[数据的类型-纯数据结构的数据的长度-第二部分包括的第一数据结构的数据的数量],预设数据格式也可为其他格式,可根据实际需求进行设置。另外,第一部分包括的标识信息的进制,可以为任意进制,第一部分包括的标识信息的数据长度,可以为任意长度,本发明实施例1对此不进行任何限定。

需说明的是,若第2层至第n-1层数据中的每层数据均包括至少一个第一数据结构的数据和至少一个纯数据结构的数据,至少一个纯数据结构的数据,可排布在至少一个第一数据结构的数据前面。

为了使得读者明白包括至少两层数据的目标存储多维数组是什么结构的,下面举例说明:

例如,参见图2,图2为包括两层数据的目标存储多维数组的结构示意图。其中,第一行矩形中的数据,是第1层数据,第二行矩形中的数据,是第二层数据,第二层数据嵌套在第1层数据的数据体中,其中,数据体,相当于上文提及的第二部分,数据头相当于上文提及的第一部分。可将第二层数据中的一个数据头+数据体,称为数据单元。第二层数据中的第一个数据头+数据体,为数据单元0,第二层数据中的第二个数据头+数据体,为数据单元1,第二层数据中的第三个数据头+数据体,为数据单元2。

再例如,参见图3,图3为包括两层数据的目标存储多维数组的结构示意图。其中,第一行矩形中的数据,是第1层数据,第二行矩形中的数据,是第二层数据,第二层数据嵌套在第1层数据的数据体中。

是第一层数据的数据头,即是第1层数据中的第一数据结构中的第一部分;数据体,是第1层数据中的第一数据结构中的第二部分。2,2,3,是第二层数据中的纯数据结构的数据,[0c0],是第二层数据中的第一数据结构中的第一部分,x(0,0,0),x(0,1,0),x(1,0,0),……,x(1,1,2),是第二层数据中的第一数据结构中的第二部分。

第1层数据中的第一数据结构中的第一部分[031],是十六进制数据,12比特。[031]中,0,表示数据体中的数据的类型为0,其中,可事先约定好0代表什么类型的数据,可根据实际情况进行设置。3表示纯数据结构的数据的长度,可事先约定好3代表的数据的长度是多长,1表示第一数据结构的数量,可事先约定好1代表的数量是多少。这里,3可代表数据的长度是3,1代表的数量是1。

第二层数据中的纯数据结构的数据2,2,3,表示待存储多维数组的尺寸为2*2*3。第二层数据中的第一数据结构中的第一部分[0c0],是十六进制数据,[0c0]中,第一个0,表示数据体中的数据的类型为0,其中,可事先约定好0代表什么类型的数据,可根据实际情况进行设置。c表示纯数据结构的数据的长度,可事先约定好c代表的数据的长度是多长,第二个0表示第一数据结构的数量,可事先约定好1代表的数量是多少。这里,c可代表数据的长度是12,0代表的数量是0。

再例如,参见图4,图4为包括两层数据的目标存储多维数组的结构示意图。其中,第一行矩形中的数据,是第1层数据,第二行矩形中的数据,是第二层数据,第二层数据嵌套在第1层数据的数据体中。[003],是第1层数据中的第一数据结构中的第一部分;数据体,是第1层数据中的第一数据结构中的第二部分。

第一个[040]是第二层数据中的第一个第一数据结构中的第一部分,[x(0,0,0),x(0,1,0),x(1,0,0),x(1,1,0)]是该第一数据结构中的第二部分。第二个[040]是第二层数据中的第二个第一数据结构中的第一部分,[x(0,0,1),x(0,1,1),x(1,0,1),x(1,1,1)]是该第一数据结构中的第二部分。第三个[040]是第二层数据中的第三个第一数据结构中的第一部分,[x(0,0,2),x(0,1,2),x(1,0,2),x(1,1,2)]是该第一数据结构中的第二部分。

第1层数据中的第一数据结构中的第一部分,是十六进制数据,12比特。[003]中,第一个0,表示数据体中的数据的类型为0,其中,可事先约定好0代表什么类型的数据,可根据实际情况进行设置。第二个0,表示纯数据结构的数据的长度,可事先约定好0代表的数据的长度是多长,3表示第一数据结构的数量,可事先约定好3代表的数量是多少。这里,0可代表数据的长度是0,3代表的数量是3。

第二层数据中的第一个第一数据结构中的第一部分,是十六进制数据,[040]中,第一个0,表示数据体中的数据的类型为0,其中,可事先约定好0代表什么类型的数据,可根据实际情况进行设置。4表示纯数据结构的数据的长度,可事先约定好4代表的数据的长度是多长,第二个0表示第一数据结构的数量,可事先约定好0代表的数量是多少。这里,c可代表数据的长度是12,0代表的数量是0。

图4示出的包括两层数据的目标存储多维数组,是4*3尺寸的多维数组。本发明实施例1涉及的第一部分,较为简单,不复杂。

在一种实施场景中,得到目标存储多维数组之后,还可执行下述操作:

若第1层数据中不包括纯数据结构的数据,第1层数据中包括至少一个第一数据结构的数据,则读取第1层数据中包括的至少一个第一数据结构的数据;

若第1层数据中包括纯数据结构的数据,第1层数据中不包括至少一个第一数据结构的数据,则读取第1层数据中包括的纯数据结构的数据;

若第1层数据中包括纯数据结构的数据,且第1层数据中包括至少一个第一数据结构的数据,则读取第1层数据中包括的纯数据结构的数据;

在读取完第1层数据中包括的纯数据结构的数据后,读取第1层数据中包括的至少一个第一数据结构的数据。

在一种实施场景中,读取第1层数据中包括的纯数据结构的数据,具体实现方式如下:

读取第1层数据中包括的纯数据结构的数据中的任一元素;

将第1层数据中包括的纯数据结构的数据的长度减去1;

若当前第1层数据中不包括纯数据结构的数据,则确定读取完毕第1层数据中包括的纯数据结构的数据;

若当前第1层数据中包括纯数据结构的数据,则读取当前第1层数据中包括纯数据结构的数据中的任一元素;

将当前第1层数据中包括的纯数据结构的数据的长度减去1;

若当前第1层数据中包括纯数据结构的数据,则执行读取当前第1层数据中包括纯数据结构的数据中的任一元素的操作;

若当前第1层数据中不包括纯数据结构的数据,则确定读取完毕第1层数据中包括的纯数据结构的数据。

在一种实施场景中,读取第1层数据中包括的至少一个第一数据结构的数据,具体实现方式如下:

读取第1层数据中包括的任一第一数据结构的数据;

将第1层数据中包括的任一第一数据结构的数据的数量减去1;

若当前第1层数据中不包括第一数据结构的数据,则确定读取完毕第1层数据中包括的至少一个第一数据结构的数据;

若当前第1层数据中包括第一数据结构的数据,则读取当前第1层数据中包括的第一数据结构的数据中的任一第一数据结构的数据;

将当前第1层数据中包括的任一第一数据结构的数据的数量减去1;

若当前第1层数据中包括第一数据结构的数据,则执行读取当前第1层数据中包括的第一数据结构的数据中的任一第一数据结构的数据的操作;

若当前第1层数据中不包括第一数据结构的数据,则确定读取完毕第1层数据中包括的至少一个第一数据结构的数据。

在一种实施场景中,读取第1层数据中包括的任一第一数据结构的数据,具体实现方式如下:

若该第一数据结构的数据中不包括纯数据结构的数据,该第一数据结构的数据中包括至少一个第一数据结构的数据,则读取该第一数据结构的数据中包括的至少一个第一数据结构的数据;

若该第一数据结构的数据中包括纯数据结构的数据,该第一数据结构的数据不包括至少一个第一数据结构的数据,则读取该第一数据结构的数据中包括的纯数据结构的数据;

若该第一数据结构的数据中包括纯数据结构的数据,且该第一数据结构的数据中包括至少一个第一数据结构的数据,则读取该第一数据结构的数据中包括的纯数据结构的数据;

在读取完该第一数据结构的数据中包括的纯数据结构的数据后,读取该第一数据结构的数据中包括的至少一个第一数据结构的数据。

在一种实施场景中,读取该第一数据结构的数据中包括的纯数据结构的数据,具体实现方式如下:

读取该第一数据结构的数据中包括的纯数据结构的数据中的任一元素;

将该第一数据结构的数据中包括的纯数据结构的数据的长度减去1;

若当前该第一数据结构的数据中不包括纯数据结构的数据,则确定读取完毕该第一数据结构的数据中包括的纯数据结构的数据;

若当前该第一数据结构的数据中包括纯数据结构的数据,则读取当前该第一数据结构的数据中包括纯数据结构的数据中的任一元素;

将当前该第一数据结构的数据中包括的纯数据结构的数据的长度减去1;

若当前该第一数据结构的数据中包括纯数据结构的数据,则执行读取当前该第一数据结构的数据中包括纯数据结构的数据中的任一元素的操作;

若当前该第一数据结构的数据中不包括纯数据结构的数据,则确定读取完毕该第一数据结构的数据中包括的纯数据结构的数据。

在一种实施场景中,读取该第一数据结构的数据中包括的至少一个第一数据结构的数据,具体实现方式如下:

读取该第一数据结构的数据中包括的任一第一数据结构的数据;

将该第一数据结构的数据中包括的任一第一数据结构的数据的数量减去1;

若当前该第一数据结构的数据中不包括第一数据结构的数据,则确定读取完毕第1层数据中包括的至少一个第一数据结构的数据;

若当前该第一数据结构的数据中包括第一数据结构的数据,则读取当前该第一数据结构的数据中包括的第一数据结构的数据中的任一第一数据结构的数据;

将当前该第一数据结构的数据中包括的任一第一数据结构的数据的数量减去1;

若当前该第一数据结构的数据中包括第一数据结构的数据,则执行读取当前该第一数据结构的数据中包括的第一数据结构的数据中的任一第一数据结构的数据的操作;

若当前该第一数据结构的数据中包括第一数据结构的数据,则执行读取当前该第一数据结构的数据中包括的第一数据结构的数据中的任一第一数据结构的数据的操作;

若当前该第一数据结构的数据中不包括第一数据结构的数据,则确定读取完毕该第一数据结构的数据中包括的至少一个第一数据结构的数据。

实施例2

本发明实施例2提供一种数据处理方法,该方法用于解析目标存储多维数组,该方法包括下述步骤:

s201,解析当前第1层数据中的第一部分的标识信息。

s202,根据标识信息,判断当前第1层数据中的纯数据结构的数据的长度是否大于0。

若判断出当前第1层数据中的纯数据结构的数据的长度大于0,执行s203,否则,执行s206。

s203,读取出当前第1层数据中的纯数据结构的数据中的一个元素。

s204,将当前第1层数据中的纯数据结构的数据的长度减去1。

s205,判断当前第1层数据中的纯数据结构的数据的长度是否大于0。

若判断出当前第1层数据中的纯数据结构的数据的长度不大于0,执行s206;否则,执行s203。

s206,根据标识信息,判断当前第1层数据中的第一数据结构的数据的数量是否大于0。

若判断出当前第1层数据中的第一数据结构的数据的数量大于0,执行s207;否则,结束进程。

s207,读取当前第1层数据中的任一第一数据结构的数据。

读取当前第1层数据中的任一第一数据结构的数据中的每层数据的过程,相似于读取第1层数据中的第二部分的过程。

具体的,解析出当前该任一第一数据结构的数据中的第一部分的标识信息,根据标识信息,判断当前该任一第一数据结构的数据中的纯数据结构的数据的长度是否大于0,若判断出当前该任一第一数据结构的数据中的纯数据结构的数据的长度不大于0,根据标识信息,判断当前该任一第一数据结构的数据的数量是否大于0,若判断出当前该任一第一数据结构的数据的数量不大于0,执行s206,否则,读取当前该任一第一数据结构的数据中包括的第一数据结构的数据。若判断出当前该任一第一数据结构的数据中的纯数据结构的数据的长度大于0,读取出当前该任一第一数据结构的数据中的纯数据结构的数据中的一个元素,将当前该任一第一数据结构的数据中的纯数据结构的数据的长度减去1,判断当前该任一第一数据结构的数据中的纯数据结构的数据的长度是否大于0,若判断出当前该任一第一数据结构的数据中的纯数据结构的数据的长度大于0,执行读取出当前该任一第一数据结构中的纯数据结构的数据中的一个元素的操作,否则,根据标识信息,判断当前该任一第一数据结构的数据的数量是否大于0,若判断出当前该任一第一数据结构的数据的数量不大于0,执行s206,否则,读取当前该任一第一数据结构的数据中包括的第一数据结构的数据。

读取每层数据中的第一数据结构的数据中包括的第一数据结构的数据的操作,可参考上述读取当前第1层数据中的任一第一数据结构的数据的具体实现方式,只不过将当前第1层数据替换为每层数据,后续不再赘述。

s208,将当前第1层数据中的第一数据结构的数据减去1。

s209,判断当前第1层数据中的第一数据结构的数据的数量是否大于0。

若判断出当前第1层数据中的第一数据结构的数据的数量大于0,执行s207;否则,结束进程。

需要说明的是,只要获取到第1层数据的第一部分,便触发本发明实施例1的执行主体执行s201~209,无需其他干预,便可解析目标存储多维数组。

例如,参见图5,图5为解析目标存储多维数组的方法的流程示意图,该方法可执行下述操作:

1、数据头解析得到第1层数据中的纯数据结构的数据的长度和第一数据结构的数据的数量,2、读取数据直到纯数据结构的数据的长度为0,转入第一数据结构的数据的读取,3、读取第一数据结构的数据的过程类似于第1层数据中的数据头和数据体的读取过程,完成一次后,第一数据结构的数据的数量减去1,4、待第1层数据中的第一数据结构的数据的数量为0时,全部读取结束。

实施例3

在本发明实施例3还提供一种数据处理装置,该装置的结构示意图可参见图6,该数据处理装置包括:

获取模块21,用于获取待存储多维数组。

获取模块21,还用于获取数据层数n,其中,n不小于2;

确定模块22,用于将第一数据结构确定为第1层数据的数据结构,其中,所述第一数据结构包括第一部分和第二部分,所述第一部分排布在所述第二部分前面,所述第二部分包括所述待存储多维数组,所述第一部分包括标识信息,所述标识信息包括所述第二部分中包括的数据的类型、纯数据结构的数据的长度,以及所述第二部分包括的所述第一数据结构的数据的数量。

确定模块22,还用于若n=2,将纯数据结构的待存储多维数组确定为第2层数据。

嵌套模块23,用于将第2层数据嵌套在第1层数据中的第二部分中,得到目标存储多维数组。

确定模块22,还用于若n>2,响应于用户的确定指令,确定出第2~n层数据,其中,第2~n-1层数据中的任一层数据的结构为至少一个第一数据结构的数据,或者至少一个第一数据结构的数据和一个纯数据结构的数据,第n层数据的结构为纯数据结构。

获取模块21,还用于获取第2~n层数据中的每层数据的嵌套位置,其中,每层数据的嵌套位置,是指该层数据的上一层数据中的至少一个第一数据结构中的第二部分。

嵌套模块23,还用于将第2~n层数据中的每层数据,嵌套在对应的嵌套位置上,得到目标存储多维数组,其中,目标存储多维数组中的数据为待存储多维数组。

本发明实施例3还提供一种数据处理硬件装置,硬件装置包括:

存储器,用于存储非暂时性计算机可读指令;以及

处理器,用于运行计算机可读指令,使得计算机可读指令被处理器执行时实现执行实施例1、2中提及的任一实现方式的数据处理方法。

本发明实施例3还提供一种存储介质,用于存储非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时,使得计算机执行实施例1、2中提及的任一实现方式的数据处理方法。

本发明实施3还提供一种芯片,芯片用于执行实施例1、2中提及的任一实现方式的数据处理方法。

在本发明实施例3中,还提供一种解析装置,解析装置的结构示意图参见图7,包括:计数单元、数据读取单元、数据头解析单元,其中:

1)计数单元在初始状态时,所有纯数据结构的数据的长度和第一数据结构的数据的数量,均为0,这时,通过图7中的3控制数据读取单元读入数据头;

2)数据读取单元将数据头通过1送入数据头解析单元;

3)根据数据头信息,数据头解析单元通过图7中的2将数据长度与第一数据结构的数据的数量,送入计数单元;

4)根据数据层数n的不同,计数单元内对应有n组计数器记录数据长度和第一数据结构的数据的数量;

5)计数单元通过图7中的3控制数据读取单元读入所有数据,返回初始化状态;

6)回到步骤1)的操作,直到数据码流结束。

本发明中,可通过获取待存储多维数组,获取数据层数n,其中,n不小于2,将第一数据结构确定为第1层数据的数据结构,其中,所述第一数据结构包括第一部分和第二部分,所述第一部分排布在所述第二部分前面,所述第二部分包括所述待存储多维数组,所述第一部分包括标识信息,所述标识信息包括所述第二部分中包括的数据的类型、纯数据结构的数据的长度,以及所述第二部分包括的所述第一数据结构的数据的数量,若n>2,响应于用户的确定指令,确定出第2~n层数据,其中,第2~n-1层数据中的任一层数据的结构为至少一个第一数据结构的数据,或者至少一个第一数据结构的数据和一个纯数据结构的数据,第n层数据的结构为纯数据结构,获取第2~n层数据中的每层数据的嵌套位置,其中,每层数据的嵌套位置,是指该层数据的上一层数据中的至少一个第一数据结构中的第二部分,将第2~n层数据中的每层数据,嵌套在对应的嵌套位置上,得到目标存储多维数组,其中,目标存储多维数组中的数据为待存储多维数组。其中,目标存储多维数组中的数据为待存储多维数组。由于目标存储多维数组的结构简单,目标存储多维数组的结构中的多维数组的各元素中并不存在添加标识符、分隔符等复杂、冗余的信息,便在一定程度上提高了现有技术中的存储多维数组的方法的效率。

另外,现有技术中,在解析目标存储多维数组时,需要将目标存储多维数组的结构中的多维数组的各元素中添加的标识符、分隔符等复杂、冗余的信息剔除,然后才能解析出待存储多维数组,过程较繁琐、效率较低,而本发明中,在解析目标存储多维数组时,由于目标存储多维数组的结构简单,目标存储多维数组的结构中的待存储多维数组的各元素中并不存在添加标识符、分隔符等复杂、冗余的信息,在解析目标存储多维数组时,解析方法较为简单,效率较高。

再者,只要获取到第1层数据的第一部分,便触发本发明提供的数据处理方法解析目标存储多维数组,无需其他干预,效率较高。

需要说明的是,实施例1~3中提及的各技术特征可自由组合,本发明对此不进行任何限定。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1