CN103605802B - 数据传输装置和数据传输方法 - Google Patents
数据传输装置和数据传输方法 Download PDFInfo
- Publication number
- CN103605802B CN103605802B CN201310655774.3A CN201310655774A CN103605802B CN 103605802 B CN103605802 B CN 103605802B CN 201310655774 A CN201310655774 A CN 201310655774A CN 103605802 B CN103605802 B CN 103605802B
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- template
- information
- outline
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据传输装置,包括:模板语法定义模块,用于定义模板语言的语法;模板大纲预置模块,用于根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;数据转换模块,用于读取并分析模板大纲,根据分析结果加载元数据和数据。本发明还提供了一种数据传输装置方法。通过本发明的技术方案,可以定义转换语言,支持通用语法和一些特定标签,然后将数据相关的表、字段进行元数据定义,用户只需要根据语法定义XML模板,然后数据转换器将模板转换为用户需要的数据格式。
Description
技术领域
本发明涉及计算机技术领域,具体地,涉及一种数据传输装置和一种数据传输方法。
背景技术
在进行跨语言或者跨平台进行通信时,特别是客户端与服务端进行通信时,由于客户端需要的数据样式可能千变万化,抽象起来很困难,通过表的形式进行预置也相当困难。
通常的做法,使用XSLT技术,来实现数据转换,根据每种数据格式定义一套模板,模板格式是固定的,必须符合特定的XML框架,然后使用XSLT技术进行转换。例如,专利(申请)号为200810104969.8的专利文献公开的技术就是这样处理的。这种方式只是数据交换的一种手段,不能应对格式多样的情况。
还有一种方式,针对不同XML模板,需要设计特定的解析器。例如,在专利(申请)号为200910109097.9的专利文献公开的技术,就是采用了这种方式,具体原理如图1所示。这种技术尽管可以实现,但是针对不同XML模板,需要设计特定的解析器,由于数据格式多样,且经常变化,这样不易于规模扩大,功能扩展的方案,也就是说不易于进行变更和扩展。
随着系统规模扩大,客户需求的增多,针对特定模板进行特定解析的技术有很多局限性,不易于系统的升级、扩展。
因此,需要一种新的数据传输技术,可以定义转换语言,支持通用语法和一些特定标签,然后将数据相关的表、字段进行元数据定义,用户只需要根据语法定义XML模板,然后数据转换器将模板转换为用户需要的数据格式。
这样,用户需要的格式是多种多样的,而数据转换逻辑只有一套,既能满足客户端数据的多样性,又容易实现跨语言、跨平台,还能保证客户端数据格式的多样性,同时提高系统的通用性和扩展性。
发明内容
本发明正是基于上述问题,提出了一种新的数据传输技术,可以定义转换语言,支持通用语法和一些特定标签,然后将数据相关的表、字段进行元数据定义,用户只需要根据语法定义XML模板,然后数据转换器将模板转换为用户需要的数据格式。
有鉴于此,本发明提出了一种数据传输装置,包括:模板语法定义模块,用于定义模板语言的语法;模板大纲预置模块,用于根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;数据转换模块,用于读取并分析模板大纲,根据分析结果加载元数据和数据。在该技术方案中,可以通过分析结果加载客户需要的元数据和数据,完成数据交换和处理,特别是进行跨平台、跨语言数据通信问题的处理,既能满足客户端数据的多样性,又容易实现跨语言、跨平台。
在上述技术方案中,优选地,还包括:数据预置及加载模块,用于根据数据源,预置元数据和数据;以及,所述数据转换模块还用于:根据模板语法,结合元数据,按照模板大纲,将加载数据转换为用户真正需要的格式。在该技术方案中,能够将加载数据转换为客户需要的格式,可以保证客户端数据格式的多样性,有利于提高数据传输的通用性和扩展性。
在上述技术方案中,优选地,所述数据源为业务所需要的数据;所述元数据为描述数据源的元数据信息,包含表的元数据信息和列的元数据信息。
在上述技术方案中,优选地,所述模板语法定义模块定义的模板语法,包括变量、循环、分组、排序、删除、合计的处理。
在上述技术方案中,优选地,所述数据转换模块加载的元数据,包含表的元数据信息、字段元数据、分组元数据信息和精度集合信息;以及,所述数据转换模块加载的数据,包含业务需要处理数据表以及表之间的关系和需分组时的分组信息。
根据本发明的又一个方面,还提出了一种数据传输方法,包括:步骤204:定义模板语言的语法;步骤206:根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;步骤208:读取并分析模板大纲,根据分析结果加载元数据和数据。在该技术方案中,可以通过分析结果加载客户需要的元数据和数据,完成数据交换和处理,特别是进行跨平台、跨语言数据通信问题的处理,既能满足客户端数据的多样性,又容易实现跨语言、跨平台。
在上述技术方案中,优选地,在所述步骤204之前,还包括:步骤202:根据数据源,预置元数据和数据;以及,所述步骤208还包括:根据模板语法,结合元数据,按照模板大纲,将加载数据转换为用户真正需要的格式。在该技术方案中,能够将加载数据转换为客户需要的格式,可以保证客户端数据格式的多样性,有利于提高数据传输的通用性和扩展性。
在上述技术方案中,优选地,所述数据源为业务所需要的数据;所述元数据为描述数据源的元数据信息,包含表的元数据信息和列的元数据信息。
在上述技术方案中,优选地,所述步骤204定义的模板语法,包括变量、循环、分组、排序、删除、合计的处理。
在上述技术方案中,优选地,所述步骤208加载的元数据,包含表的元数据信息、字段元数据、分组元数据信息和精度集合信息;以及,所述步骤208加载的数据,包含业务需要处理数据表以及表之间的关系和需分组时的分组信息。
通过以上技术方案,用户需要的格式是多种多样的,而数据转换逻辑只有一套,既能满足客户端数据的多样性,又容易实现跨语言、跨平台,还能保证客户端数据格式的多样性,同时提高系统的通用性和扩展性。
附图说明
图1示出了现有数据传输方案的原理示意图;
图2示出了根据本发明的实施例的数据传输装置的框图;
图3示出了根据本发明的实施例的数据传输装置的原理示意图;
图4示出了根据本发明的实施例的模板语法(即模板语法定义模块)的原理示意图;
图5示出了根据本发明的实施例的预置元数据(即数据预置及加载模块)的原理示意图;
图6示出了根据本发明的实施例的预置模板大纲(即模板大纲预置模块)的流程图;
图7示出了根据本发明的实施例的数据传输方法的流程图;
图8示出了根据本发明的实施例的数据转换模块的流程图;
图9示出了根据本发明的实施例的分析模板(即解析器)的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图2示出了根据本发明的实施例的数据传输装置的框图。
如图2所示,根据本发明的实施例的数据传输装置100,包括:模板语法定义模块104,用于定义模板语言的语法;模板大纲预置模块106,用于根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;数据转换模块108,用于读取并分析模板大纲,根据分析结果加载元数据和数据。在该技术方案中,可以通过分析结果加载客户需要的元数据和数据,完成数据交换和处理,特别是进行跨平台、跨语言数据通信问题的处理,既能满足客户端数据的多样性,又容易实现跨语言、跨平台。
在上述技术方案中,优选地,还包括:数据预置及加载模块102,用于根据数据源,预置元数据和数据;以及,数据转换模块108还用于:根据模板语法,结合元数据,按照模板大纲,将加载数据转换为用户真正需要的格式。在该技术方案中,能够将加载数据转换为客户需要的格式,可以保证客户端数据格式的多样性,有利于提高数据传输的通用性和扩展性。
在上述技术方案中,数据转换模块108包括解析器和转换器两部分,解析器负责解析模板大纲,从而确定需要加载哪些元数据和数据信息;转换器主要负责数据转换。数据源即为业务所需要的数据,能够根据解析器的分析结果,按需加载。
在上述技术方案中,优选地,数据源为业务所需要的数据;元数据为描述数据源的元数据信息,包含表的元数据信息(如表名、表间关系等)和列的元数据信息(如列名、顺序、分组、控件类型和样式等)。
在上述技术方案中,优选地,模板语法定义模块定义的模板语法,包括变量、循环、分组、排序、删除、合计的处理。
在上述技术方案中,优选地,数据转换模块108加载的元数据,包含表的元数据信息、字段元数据、分组元数据信息和精度集合信息;以及,数据转换模块108加载的数据,包含业务需要处理数据表以及表之间的关系和需分组时的分组信息。
图7示出了根据本发明的实施例的数据传输方法的流程图。
如图7所示,根据本发明的实施例的数据传输方法,包括:步骤204:定义模板语言的语法;步骤206:根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;步骤208:读取并分析模板大纲,根据分析结果加载元数据和数据。在该技术方案中,可以通过分析结果加载客户需要的元数据和数据,完成数据交换和处理,特别是进行跨平台、跨语言数据通信问题的处理,既能满足客户端数据的多样性,又容易实现跨语言、跨平台。
在上述技术方案中,优选地,在步骤204之前,还包括:步骤202:根据数据源,预置元数据和数据;以及,步骤208还包括:根据模板语法,结合元数据,按照模板大纲,将加载数据转换为用户真正需要的格式。在该技术方案中,能够将加载数据转换为客户需要的格式,可以保证客户端数据格式的多样性,有利于提高数据传输的通用性和扩展性。
在上述技术方案中,优选地,数据源为业务所需要的数据;所述元数据为描述数据源的元数据信息,包含表的元数据信息和列的元数据信息。
在上述技术方案中,优选地,步骤204定义的模板语法,包括变量、循环、分组、排序、删除、合计的处理。
在上述技术方案中,优选地,步骤208加载的元数据,包含表的元数据信息、字段元数据、分组元数据信息和精度集合信息;以及,步骤208加载的数据,包含业务需要处理数据表以及表之间的关系和需分组时的分组信息。
图3示出了根据本发明的实施例的数据传输装置的原理示意图。
如图3所示,根据本发明的实施例的数据传输装置,基于对XML中的数据进行抽象,提出了数据解析语言,用特定语法、标签来确定XML中的可变部分,然后根据抽象的元数据信息以及具体的业务数据,转换为XML格式数据。数据转换模块108与具体的XML格式无关。这样,就能应对众多的XML格式需求,即而实现XML通信。
下面参见图4-图6、图8和图9,对本发明提供的数据传输技术的具体实现步骤进行
举例说明。
一、模板语法
为了灵活的处理XML文档,应对XML格式的多样性,特发明一种数据解析语言,该语言包含了变量、循环、排序、删除、分组、合计等处理,具体功能如图4所示。
例如,下面提供的数据语言规则,只是提供了部分功能,其标识、标签和相关关键字仅仅作为原理说明,而不局限于此:
⑴变量
采用@@作为特殊标识,也可以采用其他特殊字符。
语法:@@varible@@
Varible格式:ckey.field
ckey对应表名,field对应字段名。
例子:订单(order)的编码(code)字段,其变量名为:@@order.code@@
⑵字段标题(caption)
语法:@@ckey.field$caption@@
解释:ckey对应表名,field对应列名,caption固定值,即取该字段的标题
例子:@@order.code$caption@@,表示取order表的code字段的标题。
⑶循环
循环标签:mloop
标签指定属性ckey,标识其取哪张表的数据
语法:
<mloop ckey=“order”>
…需要循环的结构
</mloop>
应用:多行数据循环时使用
例子:
如果order有两条数据,其单号为SO1001和SO1002,则会循环产生两个orderinfo标签,如下所示:
⑷数据行分组
标签:<mgroup>
说明:指定属性ckey,标识表名,指定属性groupmode,有不同的分组模式。
功能:在多个数据行中,会根据特定条件进行分组,比如订单按日期进行分组。
⑸字段元数据
结构:@@field$meta@@
关键字:field,标识取字段信息
meta取值:
①caption,取字段标题,例子:@@field$caption@@
②mode,字段控件类型,例如:@@field$mode@@
③style,字段样式,例如:@@field$style@@
还有其他相关值,这里不一一列举。
作用:用于加载字段元数据信息
⑹字段循环
标签:fieldloop
语法:
<fieldloop ckey=”order”>
</fieldloop>
ckey:标识表名
作用:用于字段的动态加载。循环标签只是对数据行做循环处理,但是一个表有多个字段,字段也可以使用循环处理,进而实现字段的动态加载。以后用户隐藏或者添加某些项,只需修改元数据集合。
例如:
该含义:对表order的所有字段作循环,输出字段的标题和值。
⑺分组循环
标签:grouploop
说明:指定ckey属性,标识其属于哪张表
功能:字段有分组信息,根据表中字段的分组信息,动态加载分组信息,然后根据分组信息,动态加载字段。常与fieldloop搭配使用。实现了分组信息的动态加载,便于对分组进行动态管理。
例子:
⑻顺序调整、删除项
语法:增加<extend>标签,指定ckey属性,标识其对应哪张表。
标签内部节点,即为要进行调整的项,为了更精确确认哪些项目需要进行处理,每个项目需要增加属性fld标识,fld的值取字段名。
如果需要调整排序,则需要增加属性needorder=”true”,如果需要删除项,则需要增加属性needDelete=”true”,两个可以都指定。
作用:便于对字段进行排序、隐藏操作。如有变更,只需更新元数据信息即可实现字段的排序和动态隐藏。
例子:
这个例子,就说明,order中的code和name两个字段,会根据字段元数据定义的顺序进行顺序调整。如果想要调整顺序,不需调整模板,只需修改元数据即能完成设置。
二、数据结构
这里的数据结构只是列出了必要的结构和属性,但不限于此。
每个请求,需要哪些数据,数据之间的关系是什么,都需要在请求信息表(或表的元数据)中体现。ActionType与CKey是一对多的关系,一个请求,可以查询多种表,如果有父节点,则指明其ParentKey。这些都需要在这张表中定义,具体见表2.1所示。
表2.1表的元数据信息表
列名 | 类型 | 说明 |
ActionType | String | 请求类型 |
CKey | String | 节点KEY,对应表名 |
ParentKey | String | 父节点 |
Description | String | 描述信息 |
有了相关的数据表信息,还需要具体的字段元数据信息。具体见表2.2所示。
表2.2字段元数据信息表
分组信息表,在数据进行分组处理时会用到。比如查询销售订单,查询结果需要按日期进行分组,区别是本周、本月或者更早的,数据分组即很明确的显示出来。逻辑处理时,分组处理,必须要用到分组信息表。
表2.3分组信息表
属性 | 类型 | 说明 |
Code | String | 分组编码,主键值 |
Name | String | 分组名称 |
Order | Int | 分组顺序号 |
三、系统实现原理
1、预置数据
首先预置元数据,元数据信息包括请求信息、请求相关信息,以及对应的列的元数据信息。如图5所示。
然后操作员根据需求格式,参照模板语法,编写模板大纲,具体流程图见图6,模板大纲可以存储在数据库,也可以存储为文件。
2、数据转换
根据模板语法,结合元数据,按照模板大纲,将数据转换为用户真正需要的格式。
具体的系统流程图如图8所示。
首先,读取模板大纲。模板大纲即为用户需要的格式,可以预置,也可以由其他接口传入。
接着,分析模板,主要功能:按照模板语法,分析变量、循环、分组、字段元数据等信息,从而得知该模板需要哪些数据表,哪些字段,哪些分组信息,是否有精度处理等信息,为数据加载提供依据。
具体流程如图9所示。
(1)分析变量,这个过程中能够得到,模板中需要哪些表、哪些列的数据。
(2)分析分组信息。能够得到,模板中是否有分组信息,如果有,获得分组信息列表。
(3)分析循环标签。这里包括对数据循环、字段循环和分组循环分析,获得循环中需要的表、字段信息。
(4)分析其它。包括是否有数据行统计信息,分组统计信息,是否有精度处理等。
(5)生成分析结果。分析结果包括,模板是否需要进行转换,需要的数据、字段和分组信息,为加载相关数据提供依据,以便实现按需加载,提高系统性能。
然后,根据分析结果加载相关数据,包括元数据和数据。元数据,包含了表的元数据信息、字段元数据、分组元数据信息,还有精度集合等信息。数据,即为业务需要处理数据表以及表之间的关系。如需分组,还需要加载分组信息
最后,由转换器对大纲进行转换。转换过程即:按照模板语法,对大纲中的关键字进行替换处理。主要基于XML对象和正则表达式。转换后的XML格式,才是真正的客户需要的数据格式。
3、特殊情况处理
为了保证数据转换器的健壮性、容错性,必须处理一些特殊情况,以保证不影响客户正常使用。这里只是举了几个需要特殊处理的例子,但是不限于此。
1)参数检测。如果参数非法,则返回约定的空结构。
2)数据或者元数据为空,则将模板大纲中的变量、特定标签替换为空。
3)某个字段不存在,或者字段的值不存在,需要替换为空字符。
四、具体应用实例
例如,采用一个例子对相应原理进行说明,实际应用不局限于此。以“查询销售订单”为例,本发明提供的数据传输技术的具体的步骤如下:
㈠预置元数据
⑴预置请求信息表
列名 | 值 | 说明 |
ActionType | getSaleOrderList | 对应请求信息表中的值 |
Ckey | SaleOrders | 对应查询得到的表名,在模板中使用 |
ParentKey | 无父节点信息,取空 |
⑵预置字段元数据信息
因为字段比较多,这里指预置几个必要属性,作为例子。假设:销售订单只有几个字段,单号、商品ID、商品名称、单价、数量。
字段“单号”元数据的定义如下:
字段“商品ID”:
字段“商品名称”:
字段“单价”:
字段“数量”:
数据信息:假设SaleOrders,只有两条数据,具体字段值如下:
DocNo | ProductID | ProductName | Price | Quantity |
SO1001 | P101 | 绿茶 | 3 | 1 |
SO1002 | P102 | 红茶 | 3 | 2 |
㈡预置模板大纲
根据模板语法,生成的模板大纲如下。模板大纲格式是多样的,这里只是给出一个例子。
㈢数据转换。
数据预置完成,按照图8的具体流程进行转换
首先,分析模板,通过模板分析,可以得知:
1)模板需要的数据表:SaleOrders
2)需要的字段:DocNo、ProductID、ProductName、Price、Quantity
接着,加载元数据。根据分析结果,加载数据表SaleOrders的元数据,以及其包含字段DocNo、ProductID、ProductName、Price、Quantity的元数据。
然后,加载数据。查询数据表SaleOrders,必须包含字段DocNo、ProductID、ProductName、Price、Quantity,实现按需加载,得到数据信息。
最后,完成数据转换。数据转换器根据加载的元数据和数据,对模板大纲进行转换,将变量、标签等替换为真正的数据或者元数据的值。
得到的最后结果,如下:
使用这种方式进行数据转换,方便灵活。一套转换功能即可应对格式的需求变化。用户可以根据自己的需要设计模板大纲,模板大纲的具体样式、结构与转换器无关。便于用户需求变更、功能扩展,更适合信息化的发展。
本发明的技术方案,与现有技术相比,针对需求,设计不同的转换逻辑。本方案基于对XML中的数据进行抽象,发明了一种数据解析语言,用特定语法、标签来确定XML中的可变部分,然后根据元数据信息以及业务数据,将客户需要的模板大纲转换为XML格式数据。
本发明的技术方案,至少可以达到的优点包括:⑴发明了一种数据解析语言,针对不同的模板,可以统一使用一种解析器,以适应前端显示的多样性,便于需求变更和扩展;⑵数据转换模块与具体的XML格式无关,能应对众多的XML格式需求变化;⑶提供了一套数据转换模块,模板大纲可以多种多样;⑷基于元数据进行转换,易于扩展;⑸提出按需加载,降低服务器损耗,提高性能;⑹增加数据传输的灵活性,便于实现跨语言、跨平台。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中针对特定模板进行特定解析的技术有很多局限性。现有的数据传输不易于系统的升级、扩展的缺陷。因此,本发明提出了一种数据传输装置和一种数据传输方法,可以定义转换语言,支持通用语法和一些特定标签,然后将数据相关的表、字段进行元数据定义,用户只需要根据语法定义XML模板,然后数据转换器将模板转换为用户需要的数据格式。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据传输装置,其特征在于,包括:
模板语法定义模块,用于定义模板语言的语法;
模板大纲预置模块,用于根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;
数据转换模块包括解析器和转换器两部分,解析器负责解析模板大纲,从而确定需要加载哪些元数据和数据信息;转换器主要负责数据转换;数据源即为业务所需要的数据,能够根据解析器的分析结果,按需加载;
所述数据转换模块加载的元数据,包含表的元数据信息、字段元数据、分组元数据信息和精度集合信息;以及,
所述数据转换模块加载的数据,包含业务需要处理数据表以及表之间的关系和需分组时的分组信息;
数据转换模块,用于读取并分析模板大纲,根据分析结果加载元数据和数据,所述数据转换模块还用于:根据模板语法,结合元数据,按照模板大纲,将加载数据转换为用户真正需要的格式,用特定语法、标签来确定XML中的可变部分,然后根据元数据信息以及业务数据,将客户需要的模板大纲转换为XML格式数据,数据转换模块与具体的XML格式无关,能应对众多的XML格式需求变化,基于元数据进行转换,易于扩展;
数据转换具体为,首先,读取模板大纲,模板大纲即为用户需要的格式,模板大纲为预置,或由其他接口传入;接着,分析模板,主要功能:按照模板语法,分析变量、循环、分组、字段元数据信息,从而得知该模板需要哪些数据表,哪些字段,哪些分组信息,是否有精度处理信息,为数据加载提供依据;即
(1)分析变量,这个过程中能够得到,模板中需要哪些表、哪些列的数据;
(2)分析分组信息,能够得到,模板中是否有分组信息,如果有,获得分组信息列表;
(3)分析循环标签,这里包括对数据循环、字段循环和分组循环分析,获得循环中需要的表、字段信息;
(4)分析其它,包括是否有数据行统计信息,分组统计信息,是否有精度处理;
(5)生成分析结果,分析结果包括,模板是否需要进行转换,需要的数据、字段和分组信息,为加载相关数据提供依据,以便实现按需加载,提高系统性能;
然后,根据分析结果加载相关数据,包括元数据和数据;元数据,包含了表的元数据信息、字段元数据、分组元数据信息,还有精度集合信息;数据,即为业务需要处理数据表以及表之间的关系;如需分组,还需要加载分组信息;
最后,由转换器对大纲进行转换,转换过程即:按照模板语法,对大纲中的关键字进行替换处理;基于XML对象和正则表达式,转换后的XML格式,为真正的客户需要的数据格式。
2.根据权利要求1所述的数据传输装置,其特征在于,还包括:
数据预置及加载模块,用于根据数据源,预置元数据和数据。
3.根据权利要求2所述的数据传输装置,其特征在于,所述数据源为业务所需要的数据;所述元数据为描述数据源的元数据信息,包含表的元数据信息和列的元数据信息。
4.根据权利要求1至3中任一项所述的数据传输装置,其特征在于,所述模板语法定义模块定义的模板语法,包括变量、循环、分组、排序、删除、合计的处理。
5.一种数据传输方法,其特征在于,包括:
步骤204:定义模板语言的语法;
步骤206:根据模板语法,预置或由其他接口传入用户需要的格式模板大纲;
步骤208:读取并分析模板大纲,根据分析结果加载元数据和数据;
在所述步骤204之前,还包括:
步骤202:根据数据源,预置元数据和数据;以及,
所述步骤208还包括:根据模板语法,结合元数据,按照模板大纲,将加载数据转换为用户真正需要的格式;具体包括(1)分析变量,这个过程中能够得到,模板中需要哪些表、哪些列的数据;
(2)分析分组信息,能够得到,模板中是否有分组信息,如果有,获得分组信息列表;
(3)分析循环标签,这里包括对数据循环、字段循环和分组循环分析,获得循环中需要的表、字段信息;
(4)分析其它,包括是否有数据行统计信息,分组统计信息,是否有精度处理;
(5)生成分析结果,分析结果包括,模板是否需要进行转换,需要的数据、字段和分组信息,为加载相关数据提供依据,以便实现按需加载,提高系统性能;
然后,根据分析结果加载相关数据,包括元数据和数据;元数据,包含了表的元数据信息、字段元数据、分组元数据信息,还有精度集合信息;数据,即为业务需要处理数据表以及表之间的关系;如需分组,还需要加载分组信息;
最后,由转换器对大纲进行转换,转换过程即:按照模板语法,对大纲中的关键字进行替换处理;基于XML对象和正则表达式,转换后的XML格式,为真正的客户需要的数据格式。
6.根据权利要求5所述的数据传输方法,其特征在于,所述数据源为业务所需要的数据;所述元数据为描述数据源的元数据信息,包含表的元数据信息和列的元数据信息。
7.根据权利要求5至6中任一项所述的数据传输方法,其特征在于,所述步骤204定义的模板语法,包括变量、循环、分组、排序、删除、合计的处理。
8.根据权利要求5至6中任一项所述的数据传输方法,其特征在于,所述步骤208加载的元数据,包含表的元数据信息、字段元数据、分组元数据信息和精度集合信息;以及,
所述步骤208加载的数据,包含业务需要处理数据表以及表之间的关系和需分组时的分组信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310655774.3A CN103605802B (zh) | 2013-12-05 | 2013-12-05 | 数据传输装置和数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310655774.3A CN103605802B (zh) | 2013-12-05 | 2013-12-05 | 数据传输装置和数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103605802A CN103605802A (zh) | 2014-02-26 |
CN103605802B true CN103605802B (zh) | 2017-12-22 |
Family
ID=50124024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310655774.3A Active CN103605802B (zh) | 2013-12-05 | 2013-12-05 | 数据传输装置和数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103605802B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201816A (zh) * | 2007-12-20 | 2008-06-18 | 北大方正集团有限公司 | 将数据流中的数据输出到xml文件中的适配器及方法 |
CN101634942A (zh) * | 2008-07-24 | 2010-01-27 | 北大方正集团有限公司 | 一种动态创建数据表的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096710A (zh) * | 2011-01-21 | 2011-06-15 | 周军 | 基于xml模板的报文分析方法 |
-
2013
- 2013-12-05 CN CN201310655774.3A patent/CN103605802B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201816A (zh) * | 2007-12-20 | 2008-06-18 | 北大方正集团有限公司 | 将数据流中的数据输出到xml文件中的适配器及方法 |
CN101634942A (zh) * | 2008-07-24 | 2010-01-27 | 北大方正集团有限公司 | 一种动态创建数据表的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103605802A (zh) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100489879C (zh) | 一种对页面数据进行校验的方法、系统和服务器 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
CN111126019B (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
CN101908015A (zh) | 一种基于构件生成测试案例的装置及方法 | |
US20070136363A1 (en) | Systems and methods for report design and generation | |
CN107886439A (zh) | 保险产品开发方法、装置、设备及计算机可读存储介质 | |
CN107451109A (zh) | 报表生成方法及系统 | |
CN108694214A (zh) | 数据报表的生成方法、生成装置、可读介质及电子设备 | |
CN107678943B (zh) | 抽象页面对象的页面自动化测试方法 | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
CN109933311A (zh) | 一种信息系统创建方法及相关装置 | |
CN103077185A (zh) | 一种基于对象的自定义扩展信息的方法 | |
CN111428451B (zh) | 文本在线编辑方法、装置、电子设备及存储介质 | |
CN106341444A (zh) | 数据访问方法和装置 | |
CN101499063A (zh) | 基于跟踪的数据库模式演进方法及系统 | |
CN106940721B (zh) | 一种自定义选择框的数据处理方法及系统 | |
CN104239067B (zh) | 微型客户端的制作方法及装置 | |
CN105302730A (zh) | 一种检测计算模型的方法、测试服务器及业务平台 | |
CN109284469B (zh) | 网页开发框架 | |
CN101727505B (zh) | 一种高效的数据处理方法及装置 | |
CN107193549A (zh) | 基于元数据的网页快速开发方法 | |
CN102866985B (zh) | 用于联机分析处理系统的数据格式化装置和方法 | |
Singh | Impact of technology in library services | |
CN106257443A (zh) | 一种数据导入方法及装置 | |
CN110555178B (zh) | 数据代理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |