CN103389991A - 数据交互的方法及装置以及数据转换的方法及装置 - Google Patents
数据交互的方法及装置以及数据转换的方法及装置 Download PDFInfo
- Publication number
- CN103389991A CN103389991A CN2012101434846A CN201210143484A CN103389991A CN 103389991 A CN103389991 A CN 103389991A CN 2012101434846 A CN2012101434846 A CN 2012101434846A CN 201210143484 A CN201210143484 A CN 201210143484A CN 103389991 A CN103389991 A CN 103389991A
- Authority
- CN
- China
- Prior art keywords
- data
- grid
- partly
- character string
- converted
- 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.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了数据交互的方法及装置以及数据转换的方法及装置,其中,所述方法应用在包含至少一个应用程序的中间层服务器的系统中,所述中间层服务器连接于一前端服务器以及一后端服务器,数据交互的方法包括:从前端服务器或至少一个应用程序获得数据访问请求;基于所述数据访问请求,向后端服务器发送数据获取请求;获得后端服务器基于所述数据获取请求发送来的格式为第一格式的第一数据;将第一数据转换为格式为第二格式的第二数据,其中,第二数据包括M个部分;将M个部分的第二数据存放于数据表中,其中数据表包括M个格子,第二数据的第i部分存放入所述数据表的第i个格子;将第二数据转换为格式为第三格式的第三数据。
Description
技术领域
本申请涉及数据处理领域,尤其涉及数据交互的方法及装置以及数据转换的方法及装置。
背景技术
随着计算机及网络的技术不断发展,通过计算机处理的数据的量和业务种类也是越来越多,其中,大型的数据处理系统一般包括如下三层:
前端:指依赖浏览器运行的脚本语言,比如Javascript;
中间层服务端:指Web应用,比如Java、Php等,承上启下,有自己的业务逻辑;
后端:指的是核心算法,其向各个Web应用提供后端接口,比如银行后端接口。
通常情况下,这三层之间会存在如下业务逻辑:
①服务端为前端提供Json接口,目的是将后端数据以Json格式输出给前端,前端最后把数据解析并在浏览器中展现。
②服务端为其他应用提供Xml数据接口,目的是将后端数据以Xml格式输出,调用方获取Xml格式数据后,再做其他处理。
为了实现上述业务逻辑,现有技术中一般是写一套程序来对数据的结构进行解析,然后再基于不同的要求,将其封装成Json、Xml格式的数据。现有技术中对Json、Xml格式数据的输出一般采用如下方式实现:
①对Json格式数据的输出:将用算法获得的数据放入Hashmap中,然后通过开源的Json公共库将Hashmap转换成Json格式。
②对Xml格式数据的输出:从算法获得原始数据后,先构造Xml类型的Documment对象,把数据转换成一个个节点,增加到Documment里面,最后将Documment以数据流的方式进行输出获得Xml格式数据。
在实现本申请实施例中技术方案的过程中,申请人发现现有技术中至少存在如下问题:
(1)现有技术中,不管是对Json格式数据的输出实现还是对Xml格式数据的输出实现,都需要依赖第三方的Api(Application Programming Interface,应用程序编程接口),使用方必须了解所有的实现细节,对技术的要求较高,故而也容易出现错误。
(2)现有技术中,不管是对Json格式数据的输出实现还是对Xml格式数据的输出实现,都会产生很多临时对象,故而占用存储空间,造成服务器的负担。
发明内容
本申请提供一种信息交互的方法及装置以及数据转存的方法及装置,用以解决现有技术中对Json格式数据和Xml格式数据的输出需要依赖第三方接口的技术问题。
本申请通过本申请中的实施例,提供如下技术方案:
一方面,本申请通过本申请中的一个实施例,提供如下技术方案:
一种数据交互的方法,所述方法应用在包含至少一个应用程序的中间层服务器的系统中,所述中间层服务器连接于一前端服务器以及一包含海量数据库的后端服务器,所述方法包括:
从所述前端服务器或所述至少一个应用程序获得数据访问请求;
基于所述数据访问请求,向所述后端服务器发送数据获取请求;
获得所述后端服务器基于所述数据获取请求发送来的存储于所述海量数据库中的格式为第一格式的第一数据;
在获得所述第一数据之后,将所述第一数据转换为格式为第二格式的第二数据,其中,其中所述第二数据包括M个部分,所述M为大于等于1的整数;
将所述包括M个部分的第二数据存放于数据表中,其中所述数据表包括M个格子,所述第二数据的第i部分存放入所述数据表的第i个格子,所述i为大于等于1、小于等于M的整数,所述第二格式与所述第一格式为不同的数据格式;
在将所述包括M个部分的第二数据存放于所述数据表之后,将所述第二数据转换为格式为第三格式的第三数据,其中,所述第一数据、所述第二数据以及所述第三数据为内容相同的数据,所述第三格式与所述第一格式为相同或不同的数据格式,所述第二格式与所述第一格式为不同的数据格式。
另一方面,本申请通过本申请中的另一实施例提供如下技术方案:
一种数据转换的方法,所述方法用于将通过数据表存储的第一数据的格式转换为第二格式,其中,所述数据表的格式与所述第二格式为不同的数据格式,所述数据表中包括M个格子,所述第一数据包括M个部分,所述M为大于等于1的整数,所述方法包括:
步骤S1:基于所述第二格式建立一空字符串;
依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中;
步骤S3:在1+i等于M时,获得格式为所述第二格式的第二数据,其中,所述第一数据与所述第二数据的内容相同。
另一方面,本申请通过本申请中的另一实施例提供如下技术方案:
一种数据交换的装置,包括:
第一获得单元,用于从所述前端服务器或所述至少一个应用程序获得数据访问请求;
第二获得单元,用于基于所述数据访问请求,向所述后端服务器发送数据获取请求;第三获得单元,用于获得所述后端服务器基于所述数据获取请求发送来的存储于所述海量数据库中的格式为第一格式的第一数据;
第一转换单元,用于在获得所述第一数据之后,将所述第一数据转换为格式为第二格式的第二数据,其中,其中所述第二数据包括M个部分,所述M为大于等于1的整数;
放入单元,用于将所述包括M个部分的第二数据存放于数据表中,其中所述数据表包括M个格子,所述第二数据的第i部分存放入所述数据表的第i个格子,所述i为大于等于1、小于等于M的整数,所述第二格式与所述第一格式为不同的数据格式;
第二转换单元,用于将所述第二数据转换为格式为第三格式的第三数据,其中,所述第一数据、所述第二数据以及所述第三数据为内容相同的数据,所述第三格式与所述第一格式为相同或不同的数据格式,所述第三格式与所述第一格式为不同的数据格式。
另一方面,本申请通过本申请中的另一实施例提供如下技术方案:
一种数据转换的装置,所述装置用于将通过数据表存储的第一数据的格式转换为第二格式,其中,所述数据表的格式与所述第二格式为不同的数据格式,所述数据表中包括M个格子,所述第一数据包括M个部分,所述M为大于等于1的整数,所述装置包括:
建立单元,用于执行步骤S1:基于所述第二格式建立一空字符串;
转换单元,用于依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中;
获得单元,用于执行步骤S3:在1+i等于M时,获得格式为所述第二格式的第二数据,其中,所述第一数据与所述第二数据的内容相同。
本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例针对大型数据处理系统的各个层之间的数据交互,先将所有的数据,不管是Json格式还是Xml格式,都转换为Adtable也就是数据表格式供该系统各个层之间进行调用。
在调用时采用统一的算法将Adtable中存储的数据转换成Json格式或者Xml格式,并且不需要了解第三方生成Json格式或者Xml格式数据的方法,故而实现起来较为便捷,并且对技术要求较低,也不容易出错。另外由于不需要依赖第三方生成Json格式或者Xml格式数据,故而产生的临时数据更少,减轻了服务器的负担。
附图说明
图1为本申请实施例一中一种数据交互的方法的流程图;
图2为本申请实施例一中Json格式数据的示意图;
图3为本申请实施例一AdTable数据结构的结构图;
图4为本申请实施例一中AdTable格式数据的示意图;
图5为本申请实施例一中将第二数据转换为第三数据的流程图;
图6为本申请实施例一中将第二数据的第1+i部分转换为第三数据的第1+i部分的流程图;
图7为本申请实施例一中Xml格式数据的示意图;
图8为本申请实施例三中一种信息交互的装置的方框图;
图9为本申请实施例四中一种数据转存的装置的示意图。
具体实施方式
现有技术中,在大型数据处理系统之间不同的层之间所传递的数据格式不一样,比如:服务端为前端提供的是Json格式的数据接口,而服务端的各应用之间获得的是Xml格式的数据,并且,在转化过程中都需要依赖第三方Api,故而存在着对技术的要求较高,故而容易出错的技术问题。并且,由于在实现过程中,会产生很多临时对象,故而存在着占用存储空间,造成服务器的负担的技术问题。
本申请实施例这里提出一种数据交互的方法及装置以及数据转换的方法及装置,旨在解决现有技术中大型数据处理系统的各层之间数据传递时容易出错的技术问题。
为了使本申请所属技术领域中的技术人员更清楚地理解本申请,下面结合附图,通过具体实施例对本申请技术方案作详细描述。
实施例一
请参考图1至图7,本申请实施例一提供一种数据交互的方法,所述方法应用在包含至少一个应用程序的中间层服务器的系统中,所述中间层服务器连接于一前端服务器以及一包含海量数据库的后端服务器。在具体实施过程中,所述数据交互的方法一般应用在大型的数据处理系统中,比如网络购物平台等。
如图1所述,所述数据交互的方法包括如下步骤:
S101:从所述前端服务器或所述至少一个应用程序获得数据访问请求;
在具体实施过程中,前端服务器或者至少一个应用程序在需要获得存储于后端服务器的海量数据库中的数据之时,会向中间层服务器发送一个数据访问请求,从而可以基于所述数据访问请求获得后端服务器中与之对应的数据。
S102:基于所述数据访问请求,向所述后端服务器发送数据获取请求;
在具体实施过程中,中间层服务器在获得该数据访问请求后,即会向后端服务器发送一与之对应的数据获取请求,从而从后端服务器获取所需数据,比如:用户信息、产品信息等等。
S103:获得所述后端服务器基于所述数据获取请求发送来的存储于所述海量数据库中的格式为第一格式的第一数据;
在具体实施过程中,所述第一格式可以为Json格式,也可以为Xml格式,通常情况下,这里的Json格式数据或者Xml格式数据会在网络购物平台之间转换并且传递。
如图2所示,为一Json格式的数据,它的主结构为公司,公司的字段包括:
(1)companyid:fushibaba,xiximingzhuang;
(2)companyname:义乌市瑞虎网络科技有限公司,浙江悠莱客服饰有限公司;
(3)offerlist:所述offerlist为公司的产品,又内嵌有一层产品数据,分别包括字段TITLE和RESOURCEID。
当然,所述第一数据还可以包括其他数据,对于第一数据为何种数据,本申请不作限制。
S104:在获得所述第一数据之后,将所述第一数据转换为格式为第二格式的第二数据,其中,所述第二数据包括M个部分,所述M为大于等于1的整数;
在具体实施过程中,所述将第一数据转换为第二格式的第二数据,首先需要将第一数据中的数据值提取出来,比如步骤S103中的Json格式数据,在转换为第二格式的第二数据时,就提取出如下M(6)个部分的数据:
(1)fushibaba;
(2)义乌市瑞虎网络科技有限公司;
(3)offerlist,可以看出这一部分又包括多条数据;
(4)xiximingzhuang;
(5)浙江悠莱客服饰有限公司;
(6)offerlist,同样这一部分包括多条数据。
在具体实施过程中,在将M(6)个数据从第一数据,比如Json格式数据或者Xml格式数据中提取出来之后,就需要将其转换为AdTable格式数据。
AdTable格式数据类似数据表模型,它定义了类似数据表的结构,并且能提供像操作数据表模式那样增、删记录、设置某列值,值也可以是AdTable格式数据,故而即使是Json、Xml数据中节点内含子节点,也可以采用AdTable格式数据中再套用AdTable格式数据的方式进行转换,从而解决Json、Xml数据中节点内含子节点的问题。同时AdTable负责将表数据转换成Json、Xml格式。
如图3所示,为AdTable的结构图,其各个类分别表示如下含义:
①Column类相当于字段,它设置字段名称、字段类型,比如图3中的字段名称为:String,而字段类型为:Enum。
②Schema类相当于表结构,属性columns是表字段的集合,属性alias是表名。通过Schema能表示一张表有哪些字段。
③AdTable类相当于表,属性schema定义了表的结构,属性rows则对应表中的记录集。它提供一些列操作数据的方法、和将数据转换成Json、Xml的方法。
S105:将所述包括M个部分的第二数据存放于数据表中,其中所述数据表包括M个格子,所述第二数据的第i部分存放入所述数据表的第i个格子,所述i为大于等于1、小于等于M的整数,所述第二格式与所述第一格式为不同的数据格式;
在基于步骤S104将Json格式数据或者Xml格式的数据转换为AdTable格式数据之后,将其写入AdTable数据表中。其具体存储过程为:
将第1条公司记录存放到“公司AdTable”中rows的第一条,每条记录都用数组表示,数组长度为3,分别存储companyid,companyname,offerlist的值。这样,第一条公司记录的编号“fushibaba”就被存储于第1条rows数组的第1项,第1条公司记录的名称“义乌市瑞虎网络科技有限公司”被存储于第1条rows数组的第2项,同理,第2条公司记录的编号“xiximingzhuang”被存储于第2条rows数组的第1项,第2条公司记录的名称“浙江悠莱客服饰有限公司”被存储于第2条rows数组的第2项。
而第一条公司记录的产品为一个数据集合,可再构造一新的AdTable,例如取名为“公司1的产品AdTable”,当然,也可以是其它名字。每条产品记录都用数组表示,数组长度为2,分别存储TITLE,RESOURCEID。第1条公司的产品1:名称“双层竹炭保暖裤打底裤九分裤”存储于第1条row数组的第1项,编号“628320366”存储于第1条row数组的第2项;第1条公司的产品2:名称“玫瑰精华双层踩脚裤竹炭裤”存储在第2条row数组的第1项,编号“684262488”存储在第2条row数组的第2项。
然后把“公司1的产品AdTable”存储到“公司AdTable”的第1条rows数组的第3项,即“公司AdTable”的字段“offerlist”的值是“公司1的产品AdTable”。同理把第2条公司记录的产品AdTable存储到“公司AdTable”的第2条rows数组的第3项。
如图4所示,为图2中的Json格式数据转换为AdTable格式并且存入所述AdTable数据表之后的示意图。
S106:在将所述包括M个部分的第二数据存放于所述数据表之后,将所述第二数据转换为格式为第三格式的第三数据,其中,所述第一数据、所述第二数据以及所述第三数据为内容相同的数据,所述第三格式与所述第一格式为相同或不同的数据格式,所述第二格式与所述第一格式为不同的数据格式。
在将不管是Xml格式数据还是Json格式数据都存储为AdTable格式之后,如果中间层需要向前端发送数据,那么将AaTable格式的第二数据转换为Json格式的第三数据;而如果中间层要向各应用程序发送数据,那么将AaTable格式的第二数据转换为Xml格式的第三数据。不管是将第二数据转换为Json格式还是Xml格式,如图5所示,都包括如下步骤:
S501:基于所述第三格式建立一空字符串;
依次取所述i值为0至M-1的整数,执行步骤S502:将所述M个格子中的第1+i个格子中的第二数据的第1+i部分转换为格式为所述第三格式的第三数据的第1+i部分,并将所述第三数据的第1+i部分置入所述空字符串中;
比如图4中的“公司AdTable”就包括6个格子,其编号分别为1-6,其中,第1-3个格子为该AdTable的第一条记录,而第4-6个格子为该AdTable的第二条记录,那么依次取i值为0-5,按顺序取完第一条记录的数据,再取下一条记录,就可以获得每一个格子中的数据,然后将其按顺序放入空字符串中。
S503:在1+i等于M时,获得格式为所述第三格式的第三数据。
假设1+i等于M,也就是把所有的格子都遍历完毕,故而所有的数据都已经写入空字符串,故而获得格式为第三格式的第三数据。
在具体实施过程中,所述将所述M个格子中的第1+i个格子中的第二数据的第1+i部分转换为格式为所述第三格式的第三数据的第1+i部分,并将所述第三数据的第1+i部分置入所述空字符串中,如图6所示,具体包括如下步骤:
S601:判断所述M个表格中的第1+i个格子中的第二数据的第1+i部分是否为所述第二格式,如果判断结果为否,转向S602;如果判断结果为是,转向S603。
在图4中可以看出,每一条记录中的每一列的数据包含如下两种情况:
(1)为字符串格式,比如第一条记录的第一列,其数据为:“fushibaba”;
(2)为AdTable格式也就是数据表格式,比如第一条记录的第三列,其数据为:offerlist,而offerlist下面又包含多条记录。
基于数据格式的不同,其转化方式也不同,具体见步骤S602、S603。
S602:如果所述判断结果为否,将所述第二数据的第1+i部分置入所述空字符串,以获得格式为所述第三格式的第三数据的第1+i部分。
比如图4中的第一条记录的第一列,其数据为:“fushibaba”,也就是字符串格式,将其直接写入空字符串即可。在图4中可以看出,每一部分数据都包含字段名和数据值,故而所述将所述第1+i部分第三数据置入所述空字符串中,也就是:将所述第三数据的第1+i部分的字段名以及数据值写入所述空字符串。比如第一条记录的第一列其字段名为:companyid,其数据值为:“fushibaba”,故而如果将其转换为Json格式,可以按照如下格式写入:"companyid":"fushibaba"。其他各个格子中的数据如果非AdTable格式,其写入方式与此类似,在此不再赘述。转换为Json格式的方式也与此类似,只是数据格式略有不同。
S603:如果所述判断结果为是,将所述第二数据的第1+i部分设置为所述第二数据,跳转至所述步骤S1,并顺序执行步骤S501、S502及S503,以获得格式为所述第三格式的第三数据的第1+i部分。
如图4所示的AdTable格式数据可以看出,第1条记录的第3列为“公司1的产品AdTable”也是AdTable格式,也就是数据表格式,没法将其直接按照字段名和数据值的格式写入空字符串中,需要先将其进行转换。其转换过程可见步骤S501、S502、S503,先建立一个该数据的空字符串,然后按顺序遍历该“公司1的产品AdTable”,最后将其转换为如下形式:
{″TITLE":"批发秋冬新品","RESOURCEID":"1101387268"},
{″TITLE":"批发秋冬韩国帽子","RESOURCEID":"1101756343"}
在获得上述数据后,将上述数据加入“公司AdTable”的空字符串中,图1即为图4中的“公司AdTable”转换为Json格式后的第三数据的示意图。
而如果将图4中的“公司AdTable”转换为Xml格式,其转换方式与转换为Json格式类似,只是Xml格式与Json格式的数据格式不同,如图7所示,为为图4中的“公司AdTable”转换为Xml格式后的第三数据的示意图。
通常情况下,如何将AdTable格式数据转换成Json格式数据以及Xml格式数据,在AdTable数据结构内部以及封装好,故而直接基于AdTable就可以完成AdTable格式数据向Json格式数据以及Xml格式数据的转换,不需要依赖第三方的Api,也不需要了解第三方生成Json格式数据和Xml格式数据的方法。
实施例二
基于同一发明构思,本申请实施例二提供一种数据转换的方法,所述方法用于将通过数据表存储的第一数据的格式转换为第二格式,所述数据表的格式与所述第二格式为不同的数据格式,所述数据表中包括M个格子,所述第一数据包括M个部分,所述M为大于等于1的整数。简而言之,也就是本申请实施例一中的将AdTable格式数据转换为Json格式数据或者Xml格式数据的过程。
所述方法包括如下步骤:
步骤S1:基于所述第二格式建立一空字符串;
依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中;
S3:在1+i等于M时,获得格式为所述第二格式的第二数据,其中,所述第一数据与所述第二数据的内容相同。
进一步的,所述将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中,具体包括:
判断所述M个表格中的第1+i个格子中的第一数据的第1+i部分是否为所述第一格式;
如果所述判断结果为否,将所述第一数据的第1+i部分置入所述空字符串,以获得格式为所述第二格式的第二数据的第1+i部分。
进一步的,所述将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中,具体包括:
判断所述M个表格中的第1+i个格子中的第一数据的第1+i部分是否为所述第一格式;
如果所述判断结果为是,将所述第一数据的第1+i部分设置为所述第一数据,跳转至所述步骤S1,并顺序执行步骤S1及S2,以获得格式为所述第二格式的第二数据的第1+i部分。
进一步的,所述第二数据的第1+i部分,具体包括:字段名和数据值。
进一步的,所述将所述第二数据的第1+i部分置入所述空字符串中,具体为:
将所述第二数据的第1+i部分的字段名以及数据值写入所述空字符串。
进一步的,所述第二格式具体为:JSON格式或者XML格式。
由于在本申请实施例一中已经详细介绍了如何将AdTable格式数据转换为Json格式数据和Xml格式数据,故而基于本申请实施例一中的方法,本领域所属技术人员能够了解本申请实施例二中的方法的实施过程,在此不再赘述。
实施例三
基于同一发明构思,本申请实施例三提供一种数据交互的装置,如图8所示,所述装置包括如下结构:
第一获得单元801,用于从所述前端服务器或所述至少一个应用程序获得数据访问请求;
第二获得单元802,用于基于所述数据访问请求,向所述后端服务器发送数据获取请求;
第三获得单元803,用于获得所述后端服务器基于所述数据获取请求发送来的存储于所述海量数据库中的格式为第一格式的第一数据;
第一转换单元804,用于在获得所述第一数据之后,将所述第一数据转换为格式为第二格式的第二数据,其中,其中所述第二数据包括M个部分,所述M为大于等于1的整数;
放入单元805,用于将所述包括M个部分的第二数据存放于数据表中,其中所述数据表包括M个格子,所述第二数据的第i部分存放入所述数据表的第i个格子,所述i为大于等于1、小于等于M的整数,所述第二格式与所述第一格式为不同的数据格式;
第二转换单元806,用于在将所述包括M个部分的第二数据存放于所述数据表之后,将所述第二数据转换为格式为第三格式的第三数据,其中,所述第一数据、所述第二数据以及所述第三数据为内容相同的数据,所述第三格式与所述第一格式为相同或不同的数据格式,所述第三格式与所述第一格式为不同的数据格式。
由于本申请实施三中的装置为与实施本申请实施例一中的方法所对应的装置,所以基于本申请实施例一中的方法,本领域所属技术人员能够了解本申请实施三中的装置的具体实施方法以及本申请实施三的装置的各种变化形式。所以在此对于该装置的运行不再详细介绍,只要本领域所属技术人员基于本申请实施例一中的方法所采用的装置,都属于本申请所欲保护的范围。
实施例四
基于同一发明构思,本申请实施四提供一种数据转换的装置,所述装置用于将通过数据表存储的第一数据的格式转换为第二格式,其中,所述数据表的格式与所述第二格式为不同的数据格式,所述数据表中包括M个格子,所述第一数据包括M个部分,所述M为大于等于1的整数,如图9所示,所述装置包括如下结构:
建立单元901,用于执行步骤S1:基于所述第二格式建立一空字符串;
转换单元902,用于依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中;
获得单元903,用于在1+i等于M时,获得格式为所述第二格式的第二数据,其中,所述第一数据与所述第二数据的内容相同。
由于本申请实施四中的装置为与实施本申请实施例二中的方法所对应的装置,所以基于本申请实施例二中的方法,本领域所属技术人员能够了解本申请实施四中的装置的具体实施方法以及本申请实施四的装置的各种变化形式。所以在此对于该装置的运行不再详细介绍,只要本领域所属技术人员基于本申请实施例二中的方法所采用的装置,都属于本申请所欲保护的范围。
本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例针对大型数据处理系统的各个层之间的数据交互,先将所有的数据,不管是Json格式还是Xml格式,都转换为Adtable也就是数据表格式共该系统各个层之间进行调用。在调用时采用统一的算法将Adtable中存储的数据转换成Json格式或者Xml格式,并不需要了解第三方生成Json格式或者Xml格式数据的方法,故而实现起来较为便捷,并且对技术要求较低,也不容易出错。另外由于不需要依赖第三方生成Json格式或者Xml格式数据,故而产生的临时数据更少,减轻了服务器的负担。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种数据交互的方法,所述方法应用在包含至少一个应用程序的中间层服务器的系统中,所述中间层服务器连接于一前端服务器以及一包含海量数据库的后端服务器,其特征在于,所述方法包括:
从所述前端服务器或所述至少一个应用程序获得数据访问请求;
基于所述数据访问请求,向所述后端服务器发送数据获取请求;
获得所述后端服务器基于所述数据获取请求发送来的存储于所述海量数据库中的格式为第一格式的第一数据;
在获得所述第一数据之后,将所述第一数据转换为格式为第二格式的第二数据,其中,所述第二数据包括M个部分,所述M为大于等于1的整数;
将所述包括M个部分的第二数据存放于数据表中,其中所述数据表包括M个格子,所述第二数据的第i部分存放入所述数据表的第i个格子,所述i为大于等于1、小于等于M的整数,所述第二格式与所述第一格式为不同的数据格式;
在将所述包括M个部分的第二数据存放于所述数据表之后,将所述第二数据转换为格式为第三格式的第三数据,其中,所述第一数据、所述第二数据以及所述第三数据为内容相同的数据,所述第三格式与所述第一格式为相同或不同的数据格式,所述第二格式与所述第一格式为不同的数据格式。
2.如权利要求1所述的方法,其特征在于,所述将所述第二数据转换为格式为第三格式的第三数据,具体包括:
步骤S1:基于所述第三格式建立一空字符串;
依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个格子中的第1+i个格子中的第二数据的第1+i部分转换为格式为所述第三格式的第三数据的第1+i部分,并将所述第三数据的第1+i部分置入所述空字符串中;
步骤S3:在1+i等于M时,获得格式为所述第三格式的第三数据。
3.如权利要求2所述的方法,其特征在于,所述将所述M个格子中的第1+i个格子中的第二数据的第1+i部分转换为格式为所述第三格式的第三数据的第1+i部分,并将所述第三数据的第1+i部分置入所述空字符串中,具体包括:
判断所述M个表格中的第1+i个格子中的第二数据的第1+i部分是否为所述第二格式;
如果所述判断结果为否,将所述第二数据的第1+i部分置入所述空字符串,以获得格式为所述第三格式的第三数据的第1+i部分。
4.如权利要求2所述的方法,其特征在于,所述将所述M个格子中的第1+i个格子中的第二数据的第1+i部分转换为格式为所述第三格式的第三数据的第1+i部分,并将所述第三数据的第1+i部分置入所述空字符串中,具体包括:
判断所述M个格子中的第1+i个格子中的第二数据的第1+i部分是否为所述第二格式;
如果所述判断结果为是,将所述第二数据的第1+i部分设置为所述第二数据,跳转至所述步骤S1,并顺序执行步骤S1、S2及S3,以获得格式为所述第三格式的第三数据的第1+i部分。
5.如权利要求3或4所述的方法,其特征在于,所述第三数据的第1+i部分,具体包括:字段名和数据值。
6.如权利要求5所述的方法,其特征在于,所述将所述第三数据的第1+i部分置入所述空字符串中,具体为:
将所述第三数据的第1+i部分的字段名以及数据值写入所述空字符串。
7.一种数据转换的方法,所述方法用于将通过数据表存储的第一数据的格式转换为第二格式,其中,所述数据表的格式与所述第二格式为不同的数据格式,所述数据表中包括M个格子,所述第一数据包括M个部分,所述M为大于等于1的整数,其特征在于,所述方法包括:
步骤S1:基于所述第二格式建立一空字符串;
依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中;
步骤S3:在1+i等于M时,获得格式为所述第二格式的第二数据,其中,所述第一数据与所述第二数据的内容相同。
8.如权利要求7所述的方法,其特征在于,所述将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中,具体包括:
判断所述M个表格中的第1+i个格子中的第一数据的第1+i部分是否为所述第一格式;
如果所述判断结果为否,将所述第一数据的第1+i部分置入所述空字符串,以获得格式为所述第二格式的第二数据的第1+i部分。
9.如权利要求7所述的方法,其特征在于,所述将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中,具体包括:
判断所述M个表格中的第1+i个格子中的第一数据第1+i部分是否为所述第一格式;
如果所述判断结果为是,将所述第一数据的第1+i部分设置为所述第一数据,跳转至所述步骤S1,并顺序执行步骤S1、S2及S3,以获得格式为所述第二格式的第二数据的第1+i部分。
10.如权利要求8或9所述的方法,其特征在于,所述第二数据的第1+i部分,具体包括:字段名和数据值。
11.如权利要求10所述的方法,其特征在于,所述将所述第二数据的第1+i部分置入所述空字符串中,具体为:
将所述第二数据的第1+i部分的字段名以及数据值写入所述空字符串。
12.如权利要求7所述的方法,其特征在于,所述第二格式具体为:JSON格式或者XML格式。
13.一种数据交互的装置,其特征在于,包括:
第一获得单元,用于从所述前端服务器或所述至少一个应用程序获得数据访问请求;
第二获得单元,用于基于所述数据访问请求,向所述后端服务器发送数据获取请求;
第三获得单元,用于获得所述后端服务器基于所述数据获取请求发送来的存储于所述海量数据库中的格式为第一格式的第一数据;
第一转换单元,用于在获得所述第一数据之后,将所述第一数据转换为格式为第二格式的第二数据,其中,其中所述第二数据包括M个部分,所述M为大于等于1的整数;
放入单元,用于将所述包括M个部分的第二数据存放于数据表中,其中所述数据表包括M个格子,所述第二数据的第i部分存放入所述数据表的第i个格子,所述i为大于等于1、小于等于M的整数,所述第二格式与所述第一格式为不同的数据格式;
第二转换单元,用于在将所述包括M个部分的第二数据存放于所述数据表之后,将所述第二数据转换为格式为第三格式的第三数据,其中,所述第一数据、所述第二数据以及所述第三数据为内容相同的数据,所述第三格式与所述第一格式为相同或不同的数据格式,所述第三格式与所述第一格式为不同的数据格式。
14.一种数据转换的装置,所述装置用于将通过数据表存储的第一数据的格式转换为第二格式,其中,所述数据表的格式与所述第二格式为不同的数据格式,所述数据表中包括M个格子,所述第一数据包括M个部分,所述M为大于等于1的整数,其特征在于,所述装置包括:
建立单元,用于执行步骤S1:基于所述第二格式建立一空字符串;
转换单元,用于依次取所述i值为0至M-1的整数,执行步骤S2:将所述M个表格中的第1+i个格子中的第一数据的第1+i部分转换为格式为所述第二格式的第二数据的第1+i部分,并将所述第二数据的第1+i部分置入所述空字符串中;
获得单元,用于执行步骤S3:在1+i等于M时,获得格式为所述第二格式的第二数据,其中,所述第一数据与所述第二数据的内容相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101434846A CN103389991A (zh) | 2012-05-09 | 2012-05-09 | 数据交互的方法及装置以及数据转换的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101434846A CN103389991A (zh) | 2012-05-09 | 2012-05-09 | 数据交互的方法及装置以及数据转换的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103389991A true CN103389991A (zh) | 2013-11-13 |
Family
ID=49534267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101434846A Pending CN103389991A (zh) | 2012-05-09 | 2012-05-09 | 数据交互的方法及装置以及数据转换的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103389991A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105117379A (zh) * | 2015-09-11 | 2015-12-02 | 广州华多网络科技有限公司 | 自动转换程序文本的方法及装置 |
CN105354175A (zh) * | 2015-10-21 | 2016-02-24 | 北京锐安科技有限公司 | 一种数据转换方法及系统 |
CN105404665A (zh) * | 2015-11-12 | 2016-03-16 | 南威软件股份有限公司 | 一种json格式数据的查询管理系统 |
WO2016112662A1 (zh) * | 2015-01-12 | 2016-07-21 | 深圳市中兴微电子技术有限公司 | 数字信号处理器、数据交互转换装置、方法及存储介质 |
CN105912517A (zh) * | 2016-03-31 | 2016-08-31 | 深圳市八零年代网络科技有限公司 | 可支持自由表单设计的数据结构及其转换方法及系统 |
CN106161178A (zh) * | 2015-03-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种接入即时通信网络的方法和设备 |
CN108536443A (zh) * | 2018-03-29 | 2018-09-14 | 杭州众焱科技有限公司 | 基于声明式的.net对象和多种数据格式自动相互转化的方法 |
CN110459278A (zh) * | 2019-08-01 | 2019-11-15 | 医渡云(北京)技术有限公司 | 结合多研究场景的临床数据处理方法、装置、介质及设备 |
CN110909523A (zh) * | 2019-12-02 | 2020-03-24 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN113901271A (zh) * | 2021-12-10 | 2022-01-07 | 飞狐信息技术(天津)有限公司 | 基于电子表格配置系统的方法、装置、存储介质和设备 |
CN114513552A (zh) * | 2022-01-06 | 2022-05-17 | 中信百信银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230691A1 (en) * | 2003-05-12 | 2004-11-18 | Wookey Michael J. | Evolutionary development of intellectual capital in an intellectual capital management system |
CN101101602A (zh) * | 2007-07-27 | 2008-01-09 | 华为技术有限公司 | 一种数据格式的校验方法及装置 |
CN102185901A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 一种客户端报文转换方法 |
CN102291437A (zh) * | 2011-07-27 | 2011-12-21 | 武汉天喻信息产业股份有限公司 | 跨平台互联网应用的实现系统及方法 |
CN102316161A (zh) * | 2011-08-31 | 2012-01-11 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据传输装置和方法 |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
-
2012
- 2012-05-09 CN CN2012101434846A patent/CN103389991A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230691A1 (en) * | 2003-05-12 | 2004-11-18 | Wookey Michael J. | Evolutionary development of intellectual capital in an intellectual capital management system |
CN101101602A (zh) * | 2007-07-27 | 2008-01-09 | 华为技术有限公司 | 一种数据格式的校验方法及装置 |
CN102185901A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 一种客户端报文转换方法 |
CN102291437A (zh) * | 2011-07-27 | 2011-12-21 | 武汉天喻信息产业股份有限公司 | 跨平台互联网应用的实现系统及方法 |
CN102316161A (zh) * | 2011-08-31 | 2012-01-11 | 北京华电万通科技有限公司 | 一种应用于Web3D的数据传输装置和方法 |
CN102426549A (zh) * | 2011-09-08 | 2012-04-25 | 新一站保险代理有限公司 | 一种高效的Web的表单校验方法及其框架 |
Non-Patent Citations (1)
Title |
---|
SHIELD-HAND: ""json与DataTable相互转换"", 《HTTP://BLOG.CSDN.NET/ZHENGDJIN/ARTICLE/DETAILS/7528007》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843106B (zh) * | 2015-01-12 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 专用数字信号处理器及其实现数据交互转换的装置和方法 |
WO2016112662A1 (zh) * | 2015-01-12 | 2016-07-21 | 深圳市中兴微电子技术有限公司 | 数字信号处理器、数据交互转换装置、方法及存储介质 |
CN105843106A (zh) * | 2015-01-12 | 2016-08-10 | 深圳市中兴微电子技术有限公司 | 专用数字信号处理器及其实现数据交互转换的装置和方法 |
EP3246770A4 (en) * | 2015-01-12 | 2018-01-17 | Sanechips Technology Co., Ltd. | Digital signal processor, data interaction and conversion device and method, and storage medium |
CN106161178A (zh) * | 2015-03-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种接入即时通信网络的方法和设备 |
CN106161178B (zh) * | 2015-03-24 | 2019-08-02 | 阿里巴巴集团控股有限公司 | 一种接入即时通信网络的方法和设备 |
CN105117379A (zh) * | 2015-09-11 | 2015-12-02 | 广州华多网络科技有限公司 | 自动转换程序文本的方法及装置 |
CN105354175A (zh) * | 2015-10-21 | 2016-02-24 | 北京锐安科技有限公司 | 一种数据转换方法及系统 |
CN105354175B (zh) * | 2015-10-21 | 2018-03-23 | 北京锐安科技有限公司 | 一种数据转换方法及系统 |
CN105404665A (zh) * | 2015-11-12 | 2016-03-16 | 南威软件股份有限公司 | 一种json格式数据的查询管理系统 |
CN105404665B (zh) * | 2015-11-12 | 2019-04-26 | 南威软件股份有限公司 | 一种json格式数据的查询管理系统 |
CN105912517A (zh) * | 2016-03-31 | 2016-08-31 | 深圳市八零年代网络科技有限公司 | 可支持自由表单设计的数据结构及其转换方法及系统 |
CN105912517B (zh) * | 2016-03-31 | 2020-05-01 | 深圳市八零年代网络科技有限公司 | 可支持自由表单设计的数据结构及其转换方法及系统 |
CN108536443A (zh) * | 2018-03-29 | 2018-09-14 | 杭州众焱科技有限公司 | 基于声明式的.net对象和多种数据格式自动相互转化的方法 |
CN108536443B (zh) * | 2018-03-29 | 2021-03-05 | 杭州众焱科技有限公司 | 基于声明式的.net对象和多种数据格式自动相互转化的方法 |
CN110459278A (zh) * | 2019-08-01 | 2019-11-15 | 医渡云(北京)技术有限公司 | 结合多研究场景的临床数据处理方法、装置、介质及设备 |
CN110909523A (zh) * | 2019-12-02 | 2020-03-24 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN110909523B (zh) * | 2019-12-02 | 2023-10-27 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
CN113901271A (zh) * | 2021-12-10 | 2022-01-07 | 飞狐信息技术(天津)有限公司 | 基于电子表格配置系统的方法、装置、存储介质和设备 |
CN114513552A (zh) * | 2022-01-06 | 2022-05-17 | 中信百信银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN114513552B (zh) * | 2022-01-06 | 2024-04-02 | 中信百信银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103389991A (zh) | 数据交互的方法及装置以及数据转换的方法及装置 | |
CN102521416B (zh) | 数据关联查询方法和数据关联查询装置 | |
CN107766309B (zh) | 数据表格生成方法、装置以及存储介质、电子装置 | |
CN101908039B (zh) | 一种报表模板定制系统 | |
CN103312791A (zh) | 物联网异构数据存储方法及系统 | |
CN106133766A (zh) | 用于计算、应用和显示文档增量的系统和方法 | |
CN104573068A (zh) | 一种基于大数据的信息处理方法 | |
CN103019728A (zh) | 一种高效复杂报表解析引擎及其解析方法 | |
CN102917009B (zh) | 一种基于云计算技术的股票数据采集和存储方法和系统 | |
CN101334872B (zh) | 基于Web服务的电子公文交换方法 | |
CN103838831B (zh) | 一种基于社区划分的在线社交网络海量数据存储方法 | |
CN106339439A (zh) | 一种大数据分析方法 | |
CN106055678A (zh) | 一种基于hadoop的全景大数据分布式存储方法 | |
CN103678339A (zh) | 数据回流、关系型数据库中的数据访问方法及系统 | |
CN104660633A (zh) | 一种新媒体公共服务平台 | |
CN107343021A (zh) | 国网云中应用的一种基于大数据的日志管理系统 | |
CN104216961A (zh) | 一种数据处理方法和装置 | |
JP6653850B1 (ja) | Jsonを用いてデータセットの構造を変換する電子装置およびその動作方法 | |
CN102521232A (zh) | 一种互联网元数据的分布式采集处理系统及方法 | |
CN103002061A (zh) | 一种长域名与短域名互相转化的方法及装置 | |
US10397326B2 (en) | IRC-Infoid data standardization for use in a plurality of mobile applications | |
Potey et al. | Database migration from structured database to non-structured database | |
CN102663083A (zh) | 基于分布式计算的大规模社交网络信息抽取方法 | |
CN204129725U (zh) | 一种云渲染系统 | |
CN107798139A (zh) | 一种基于cim/xml的主备数据异构方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1189062 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131113 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1189062 Country of ref document: HK |