数据转换的方法和装置与流程

文档序号:21101766发布日期:2020-06-16 20:52阅读:186来源:国知局
数据转换的方法和装置与流程

本公开是关于软件技术领域,尤其是关于一种数据转换的方法和装置。



背景技术:

在现有技术中,各设备公司自主研发自己的设备。这些设备具有不同的功能,设备搭载的系统也不尽相同。在做集成项目时,可以将这些设备集成在一起使用。此时,不可避免地设备之间需要通信。

然而,由于没有标准的协议,因此发送端发送的数据如果被使用不同协议的接收端接收,接收端不能正确解析数据。

在实现本公开的过程中,发明人发现至少存在以下问题:

需要依靠程序员通过手动的方式将接收到的数据进行转换,以使得接收端可以正确解析转换后的数据。但是这会导致耗费大量的人力,并且转换效率较低。



技术实现要素:

为了克服相关技术中存在的问题,本公开提供了以下技术方案:

根据本公开实施例的第一方面,提供一种数据转换的方法,所述方法包括:

获取基于目标输入协议的第一数据;

根据所述目标输入协议,获取映射关系模板,其中,所述映射关系模板包括目标输入协议的构成要素和目标输出协议的构成要素之间的第一映射关系,以及目标输入协议的构成要素间的关联关系与目标输出协议的构成要素间的关联关系之间的第二映射关系;

根据所述第一数据、第一映射关系以及第二映射关系,生成基于目标输出协议的第二数据。

可选地,所述根据所述第一数据、第一映射关系以及第二映射关系,生成基于目标输出协议的第二数据,包括:

根据目标输入协议包含的构成要素以及所述第一映射关系,确定目标输出协议包含的构成要素;

根据第二映射关系、以及目标输入协议的构成要素间的关联关系,构建目标输出协议的构成要素间的关联关系;

根据目标输入协议的各构成要素包含的数据,生成目标输出协议的各构成要素包含的数据;

输出基于目标输出协议的第二数据。

可选地,所述方法还包括:获取与所述目标输入协议对应的节点树,所述目标输入协议的每个构成要素对应所述节点树中的一个节点,所述目标输入协议的构成要素间的关联关系具体为所述节点树中节点间的关联关系;

根据所述目标输入协议对应的节点树构建所述目标输出协议对应的节点树。

可选地,所述目标输入协议的类型包括一个或多个,所述目标输出协议的类型包括一个或多个,当所述目标输入协议的类型和/或所述目标输出协议的类型为多个时,在所述方法之前还包括:

根据每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,按照预定规则,生成唯一的协议标识;

将所述协议标识,与对应的所述目标输入协议与目标输出协议间对应的映射关系模板,进行关联存储;

根据获取的所述第一数据的目标输入协议的类型,和/或确定的目标输出协议的类型,实时生成协议标识;

所述根据所述目标输入协议,获取映射关系模板,包括:根据所述实时生成的协议标识,获取对应的映射关系模板。

可选地,所述获取基于目标输入协议的第一数据之后,还包括:

确定所述第一数据的格式,如果所述第一数据的格式不是预设格式,则将所述第一数据的格式转换为所述预设格式。

根据本公开实施例的第二方面,提供一种数据转换的装置,所述装置包括:

获取模块,用于获取基于目标输入协议的第一数据;根据所述目标输入协议,获取映射关系模板,其中,所述映射关系模板包括目标输入协议的构成要素和目标输出协议的构成要素之间的第一映射关系,以及目标输入协议的构成要素间的关联关系与目标输出协议的构成要素间的关联关系之间的第二映射关系;

生成模块,用于根据所述第一数据、第一映射关系以及第二映射关系,生成基于目标输出协议的第二数据。

可选地,所述生成模块,用于:

根据目标输入协议包含的构成要素以及所述第一映射关系,确定目标输出协议包含的构成要素;

根据第二映射关系、以及目标输入协议的构成要素间的关联关系,构建目标输出协议的构成要素间的关联关系;

根据目标输入协议的各构成要素包含的数据,生成目标输出协议的各构成要素包含的数据;

输出基于目标输出协议的第二数据。

可选地,所述获取模块,还用于获取与所述目标输入协议对应的节点树,所述目标输入协议的每个构成要素对应所述节点树中的一个节点,所述目标输入协议的构成要素间的关联关系具体为所述节点树中节点间的关联关系;

