CN101446962B - 一种数据转换方法、装置及数据处理*** - Google Patents
一种数据转换方法、装置及数据处理*** Download PDFInfo
- Publication number
- CN101446962B CN101446962B CN2008101929109A CN200810192910A CN101446962B CN 101446962 B CN101446962 B CN 101446962B CN 2008101929109 A CN2008101929109 A CN 2008101929109A CN 200810192910 A CN200810192910 A CN 200810192910A CN 101446962 B CN101446962 B CN 101446962B
- Authority
- CN
- China
- Prior art keywords
- data
- text
- data message
- message
- source data
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种数据转换方法,包括:获取源数据文本中的数据信息;根据所述源数据文本当前所需的业务类型,从配置文件中获取所述业务类型对应的数据转换规则信息;根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息;所述数据信息是以层次模型的数据组织形式进行存储。本发明还公开了一种数据转换装置及数据处理***。采用本发明可以提高数据转换效率。
Description
技术领域
本发明涉及一种数据处理技术领域,尤其涉及一种数据转换方法、装置及数据处理***。
背景技术
目前,进程运行时需要的数据信息是通过关系型的数据组织形式进行存储的,通过关系型的数据组织形式存储的数据信息中的各字段的关联关系不可以存储在内存中,而是存储在硬盘中,当进程运行时获取需要的数据信息时,是使用游标,逐条处理,用每一笔数据去关联数据库,查找对应的数据转换规则,这样就造成每处理一笔数据都需要去访问数据库,降低数据转换效率。
发明内容
本发明所要解决的技术问题在于,提供一种数据转换方法、装置及数据处理***,可以提高数据转换效率。
为了解决上述技术问题,本发明提供了一种数据转换方法,包括:
获取源数据文本中的数据信息,所述数据信息是以层次模型的数据组织形式进行存储,其各字段的定义信息在配置文件中描述;
根据所述源数据文本当前所需的业务类型,从配置文件中以先从根节点开始搜索,然后进行单一层次的搜索,找到匹配点后再进行横向搜索的方式搜索到所述业务类型对应的数据转换规则信息并获取该数据转换规则信息;
根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息。
相应地,本发明还提供了一种数据转换装置,包括:
第一获取单元,用于获取源数据文本中的数据信息,所述数据信息是以层次模型的数据组织形式进行存储,其各字段的定义信息在配置文件中描述;
第二获取单元,用于根据所述源数据文本当前所需的业务类型, 从配置文件中以先从根节点开始搜索,然后进行单一层次的搜索,找到匹配点后再进行横向搜索的方式搜索到所述业务类型对应的数据转换规则信息并获取该数据转换规则信息;
数据转换单元,用于根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息。
本发明还提供了一种数据转换***,包括所述数据转换装置。
实施本发明,通过获取源数据文本中的数据信息,根据所述源数据文本当前所需的业务类型,从配置文件中获取所述业务类型对应的数据转换规则信息;根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息,所述数据信息是以层次模型的数据组织形式进行存储,可以提高数据转换效率。
附图说明
图1是本发明数据转换方法流程示意图;
图2是本发明以多进程并发处理数据转换方法的调度流程示意图;
图3是本发明以多线程处理数据文本的流程示意图;
图4是本发明业务逻辑规则层次示意图;
图5是本发明添加索引的业务逻辑规则逻辑模型示意图;
图6是本发明数据转换装置组成示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,是本发明数据转换方法流程示意图,包括:
101、获取源数据文本中的数据信息。
所述数据信息是以层次模型的数据组织形式进行存储的,所述层次模型的数据组织形式包括:逻辑模型和物理模型。当所述层次模型的数据组织形式是所述逻辑模型时,则所述逻辑模型存储在内存中;当所述层次模型的数据组织形式是所述逻辑模型时,则所述物理模型存储在文本中。数据信息的各字段的定义信息在配置文件中描述,在配置文件中对数据信息的各字段进行描述,可通过维护配置文件来实现对以层次模型的数据组织形式进行存储的数据信息的扩展。根据所述定义信息解析源数据文本,获取所述源数据文本中数据信息。
102、根据所述源数据文本当前所需的业务类型,从配置文件中获取所述业务类型对应的数据转换规则信息。
103、根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息。
其中,如各源数据文本中数据的调度策略为数据量大于500万的源数据文本处于同一优先级,低于或等于500万的源数据文本处于次同一优先级。该调度可通过配置文件配置进程数为n,根据配置文件中配置的最大并发进程数来并发要转换的源数据文本,可根据机器的性能来调节并发数,以实现通过调节参数的方式来优化整个数据转换流程。具体以多进程并发的方式处理各源数据文本的调度方式如图2所示,图2是本发明以多进程并发处理数据转换方法的调度流程示意图。
线程是进程中的一个实体,是被***独立调度和分配的基本单位,线程自己不拥有***资源,只拥有一点在运行中必需的资源,但线程可与同属一个进程的其它线程共享进程所拥有的全部资源。在单个源数据文本处理中采用多线程方式,具体以多线程处理各源数据文本的调度方式如图3所示,图3是本发明以多线程处理数据文本的流程示意图,对于单个线程的处理流程是,解析数据文本,判断是否得到要处理的数据文本,如果判断结果为是,则根据数据转换规则,对数据文本进行数据转换,然后将转换后的数据信息写入目标数据文本,如果判断结果为否,则结束进程。
在源数据文本的数据转换进程被调起后,数据转换进程以多线程的方式读取该源数据文本中的数据信息,数据转换进程是使用配置文件来解析数据文本中数据信息各字段的含义,如:数据文本名为活期(对应的编号为NF001),所含的字段信息有帐号(TXN_ID),科目(ACCOUT1),人民币业务标识(CURRENCY),余额标识(BALANCE)利率固定浮动方式(RATE_FLG), 使用配置文件进行定义如下:
NF001,TXN_ID,1
NF001,ACCOUNT1,2
NF001,CURRENCY,3
NF001,BALANCE,4
NF001,RATE_FLG,5
表示NF001中的第一字段信息是帐号,第二个字段信息是科目,第三个字段信息是人民币,第四个字段信息是余额,第五个字段信息是利率固定浮动方式,以达到数据转换进程识别各数据文本中的数据信息的含义。
上述以层次模型的数据组织形式存储数据信息,数据信息各字段之间的逻辑关系,包括:等于、不等于、大于、大于等于、小于、小于等于和空。在逻辑模型中以表1中的逻辑表达式来识别数据信息各字段之间的逻辑关系,如表1所示。
表1:
序号 | 关系表达式 | 表达式中文说明 | 备注 |
1 | == | 等于 | 默认为等于 |
2 | >= | 大于等于 | |
3 | < | 小于 | |
4 | <= | 小于等于 | |
5 | > | 大于 | |
6 | != | 不等于 | |
7 | 空 | 任意值 |
例如:数据文本中数据信息之间的业务逻辑由三个信息来决定,分别是科目、币种、余额,业务逻辑规则为科目按照科目的值域来分,科目有{10001,10002,20001,20002,20003}五个值,业务标识为ACCOUNT1,币种分为等于人民币(数据中人民币的标识为CNY)和不等于人民币两种,业务标识为CURRENCY,余额分大于一百万和小于一百万两种,业务标识为BALANCE。该数据文本中数据信息之间的业务逻辑规则的逻辑模型如图4所示,图4是本 发明业务逻辑规则逻辑模型示意图;该数据文本中数据信息之间的业务逻辑规则的物理模型在文本中的存储方式为:
数据转换规则,ACCOUNT1,CURRENCY,BALANCE
数据转换规则1,10001,!CNY,>1000000
数据转换规则2,10001,CNY,<=1000000
数据转换规则3,10002,!CNY,>1000000
数据转换规则4,10002,CNY,<=1000000
对以层次模型的数据组织形式进行存储的数据信息,在进行搜索时,搜索方式为从根节点(即ROOT节点开始进行搜索),先进行单一层次搜索,如果找到逻辑匹配点,再进行横向搜索,如图4所示。以此种搜索方式进行搜索,搜索的次数最大为5+2+2=9,搜索的次数是随着各个决定业务逻辑规则的逻辑划分方式的加的关系,而不是乘的关系。以层次模型的数据组织形式进行存储的数据信息,可以提高搜索数据信息的效率,进而提高数据转换效率。如果为了更快的搜索到科目,可以为科目添加索引。只需将该数据文本中数据信息之间的业务逻辑规则的物理模型在文本中的存储方式调整为:
数据转换规则,ACCOUNT1,ACCOUNT1,CURRENCY,BALANCE
数据转换规则1,1,10001,!CNY,>1000000
数据转换规则2,1,10001,CNY,<=1000000
数据转换规则3,1,10002,!CNY,>1000000
数据转换规则4,1,10002,CNY,<=1000000
数据转换规则5,2,20001,!CNY,>1000000
数据转换规则6,2,20001,CNY,<=1000000
添加索引的数据文本中数据信息之间的业务逻辑规则的逻辑模型如图5所示,图5是本发明添加索引的业务逻辑规则逻辑模型示意图;对该业务逻辑规则的横向扩展,只需要在业务逻辑物理模型中进行扩展即可,如增加一个利率固定、浮动标志信息来决定业务逻辑规则,如业务逻辑分为固定(F)、浮动(V),只需将该数据文本中数据信息之间的业务逻辑规则的物理模型在文本中的存储方式调整为:
数据转换规则,ACCOUNT1,ACCOUNT1,CURRENCY,BALANCE,RATE_FLG
数据转换规则1,1,10001,!CNY,>1000000,F
数据转换规则2,1,10001,CNY,<=1000000,F
数据转换规则3,1,10001,!CNY,>1000000,V
数据转换规则4,1,10001,CNY,<=1000000,V
数据转换规则5,1,10002,!CNY,>1000000,V
数据转换规则6,1,10002,CNY,<=1000000,V
数据转换规则7,1,10002,!CNY,>1000000,F
数据转换规则8,1,10002,CNY,<=1000000,F
下面将给出具体的例子,对上述方法进行详细说明。以科目(ACCOUNT1),币种(CURRENCY),余额(BALANCE),利率浮动方式(RATE_FLG)决定一个产品(PRODUCT_ID),有如表2所示的转换规则。
表2:
产品 | 科目 | 币种 | 余额 | 利率浮动方式 |
2310CNY001 | 2310 | CNY | >1000000 | A |
2310CNY002 | 2310 | CNY | <=1000000 | A |
2310CNY003 | 2310 | CNY | >1000000 | F |
2310CNY004 | 2310 | CNY | <=1000000 | F |
要处理数据文本编码为FILE001,文件格式为,一条记录为一行,按竖线分隔,第一个位置是产品ID,第二个位置是科目,第三个位置是币种,第四个位置是余额,第五个位置是利率浮动方式,第六个位置是支付频率,第七个位置是支付频率单位。
存放在配置文件中的定义信息如下:
FILE001|TXN_ID|1|
FILE001|ACCOUNT1|2|
FILE001|CURRENCY|3|
FILE001|BALANCE|4|
FILE001|RATE_FLG|5|
FILE001|PMT_FREQ|6|
FILE001|PMT_FREQ_UNIT|7|
FILE001的数据信息如下:
123000000|23100000|CNY|2399343.111|A|3|M|
首先根据配置文件中的定义信息对FILE001的数据文本进行解析,获取数据文本中的数据信息,所述数据信息的存储方式包括:层次模型的数据组织形式,然后在配置文件中查找当前所需的转换规则信息,该转换规则信息如表3所示。
表3:
产品 | 科目 | 币种 | 余额 | 利率浮动方式 |
2310CNY001 | 2310 | CNY | >1000000 | A |
对数据进行转换。
转换后的数据信息如下:
123000000|23100000|CNY|2399343.111|A|3|M|2310CNY001|
在上述将转换前的数据信息根据数据转换规则转换为转换后的数据信息,可以通过C语言实现。
下面将对与上述实施例对应的数据转换装置,以及数据处理***进行详细说明。
参考图6,是本发明数据转换装置组成示意图,该装置包括:
第一获取单元601,用于获取源数据文本中的数据信息。
所述数据信息的各字段的定义信息在配置文件中描述。所述第一获取单元601具体用于根据所述定义解析源数据文本,获取所述源数据文本中数据信息。
第二获取单元602,用于根据所述源数据文本当前所需的业务类型,从配置文件中获取所述业务类型对应的数据转换规则信息。
数据转换单元603,用于根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息。
所述数据信息是以层次模型的数据组织形式进行存储。
上述数据转换装置可以设置在数据处理***中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施本发明实施例,通过获取源数据文本中的数据信息,根据所述源数据文本当前所需的业务类型,从配置文件中获取所述业务类型对应的数据转换规则信息;根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息;所述数据信息的存储形式包括:层次模型的数据组织形式。可以提高数据转换效率。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (9)
1.一种数据转换方法,其特征在于,包括:
获取源数据文本中的数据信息,所述数据信息是以层次模型的数据组织形式进行存储,其各字段的定义信息在配置文件中描述;
根据所述源数据文本当前所需的业务类型,从配置文件中以先从根节点开始搜索,然后进行单一层次的搜索,找到匹配点后再进行横向搜索的方式搜索到所述业务类型对应的数据转换规则信息并获取该数据转换规则信息;
根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息。
2.如权利要求1所述的方法,其特征在于,所述获取源数据文本中的数据信息包括:
根据所述定义信息解析所述源数据文本,获取所述源数据文本中的数据信息。
3.如权利要求1至2任意一项所述的方法,其特征在于,所述层次模型的数据组织形式包括:逻辑模型和物理模型。
4.如权利要求3所述的方法,其特征在于,当所述层次模型的数据组织形式是所述逻辑模型时,则所述逻辑模型存储在内存中。
5.如权利要求3所述的方法,其特征在于,当所述层次模型的数据组织形式是所述逻辑模型时,则所述物理模型存储在文本中。
6.如权利要求1至2任意一项所述的方法,其特征在于,所述对所述源数据文本中的数据信息执行数据转换操作是在多进程的基础上以多线程方式进行的。
7.一种数据转换装置,其特征在于,包括:
第一获取单元,用于获取源数据文本中的数据信息,所述数据信息是以层次模型的数据组织形式进行存储,其各字段的定义信息在配置文件中描述;
第二获取单元,用于根据所述源数据文本当前所需的业务类型,从配置文件中以先从根节点开始搜索,然后进行单一层次的搜索,找到匹配点后再进行横向搜索的方式搜索到所述业务类型对应的数据转换规则信息并获取该数据转换规则信息;
数据转换单元,用于根据所述数据转换规则信息,对所述源数据文本中的数据信息执行数据转换操作,使所述源数据文本中的数据信息转换为目标数据文本中的数据信息。
8.如权利要求7所述的装置,其特征在于,所述第一获取单元具体用于:
根据所述定义信息解析源数据文本,获取所述源数据文本中数据信息。
9.一种数据处理***,其特征在于,所述***包括如权利要求7至8任意一项所述的数据转换装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101929109A CN101446962B (zh) | 2008-12-31 | 2008-12-31 | 一种数据转换方法、装置及数据处理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101929109A CN101446962B (zh) | 2008-12-31 | 2008-12-31 | 一种数据转换方法、装置及数据处理*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101446962A CN101446962A (zh) | 2009-06-03 |
CN101446962B true CN101446962B (zh) | 2011-02-02 |
Family
ID=40742640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101929109A Active CN101446962B (zh) | 2008-12-31 | 2008-12-31 | 一种数据转换方法、装置及数据处理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101446962B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402731B (zh) * | 2010-09-15 | 2014-11-19 | 金蝶软件(中国)有限公司 | 一种跨单据工作流的实现方法及*** |
CN102508850A (zh) * | 2011-09-29 | 2012-06-20 | 用友软件股份有限公司 | 表单数据处理装置和表单数据处理方法 |
CN102542049A (zh) * | 2011-12-28 | 2012-07-04 | 北京像素软件科技股份有限公司 | 一种数据资源的预先处理方法 |
CN102819589B (zh) * | 2012-08-06 | 2015-02-04 | 北京久其软件股份有限公司 | 一种基于etl的数据优化方法及设备 |
CN102857412A (zh) * | 2012-10-12 | 2013-01-02 | 南京恩瑞特实业有限公司 | 一种新型的数据快速转换算法 |
CN104462121B (zh) * | 2013-09-18 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及*** |
CN103578032A (zh) * | 2013-11-14 | 2014-02-12 | 中国银行股份有限公司 | 数据处理*** |
CN103970599B (zh) * | 2014-05-29 | 2017-11-14 | 中国银行股份有限公司 | 一种基于多进程并发的数据处理方法及装置 |
CN104199812B (zh) * | 2014-08-18 | 2017-04-26 | 中国建设银行股份有限公司 | 一种支持多语言的数据***和方法 |
CN104360850B (zh) * | 2014-10-29 | 2019-06-07 | 中国建设银行股份有限公司 | 一种业务代码处理方法及装置 |
CN105120002B (zh) * | 2015-09-09 | 2019-01-25 | 中国银行股份有限公司 | 一种信息处理方法及装置 |
CN107463581B (zh) * | 2016-06-02 | 2020-09-08 | 广州泰尔智信科技有限公司 | 应用下载量获取方法、装置和终端设备 |
CN107608966A (zh) * | 2017-09-14 | 2018-01-19 | 武汉光谷信息技术股份有限公司 | 一种中文分词方法及*** |
CN109299173B (zh) * | 2018-09-07 | 2023-09-26 | 平安科技(深圳)有限公司 | 数据传输方法、装置及存储介质 |
CN113343646B (zh) * | 2021-06-21 | 2023-08-25 | 杭州数梦工场科技有限公司 | 数据转换方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000621A (zh) * | 2006-12-30 | 2007-07-18 | 中国建设银行股份有限公司 | 一种ims数据库互动式访问方法和工具 |
CN101162460A (zh) * | 2006-10-12 | 2008-04-16 | 凌群电脑股份有限公司 | 数据格式转换方法与*** |
-
2008
- 2008-12-31 CN CN2008101929109A patent/CN101446962B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162460A (zh) * | 2006-10-12 | 2008-04-16 | 凌群电脑股份有限公司 | 数据格式转换方法与*** |
CN101000621A (zh) * | 2006-12-30 | 2007-07-18 | 中国建设银行股份有限公司 | 一种ims数据库互动式访问方法和工具 |
Also Published As
Publication number | Publication date |
---|---|
CN101446962A (zh) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101446962B (zh) | 一种数据转换方法、装置及数据处理*** | |
CN102999506B (zh) | 一种获取用户独立访问数的方法与装置 | |
CN103748579B (zh) | 在映射化简框架中处理数据 | |
CN102129451B (zh) | 图像检索***中数据聚类方法 | |
CN103186612B (zh) | 一种词汇分类的方法、***和实现方法 | |
CN104239513A (zh) | 一种面向领域数据的语义检索方法 | |
CN101329676B (zh) | 一种数据并行抽取方法、装置和数据库*** | |
CN103703467A (zh) | 存储数据的方法和装置 | |
CN103218435A (zh) | 一种中文文本数据聚类方法及*** | |
CN102012936B (zh) | 基于云计算平台的海量数据聚合方法和*** | |
CN102591880A (zh) | 信息提供方法及装置 | |
CN103412889A (zh) | 智能电表的数据存储和查询方法及其*** | |
CN102306205A (zh) | 一种事务分配方法和装置 | |
CN108268586A (zh) | 跨多数据表的数据处理方法、装置、介质和计算设备 | |
CN103049496A (zh) | 一种对多个用户进行用户群划分的方法、装置与设备 | |
CN102737042A (zh) | 建立问句生成模型的方法和装置以及问句生成方法和装置 | |
CN103761286B (zh) | 一种基于用户兴趣的服务资源检索方法 | |
CN103136244A (zh) | 基于云计算平台的并行数据挖掘方法及*** | |
CN103902596B (zh) | 高频页面内容聚类方法和*** | |
CN107180079A (zh) | 基于卷积神经网络以及树与哈希结合索引的图像检索方法 | |
CN104239470A (zh) | 一种面向分布式环境的空间数据复合处理***和方法 | |
CN115438274A (zh) | 基于异质图卷积网络的虚假新闻识别方法 | |
CN110134511A (zh) | 一种OpenTSDB共享存储优化方法 | |
CN106886613A (zh) | 一种并行化的文本聚类方法 | |
CN109711439A (zh) | 一种使用Group算法加速邻居搜索的密度峰大规模游客画像数据聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |