[发明专利]一种财政要素匹配的加速方法有效
申请号: | 201010239792.X | 申请日: | 2010-07-29 |
公开(公告)号: | CN101916262A | 公开(公告)日: | 2010-12-15 |
发明(设计)人: | 曾纪才;黄立峰;张奇;方益 | 申请(专利权)人: | 北京用友政务软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q40/00 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 田明;任晓航 |
地址: | 100094 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 财政 要素 匹配 加速 方法 | ||
技术领域
本发明涉及一种数据处理方法,具体为一种财政要素匹配的加速方法。
背景技术
财政业务数据可以理解为一幅幅多维视图。
维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维。在财政领域也称为要素(单位维、科目维等)。
维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(预算单位:部门、一级单位、二级单位、底级单位)。
维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某部门下的某一级单位下的某底级单位”是在单位维上位置的描述)。
度量(Measure):多维数组的取值。(一笔财政支出:某某单位,行政支出,财政授权支付,一般预算)。
钻取(Drill-up和Drill-down):是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。在财政业务中,这种行为也称为要素匹配。
日常财政业务中,经常对数据进行向上钻取,以取得高层次数据的度量(如:录入单位用款计划时需要通过所录入的计划匹配到对应的单位可执行指标)。同时由于财政业务系统都是实时系统,这对数据钻取的性能有一定要求。传统的技术实现方式有两种在关系数据库,进行多字段复杂关联查询实现,需关联到多个维度的物理表。这样的做法有以下缺点:
多表关联,性能上很难满足实时系统的需要。
关联字段多,数据库索引的建立与维护不方便。
针对以上缺点,可以缓存数据,在内存中进行运算得出钻取结果。这样性能是会上升,但也有以下问题:
容易造成内存数据与数据库数据不一致甚至出现错误数据,这对于财政的数据高度一致性与正确性的要求不符。
财政数据量大,维度多,在内存中缓存数据需要高昂的硬件设备,实施成本过高。
发明内容
本发明的目的是为了解决财政要素匹配的性能问题,提供一种财政要素匹配的加速方法,在加速要素匹配的同时,保证数据实时性、一致性、正确性,并保证实施成本在一个可接受的范围之内。
本发明的技术方案如下:一种财政要素匹配的加速方法,包括如下步骤:
(1)根据多维账户结构COA与各要素值拼凑长字符串;
(2)针对步骤(1)中得到的长字符串,通过简单整型HASH算法计算简单的HASH值作为要素配置的一个具体数据CCID,并同时通过MD5算法计算MD5值;
(3)判断是否有相同的CCID和MD5值已经同时在缓存或数据库中存在,如果有则转至步骤(8),否则;
(4)将生成的CCID与原要素值一起插入数据库表;
(5)判断是否有相同的CCID或者MD5值已经在数据库中存在,如果没有则转至步骤(8),否则;
(6)判断是否是CCID存在冲突,如果是,则将CCID值加1,转至步骤(4),否则;
(7)针对MD5值再进行一次MD5运算,得到新的MD5值,转至步骤(5);
(8)将生成的CCID返回给业务数据。
进一步,如上所述的财政要素匹配的加速方法,在步骤(1)中,将各要素值按照多维账户结构COA的固定顺序依次合成一个字符串。
进一步,如上所述的财政要素匹配的加速方法,将步骤(2)中针对同一个长字符串得到的CCID和MD5值相关联,作为一个要素组合对象,在步骤(3)中进行查找判断。
本发明的有益效果如下:本发明将简单整型HASH算法和MD5算法相结合,使得到的要素配置数据CCID既满足主键足够短,便于查询索引的要求,又通过CCID与MD5两个字段关联保证了CCID记录的唯一性。本发明与现有技术相比,不再需要组装包含多个要素的SQL进行要素匹配,提高了匹配速度,支持大批量的记账操作,很大的提高了数据的安全性。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细描述。
●名词定义:
COA:多维账户结构,描述了一个数据结构。
要素:对一些相对固定的基础数据的抽象。
COA要素:COA与要素之间的关联,主要是描述要素在COA中的级次。
CCID:要素配置实例,COA结构的一个具体的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京用友政务软件有限公司,未经北京用友政务软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010239792.X/2.html,转载请声明来源钻瓜专利网。