所述装置还包括:

建立模块,用于根据所述目标输入协议对应的节点树构建所述目标输出协议对应的节点树。

可选地,所述目标输入协议的类型包括一个或多个,所述目标输出协议的类型包括一个或多个,所述生成模块,还用于根据每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,按照预定规则,生成唯一的协议标识;

所述装置还包括:

存储模块,用于将所述协议标识,与对应的所述目标输入协议与目标输出协议间对应的映射关系模板,进行关联存储;

所述生成模块,还用于根据获取的所述第一数据的目标输入协议的类型,和/或确定的目标输出协议的类型,实时生成协议标识;

所述获取模块,用于根据所述实时生成的协议标识,获取对应的映射关系模板。

可选地,其特征在于,所述装置还包括:

转换模块,用于确定所述第一数据的格式,如果所述第一数据的格式不是预设格式,则将所述第一数据的格式转换为所述预设格式。

根据本公开实施例的第三方面,提供一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述数据转换的方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述数据转换的方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例提供的方法,可以基于映射关系模板中记录的内容,对基于目标输入协议的第一数据进行转换,得到基于目标输出协议的第二数据。在转换的过程中,不仅可以将目标输入协议的构成要素转换为目标输出协议的构成要素,还可以将目标输入协议的构成要素间的关联关系转换为目标输出协议的构成要素间的关联关系,最终可以将基于目标输入协议的第一数据,转换为基于目标输出协议的第二数据。相对于手动对数据进行转换的方式,本公开实施例提供的方法可以自动对基于目标输入协议的第一数据的内容和结构进行转换,从而能够节省大量的人力,转换效率也将大大提高。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:

图1是根据一示例性实施例示出的一种数据转换的方法的流程示意图;

图2是根据一示例性实施例示出的一种映射关系的示意图;

图3是根据一示例性实施例示出的一种映射关系的示意图;

图4是根据一示例性实施例示出的一种映射关系的示意图;

图5是根据一示例性实施例示出的一种映射关系的示意图;

图6是根据一示例性实施例示出的一种数据转换的装置的结构示意图;

图7是根据一示例性实施例示出的一种终端的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供了一种数据转换的方法,该方法可以由终端实现。其中,终端可以是手机、平板电脑、台式计算机、笔记本计算机等。

本公开一示例性实施例提供了一种数据转换的方法,如图1所示,该方法的处理流程可以包括如下的步骤:

步骤s110,获取基于目标输入协议的第一数据。

在实施中,本公开实施例提供的方法可以在终端中执行,终端可以作为接收第一数据的接收端,发送端可以向接收端发送基于目标输入协议的第一数据,接收端可以接收基于目标输入协议的第一数据。基于目标输入协议的第一数据是在发送端中生成的,发送端采用目标输入协议来生成基于目标输入协议的第一数据。如果接收端中采用的不是目标输入协议,则发送端采用的协议与接收端采用的协议不一致,则接收端可能无法正确解析基于目标输入协议的第一数据。因此,可以通过本公开实施例提供的方法,对基于目标输入协议的第一数据进行转换,转换为接收端本地或者与接收端相连接的其他终端能够正确解析的基于目标输出协议的第二数据。其中,目标输入协议可以是报警协议、图片协议、人流量协议、股票数据协议等。第一数据可以是报文形式的数据。

步骤s120,根据目标输入协议,获取映射关系模板。

其中,映射关系模板包括目标输入协议的构成要素和目标输出协议的构成要素之间的第一映射关系,以及目标输入协议的构成要素间的关联关系与目标输出协议的构成要素间的关联关系之间的第二映射关系。

在实施中,由于接收端会接收到不同发送端发送的基于不同输入协议的数据,对于基于不同输入协议的数据,转换过程中使用的映射关系模板有所区别。为了通过与目标输入协议对应的映射关系模板,对基于目标输入协议的第一数据进行转换,可以在进行数据转换之前,首先确定目标输入协议的协议标识,基于目标输入协议的协议标识,获取映射关系模板。

可选地,目标输入协议的类型包括一个或多个,目标输出协议的类型包括一个或多个,当目标输入协议的类型和/或目标输出协议的类型为多个时,在方法之前还包括:根据每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,按照预定规则,生成唯一的协议标识;将协议标识,与对应的目标输入协议与目标输出协议间对应的映射关系模板,进行关联存储;根据获取的第一数据的目标输入协议的类型,和/或确定的目标输出协议的类型,实时生成协议标识;根据目标输入协议,获取映射关系模板的步骤可以包括:根据实时生成的协议标识,获取对应的映射关系模板。

在实施中,目标输入协议的类型可以不仅仅是一个,目标输出协议的类型也可以不仅仅是一个,目标输入协议的类型可以包括一个或多个,目标输出协议的类型可以包括一个或多个。当目标输入协议的类型或者目标输出协议的类型为多个、目标输入协议的类型和目标输出协议的类型同时为多个时,为了区分这些目标输入协议和这些目标输出协议,可以根据每个类型的目标输入协议包含的构成要素或者对应类型的目标输出协议包含的构成要素,按照预定规则,生成唯一的协议标识;根据每个类型的目标输入协议包含的构成要素和对应类型的目标输出协议包含的构成要素,按照预定规则,生成唯一的协议标识。

可以通过递归算法,根据每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,生成唯一的协议标识。或者可以对每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,进行递归排序,得到唯一的协议标识。

下面将详细介绍基于递归算法根据每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,生成唯一的协议标识的方法。

基于同一输入协议的第一数据中,构成要素不会变,构成要素包括的数据会变化。因此,可以基于递归算法为不变的构成要素进行递归排序,得到一个长字符串,然后,可以将这个长字符串作为协议标识。例如,第一数据alarmmess的内容如下:

第一数据alarmmess是json(javascriptobjectnotation,脚本语言对象标记)格式的数据,在json格式的数据中用冒号、双引号和大括号来构造数据,如第一数据alarmmess中的"mesgtype":"publish",双引号中的内容是构成要素和构成要素包含的数据,mesgtype是构成要素,冒号是赋值,publish是构成要素包含的数据,即构成要素mesgtype包含的数据是publish。依次类推,对第一数据alarmmess中的所有构成要素进行递归排序,组成一个长字符串:alarmmessmesgtypealammtypealarmstypeeventidalarmtimestr2str1alarmstpicfile,作为协议标识。

可选地,如果第一数据中构成要素的数据类型是数组类型,数组类型的构成要素包括多个子构成要素,每个子构成要素的标识是类似的且子构成要素的数量较多,因此,当遇到数组类型的构成要素时,可以不对数组类型的构成要素进行递归排序。

在确定了协议标识之后,可以将协议标识,与对应的目标输入协议与目标输出协议间对应的映射关系模板,进行关联存储,这样每个映射关系模板都对应有一个唯一的协议标识,继而可以通过协议标识查找对应的映射关系模板。

在接收端接收到基于目标输入协议的第一数据之后,为了确定要使用的映射关系模板,可以先实时生成协议标识,这样可以根据实时生成的协议标识,获取对应的映射关系模板。在实时生成协议标识的过程中,可以根据获取的第一数据的目标输入协议的类型,或者确定的目标输出协议的类型,实时生成协议标识;也可以根据获取的第一数据的目标输入协议的类型,和确定的目标输出协议的类型,实时生成协议标识。最终,可以根据实时生成的协议标识,获取对应的映射关系模板。

其中,映射关系模板包括目标输入协议的构成要素和目标输出协议的构成要素之间的第一映射关系,以及目标输入协议的构成要素间的关联关系与目标输出协议的构成要素间的关联关系之间的第二映射关系。

第一映射关系可以是目标输入协议的各构成要素和目标输出协议的各构成要素之间的对应关系,记录的可以是目标输出协议的任一构成要素包含的数据,是从目标输入协议的哪个构成要素中获取的。第二映射关系可以是目标输入协议的构成要素间的关联关系与目标输出协议的构成要素间的关联关系,记录的可以是目标输出协议的构成要素间的结构是如何通过目标输入协议的构成要素间的结构进行转换而来的。

如图2所示,目标输入协议可以通过映射关系模板映射成目标输出协议,具体可以通过映射关系模板将基于目标输入协议的第一数据转换为基于目标输出协议的第二数据。

如图3所示,图中左侧是输入协议,图中右侧是映射关系模板和输出协议。可以基于图3所示的关系图,根据目标输入协议,获取映射关系模板。

图3中所示的输入协议-映射关系模板-输出协议的关系,可以作为配置文件的内容由人工进行配置,当配置完毕之后,可以存储在存储器中。可以对配置文件进行新增、删除、修改操作,以对映射关系模板进行修改,使得修改后的映射关系模板符合实际使用需求。

假如在执行协议转换的设备中进行协议转换操作的是软件程序,则在需要进行协议转换操作时,首先需要启动该软件程序。当软件程序启动后,会自动加载配置文件,读取配置文件中的内容。软件程序可以是独立的软件程序,也可以以插件的形式依存于其他软件程序中,或者以库文件的形式存在。再或者,还可以在服务器中以提供数据转换服务的形式存在。

在映射关系模板中记录了目标输入协议的构成要素是如何映射到目标输出协议的构成要素的。例如,目标输入协议的构成要素为mesgtype。目标输出协议的构成要素为messagetype。目标输入协议的构成要素mesgtype与目标输出协议的构成要素messagetype存在对应关系,且mesgtype是在属于alarmmess的,messagetype是属于alarmmessage的,则在映射关系模板中可以记录为:"/alarmmess/mesgtype/":"/alarmmessage/messagetype/"。也可以认为这是一种路径映射关系,即首先要找到数据项alarmmess,在数据项alarmmess之下再找到数据项mesgtype。同理,先要找到数据项alarmmessage,在数据项alarmmessage之下再找到数据项messagetype。即映射关系模板中记录了通过怎样的路径寻找一对存在对应关系的构成要素。

可选地,在执行步骤s110之前,可以确定第一数据的格式,如果第一数据的格式不是预设格式,则将第一数据的格式转换为预设格式。

在实施中,第一数据的格式可以包括json格式、xml(extensiblemarkuplanguage,可扩展标记语言)格式、mml(man-machinelanguage,人机语言)格式等,预设格式可以是json格式。json格式的数据是以属性键值对的形式存储构成要素和构成要素包含的数据的,这种存储方式决定了json格式的数据占用的存储空间较小,因此,可以先将非json格式的第一数据如xml格式的第一数据、mml格式的第一数据,通过协议格式转换算法转换为json格式的第一数据。

步骤s130,根据第一数据、第一映射关系以及第二映射关系,生成基于目标输出协议的第二数据。

在实施中,可以将目标输入协议中每个构成要素包含的数据作为目标输出协议中每个构成要素的数据来源。目标输出协议alarmmessage的构成要素可以见下面的示例:

{

"alarmmessage":{

"messagetype":"ceshi",

"alarmmaintype":"ceshi",

"alarmsubtype":"ceshi",

"params":

{

"eventguid":"ceshi",

"alarmstatus":"ceshi",

"alarmtime":"ceshi",

"strrev1":"ceshi",

"strrev2":"ceshi",

"picfile":[{

"picurl":"ceshi",

"filename":"ceshi"}]

}

}

}

在目标协议alarmmessage中“ceshi”就是等待填入数据的位置,填入数据的数据来源就可以是基于目标输入协议的第一数据。映射关系模板可以是:

{

"/alarmmess/mesgtype/":"/alarmmessage/messagetype/",

"/alarmmess/alammtype/":"/alarmmessage/alarmmaintype/",

"/alarmmess/alarmstype/":"/alarmmessage/alarmsubtype/",

"/alarmmess/eventid/":"/alarmmessage/params/eventguid/",

"/alarmmess/alarmst/":"/alarmmessage/params/alarmstatus/",

"/alarmmess/alarmtime/":"/alarmmessage/params/alarmtime/",

"/alarmmess/str1/":"/alarmmessage/params/strrev1/",

"/alarmmess/str2/":"/alarmmessage/params/strrev2/",

"/alarmmess/picfile/":"/alarmmessage/params/picfile/",

"/alarmmess/picfile//filename/":"/alarmmessage/params/picfile//filename/",

"/alarmmess/picfile//url/":"/alarmmessage/params/picfile//picurl/"

}

可选地,步骤s130可以包括:根据目标输入协议包含的构成要素以及第一映射关系,确定目标输出协议包含的构成要素;根据第二映射关系、以及目标输入协议的构成要素间的关联关系,构建目标输出协议的构成要素间的关联关系;根据目标输入协议的各构成要素包含的数据,生成目标输出协议的各构成要素包含的数据;输出基于目标输出协议的第二数据。

在实施中,如图4所示,首先,可以根据目标输入协议包含的构成要素以及第一映射关系,确定目标输出协议包含的构成要素。接着,根据第二映射关系、以及目标输入协议的构成要素间的关联关系,构建目标输出协议的构成要素间的关联关系。图4所示的是第一映射关系以及第二映射关系的一种示例。最后,根据目标输入协议的各构成要素包含的数据,生成目标输出协议的各构成要素包含的数据;输出基于目标输出协议的第二数据。

可选地,本公开实施例提供的方法还可以包括:获取与目标输入协议对应的节点树,目标输入协议的每个构成要素对应节点树中的一个节点,目标输入协议的构成要素间的关联关系具体为节点树中节点间的关联关系;根据目标输入协议对应的节点树构建目标输出协议对应的节点树。

在实施中,如图5所示,可以获取与目标输入协议对应的节点树,其中,目标输入协议的每个构成要素对应节点树中的一个节点,目标输入协议的构成要素间的关联关系具体为节点树中节点间的关联关系。接着,可以根据目标输入协议对应的节点树构建目标输出协议对应的节点树。图5所示的是目标输入协议对应的节点树以及目标输出协议对应的节点树的一种示例。可以遍历目标输入协议对应的节点树中的每个节点,根据目标输入协议对应的节点树构建目标输出协议对应的节点树。

可选地,构成要素可以是数组类型的构成要素,数组类型的构成要素中可以包括多个子构成要素。可以在映射关系模板中记录目标输入协议的数组类型的构成要素和目标输出协议的数组类型的构成要素之间的映射关系。基于目标输入协议的数组类型的构成要素和目标输出协议的数组类型的构成要素之间的映射关系,确定目标输入协议的数组类型的构成要素包括的多个子构成要素和目标输出协议的数组类型的构成要素包括的多个子构成要素之间的映射关系。基于第一数据中数组类型的数据、目标输入协议的数组类型的构成要素包括的多个子构成要素和目标输出协议的数组类型的构成要素包括的多个子构成要素之间的映射关系,生成基于目标输出协议的数组类型的数据。

或者,还可以在第一映射关系中的目标输入协议的构成要素中,确定数组类型的第一构成要素,并在第一映射关系中确定与第一构成要素对应的目标输出协议的第二构成要素。确定第一构成要素对应的属于同一数组的其它构成要素,并确定第二构成要素对应的属于同一数组的其它构成要素。基于第一构成要素对应的属于同一数组的其它构成要素在数组中的顺序、以及第二构成要素对应的属于同一数组的其它构成要素在数组中的顺序,确定第一构成要素对应的属于同一数组的其它构成要素和第二构成要素对应的属于同一数组的其它构成要素之间的第三映射关系。将第三映射关系添加到第一映射关系中。基于第一数据、第一映射关系和第二映射关系,生成基于目标输出协议的第二数据。

例如,数组picfile[2]=[{"filename":"2017-10-3110:09杭州1","filesize":10234,"url":"https://10.67.188.1/vms/index!1"},{"filename":"2017-10-3110:15杭州2","filesize":10234,"url":"https://10.67.188.1/vms/index!2"}],数组picfile中有两个子构成要素,每个子构成要素包括filename、filesize和url。配置第一映射关系时,只需要配置数组中的第一个子构成要素即可,其他子构成要素的第一映射关系都可以基于第一个子构成要素的第一映射关系确定得到。

本公开实施例提供的方法,可以基于映射关系模板中记录的内容,对基于目标输入协议的第一数据进行转换,得到基于目标输出协议的第二数据。在转换的过程中,不仅可以将目标输入协议的构成要素转换为目标输出协议的构成要素,还可以将目标输入协议的构成要素间的关联关系转换为目标输出协议的构成要素间的关联关系,最终可以将基于目标输入协议的第一数据,转换为基于目标输出协议的第二数据。相对于手动对数据进行转换的方式,本公开实施例提供的方法可以自动对基于目标输入协议的第一数据的内容和结构进行转换,从而能够节省大量的人力,转换效率也将大大提高。

本公开又一示例性实施例提供了一种数据转换的装置,如图6所示,该装置包括:

获取模块610,用于获取基于目标输入协议的第一数据;根据所述目标输入协议,获取映射关系模板,其中,所述映射关系模板包括目标输入协议的构成要素和目标输出协议的构成要素之间的第一映射关系,以及目标输入协议的构成要素间的关联关系与目标输出协议的构成要素间的关联关系之间的第二映射关系;

生成模块620,用于根据所述第一数据、第一映射关系以及第二映射关系,生成基于目标输出协议的第二数据。

可选地,所述生成模块620,用于:

根据目标输入协议包含的构成要素以及所述第一映射关系,确定目标输出协议包含的构成要素;

根据第二映射关系、以及目标输入协议的构成要素间的关联关系,构建目标输出协议的构成要素间的关联关系;

根据目标输入协议的各构成要素包含的数据,生成目标输出协议的各构成要素包含的数据;

输出基于目标输出协议的第二数据。

可选地,所述获取模块610,还用于获取与所述目标输入协议对应的节点树,所述目标输入协议的每个构成要素对应所述节点树中的一个节点,所述目标输入协议的构成要素间的关联关系具体为所述节点树中节点间的关联关系;

所述装置还包括:

建立模块,用于根据所述目标输入协议对应的节点树构建所述目标输出协议对应的节点树。

可选地,所述目标输入协议的类型包括一个或多个,所述目标输出协议的类型包括一个或多个,所述生成模块620,还用于根据每个类型的目标输入协议包含的构成要素和/或对应类型的目标输出协议包含的构成要素,按照预定规则,生成唯一的协议标识;

所述装置还包括:

存储模块,用于将所述协议标识,与对应的所述目标输入协议与目标输出协议间对应的映射关系模板,进行关联存储;

所述生成模块620,还用于根据获取的所述第一数据的目标输入协议的类型,和/或确定的目标输出协议的类型,实时生成协议标识;

所述获取模块610,用于根据所述实时生成的协议标识,获取对应的映射关系模板。

可选地,其特征在于,所述装置还包括:

转换模块,用于确定所述第一数据的格式,如果所述第一数据的格式不是预设格式,则将所述第一数据的格式转换为所述预设格式。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例提供的装置,可以基于映射关系模板中记录的内容,对基于目标输入协议的第一数据进行转换,得到基于目标输出协议的第二数据。在转换的过程中,不仅可以将目标输入协议的构成要素转换为目标输出协议的构成要素,还可以将目标输入协议的构成要素间的关联关系转换为目标输出协议的构成要素间的关联关系,最终可以将基于目标输入协议的第一数据,转换为基于目标输出协议的第二数据。相对于手动对数据进行转换的方式,本公开实施例提供的方法可以自动对基于目标输入协议的第一数据的内容和结构进行转换,从而能够节省大量的人力,转换效率也将大大提高。

需要说明的是:上述实施例提供的数据转换的装置在进行数据转换时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据转换的装置与数据转换的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图7示出了本发明一个示例性实施例提供的终端1800的结构示意图。该终端1800可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1800包括有:处理器1801和存储器1802。

处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1801所执行以实现本申请中方法实施例提供的数据转换的方法。

在一些实施例中,终端1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、触摸显示屏1805、摄像头1806、音频电路1807、定位组件1808和电源1809中的至少一种。

外围设备接口1803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1804用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1805用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置终端1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在终端1800的不同表面或呈折叠设计;在再一些实施例中,显示屏1805可以是柔性显示屏,设置在终端1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。

定位组件1808用于定位终端1800的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件1808可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1809用于为终端1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。

加速度传感器1811可以检测以终端1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制触摸显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器1812可以检测终端1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对终端1800的3d动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器1813可以设置在终端1800的侧边框和/或触摸显示屏1805的下层。当压力传感器1813设置在终端1800的侧边框时,可以检测用户对终端1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在触摸显示屏1805的下层时,由处理器1801根据用户对触摸显示屏1805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置终端1800的正面、背面或侧面。当终端1800上设置有物理按键或厂商logo时,指纹传感器1814可以与物理按键或厂商logo集成在一起。

光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制触摸显示屏1805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1805的显示亮度;当环境光强度较低时,调低触摸显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。

接近传感器1816,也称距离传感器,通常设置在终端1800的前面板。接近传感器1816用于采集用户与终端1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变小时,由处理器1801控制触摸显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变大时,由处理器1801控制触摸显示屏1805从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图7中示出的结构并不构成对终端1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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