对客户流水账进行分析时,我们应提取到的主要内容有哪些

豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
小学语文论文:中年级“把握文章主要内容”能力训练的现状分析及对策
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口查看: 15550|回复: 18
如何看懂银行流水、三大财务报表(供业务、风控人员学习)
积分1666 点
主题帖子精华
白银长老, 积分 1666, 距离下一级还需 334 积分
马上注册,结交更多金融圈好友,享用更多功能,让你轻松玩转博瑞社区。
才可以下载或查看,没有帐号?
一、如何看银行流水?
1. 贷款通常要用到的是企业的来帐总数,就是把某段时间内每笔进账都加起来,银行流水的进项主要表现方式;进项表现贷方,出项表现于借方,主要有卡存,现存,转入,工资,续存,网银转账,货款,劳务费等。
2. 拿着流水单,随意找一笔交易,打电话去电话银行,你自己输入查询密码,他在根据流水单上的明细,输入日期,如果和电话中报的吻合就没问题,反之对不上,就是假的。
3. 向开户行索取对账单,将银行存款明细账与对账单进行比较,真假立辨。
4. 从实际获取银行对账单和银行流水的程序上讲,还是有所差异的:银行对账单是银行提供给企业的用以核对账目的,审计人员一般是从企业直接获取该证据;但对于银行流水,一般要求审计人员与企业财务人员一同到银行打印,直接获取该证据。因此,从获取流程来讲,银行对账单经企业之手,因而可能被改动;而银行流水则相对更为可信,除非银行和企业合谋。
二、如何看懂银行对账单?
1、Q:拿到个人的银行流水,不知道从何下手啊,分析哪些方面可以得出说明结论?
A:从贷方发生额,能看出客户现金流入情况,这点是最重要的信息。 2、Q:是否贷方发生频率高或金额高就意味着经营状况可以啊? A:(1)对,基本如此。请关注贷方累计发生额,及每笔发生额对应的会计科目,是否同销售行业直接相关。目前还很少有企业通过半年前粉饰银行对账单,来获得信贷部门的信用记录。
(2)银行对账单应该结合客户银行存款明细账、销售收入明细账、成本费用明细账以及客户的上下游合同一起做综合比较。总的来说看对账单,一是怕对账单假;二是怕业务不真。单纯的看对账单,第一,就是看贷方的流水总额是否超过销售额,否则销售收入就有造假的嫌疑。当然并不是绝对,这里也有收现金的可能。
(3)第二,看流进流出的金额是否与客户的业务相一致,比如客户商品买卖金额都在几十万左右但银行对账单金额在几百万或者几万块徘徊,那就需要注意了,问其原因,另外要注意几点:流水总额超过销售额也不代表销售收入就一定真,可能客户几个账户来回倒,看借贷方是否正常。
(4)目前很多客户基本上都走一部分个人卡,对于客户拿来的个人卡,需要进行鉴别,不要客户随便拿过来几张卡的流水就说是自己的。看户主以及流水金额是否与业务相符。
(5)现在很多不规范的企业为了逃税,很大部分收入都是走的个人账户,审查时要了解清楚该企业的实际情况。
3、Q:请问怎么看“可能客户几个账户来回倒;看借贷方是否正常。借贷方异常,这个怎么看?经常有整数金额的进出,这个算正常吗?一般货款是不是都是非整数的?
A:拿到企业的银行对账单主要从以下几点分析:
(1)是否存在节假日期间发生对公业务结算情况,若有那银行对账单就是假的。
(2)核实一下银行对账单的贷方发生额,若贷方发生额大于企业的当期的销售收入,则说明企业的销售收入还比较客观真实,但这不是全部就能认定!
(3)抽查银行对账单中一些大额的往来,然后对应合同、发票(或收据)出库单一起进行核实印证,看企业是否存在真实的结算交易记录,特别是在年前及
年终几个月份要仔细核实几笔,因为现在企业也很贼,往往用一笔资金或者让一些关系不错的企业不断的划转资金来摆帐从而“抬高”银行对账单贷方发生额的额度,所以必须要仔细抽查一些大额的资金往来,是否和合同,发票或者收据及出库单对应一致,从而确定交易的真实性!
(4)同时还要识别对账单的真假。流水及对账单都非常重要,这个是辅助材料,但是流水和对账单之间有联系性,也有排斥性,毕竟有可能流水和对账单之间的数字有差异。
①对账单、流水要有与之相配的合同或者进出库票据(或者其他辅助证明材料)。
②对账单贷方发生额与流水(有可能是员工的、公司领导私人卡)要看他数字上是否有来回走账的可能,需核实。
③不能单一说贷方发生额愈大就是经营愈好,经营收入与其贷方发生额、流水无关;很多企业为了避税也会选择走个人私人卡,因此数据的准确性是需要调查与核实的。
④银行为了帮助客户贷款会帮客户找流水,这个是最可怕的,需要你去了解和沟通;
⑤对账单、流水会有客户以往的应付账款和应收账款;需要调查、核实和剔除;如果都调查清楚了,就以第“1”条来看他的主营业务情况能否满足贷款担保需求。
三、如何看资产负债表?
资产负债表各项目的填列
(一)年初数字的填列报表中的&年初数&栏内各项数字,根据上年末资产负债表&期末数&栏内所列数字填列。如果本年度资产负债表各个项目的名称和内容同上年度不相一致,则应对上年末资产负债表各项目的名称和数字按照本年度的口径进行调整,填入报表中的&年初数&栏内。
(二)报表其他各项目的内容和填列方法:
1.&货币资金&项目,反映企业库存现金、银行结算户存款、外埠存款、银行汇票存款、银行本票存款和在途资金等货币资金的合计数。
2.&短期投资&项目,反映企业购入的各种能随时变现,持有时间不超过1年的有价证券以及不超过1年的其他投资。
3.&应收票据&项目,反映企业收到的未到期收款也未向银行贴现的应收票据,包括商业承兑汇票和银行承兑汇票。
4.&应收帐款&项目,反映企业因销售产品和提供劳务等而应向购买单位收取的各种款项。
5.&坏帐准备&项目,反映企业提取尚未转销的坏帐准备。
6.&预付帐款&项目,反映企业预付给供应单位的款项。
7.&应收补贴款&项目,反映企业应收的各种补贴款。
8.&其它应收款&项目,反映企业对其他单位和个人的应收和暂付的款项。
9.&存货&项目,反映企业期末在库、在途和在加工中的各项存货的实际成本,包括原材料、包装物、低值易耗品、自制半成品、产成品、分期收款发出商品等。
10.&待摊费用&项目,反映企业已经支付但应由以后各期分期摊销的费用。企业的开办费、租入固定资产改良及大修理支出以及摊销期限在1年以上的其他待摊费用,应在本表&递延资产&项目反映,不包括在该项目数字之内。
11.&待处理流动资产净损失&项目,反映企业在清查财产中发现的尚待转销或作其他处理的流动资产盘亏、毁损扣除盘盈后的净损失。
12.&其他流动资产&项目,反映企业除以上流动资产项目外的其他流动资产的实际成本。
13.&长期投资&项目,反映企业不准备在1年内变现的投资。长期投资中将于1年内到期的债券,应在流动资产类下&一年内到期的长期债券投资&项目单独反映。
14.&固定资产原价&项目和&累计折旧&项目,反映企业的各种固定资产原价及累计折旧。融资租入的固定资产在产权尚未确定之前,其原价及已提折旧也包括在内。融资租入固定资产原价并应在本表下端补充资料内另行反映。
15.&固定资产清理&项目,反映企业因出售、毁损、报废等原因转入清理但尚未清理完毕的固定资产的净值,以及固定资产清
怎样看资产负债表
资产负债表是反映公司某一特定日期(月末、年末)全部资产、负债和所有者权益情况的会计报表。它的基本结构是“资产=负债+所有者权益”。不论公司处于怎样的状态这个会计平衡式永远是恒等的。左边反映的是公司所拥有的资源;右边反映的是公司的不同权利人对这些资源的要求。债权人可以对公司的全部资源有要求权,公司以全部资产对不同债权人承担偿付责任,偿付完全部的负债之后,余下的才是所有者权益,即公司的资产净额。
我们利用资产负债表的资料,可以看出公司资产的分布状态、负债和所有者权益的构成情况,据以评价公司资金营运、财务结构是否正常、合理;分析公司的流动性或变现能力,以及长、短期债务数量及偿债能力,评价公司承担风险的能力;利用该表提供的资料还有助于计算公司的获利能力,评价公司的经营绩效。
在分析资产负债表要素时我们应首先注意到资产要素分析,具体包括:
1流动资产分析。分析公司的现金、各种存款、短期投资、各种应收应付款项、存货等。流动资产比往年提高,说明公司的支付能力与变现能力增强。
2长期投资分析。分析一年期以上的投资,如公司控股、实施多元化经营等。长期投资的增加,表明公司的成长前景看好。
3固定资产分析。这是对实物形态资产进行的分析。资产负债表所列的各项固定资产数字,仅表示在持续经营的条件下,各固定资产尚未折旧、折耗的金额并预期于未来各期间陆续收回,因此,我们应该特别注意,折旧、损耗是否合理将直接影响到资产负债表、利润表和其他各种报表的准确性。很明显,少提折旧就会增加当期利润。而多提折旧则会减少当期利润,有些公司常常就此埋下伏笔。
4无形资产分析。主要分析商标权、著作权、土地使用权、非专利技术、商誉、专利权等。商誉及其他无确指的无形资产一般不予列账,除非商誉是购入或合并时形成的。取得无形资产后,应登记入账并在规定期限内摊销完毕。
其次,要对负债要素进行分析,包括两个方面:
1流动负债分析。各项流动负债应按实际发生额记账,分析的关键在于要避免遗漏,所有的负债均应在资产负债表中反映出来。
2长期负债分析。包括长期借款、应付债券、长期应付款项等。由于长期负债的形态不同,因此,应注意分析、了解公司债权人的情况。
 最后是股东权益分析,包括股本、资本公积、盈余公积和未分配利润4个方面。分析股东权益,主要是了解股东权益中投入资本的不同形态及股权结构,了解股东权益中各要素的优先清偿顺序等。看资产负债表时,要与利润表结合起来,主要涉及资本金利润和存货周转率,前者是反映盈利能力的指标,后者是反映营运能力的指标。
四、怎样看利润表?
利润表依据“收入-费用=利润”来编制,主要反映一定时期内公司的营业收入减去营业支出之后的净收益。通过利润表,我们一般可以对上市公司的经营业绩、管理的成功程度作出评估,从而评价投资者的投资价值和报酬。利润表包括两个方面:一是反映公司的收入及费用,说明公司在一定时期内的利润或亏损数额,据以分析公司的经济效益及盈利能力,评价公司的管理业绩;另一部分反映公司财务成果的来源,说明公司的各种利润来源在利润总额中占的比例,以及这些来源之间的相互关系。对利润表进行分析,主要从两方面入手:
1.收入项目分析。公司通过销售产品、提供劳务取得各项营业收入,也可以将资源提供给他人使用,获取租金与利息等营业外收入。收入的增加,则意味着公司资产的增加或负债的减少。
记入收入账的包括当期收讫的现金收入,应收票据或应收账款,以实际收到的金额或账面价值入账。
2.费用项目分析。费用是收入的扣除,费用的确认、扣除正确与否直接关系到公司的盈利。所以分析费用项目时,应首先注意费用包含的内容是否适当,确认费用应贯彻权责发生制原则、历史成本原则、划分收益性支出与资本性支出的原则等。其次,要对成本费用的结构与变动趋势进行分析,分析各项费用占营业收入百分比,分析费用结构是否合理,对不合理的费用要查明原因。同时对费用的各个项目进行分析,看看各个项目的增减变动趋势,以此判定公司的管理水平和财务状况,预测公司的发展前景。
看利润表时要与上市公司的财务情况说明书联系起来。它主要说明公司的生产经营状况;利润实现和分配情况;应收账款和存货周转情况;各项财产物资变动情况;税金的缴纳情况;预计下一会计期间对公司财务状况变动有重大影响的事项。财务情况说明书为财务分析提供了了解、评价公司财务状况的详细资料。
五、怎样看现金流量表?
现金流量表是反映上市公司现金流入与流出信息的报表。这里的现金不仅指公司在财会部门保险柜里的现钞,还包括银行存款、短期证券投资、其他货币资金。现金流量表可以告诉我们公司经营活动、投资活动和筹资活动所产生的现金收支活动,以及现金流量净增加额,从而有助于我们分析公司的变现能力和支付能力,进而把握公司的生存能力、发展能力和适应市场变化的能力。
市公司的现金流量具体可以分为以下5个方面:
1.来自经营活动的现金流量:反映公司为开展正常业务而引起的现金流入量、流出量和净流量,如商品销售收入、出口退税等增加现金流入量,购买原材料、支付税款和人员工资增加现金流出量,等等;
2.来自投资活动的现金流量:反映公司取得和处置证券投资、固定资产和无形资产等活动所引起的现金收支活动及结果,如变卖厂房取得现金收入,购入股票和债券等对外投资引起现金流出等;
3.来自筹资活动的现金流量:是指公司在筹集资金过程中所引起的现金收支活动及结果,如吸收股本、分配股利、发行债券、取得借款和归还借款等;
4.非常项目产生的现金流量:是指非正常经济活动所引起的现金流量,如接受捐赠或捐赠他人,罚款现金收支等;
5.不涉及现金收支的投资与筹资活动:这是一类对股民非常重要的信息,虽然这些活动并不会引起本期的现金收支,但对未来的现金流量会产生甚至极为重大的影响。这类活动主要反映在补充资料一栏里,如以对外投资偿还债务,以固定资产对外投资等。
对现金流量表主要从3个方面进行分析:
1.现金净流量与短期偿债能力的变化。如果本期现金净流量增加,表明公司短期偿债能力增强,财务状况得到改善;反之,则表明公司财务状况比较困难。当然,并不是现金净流量越大越好,如果公司的现金净流量过大,表明公司未能有效利用这部分资金,其实是一种资源浪费。
2.现金流入量的结构与公司的长期稳定。经营活动是公司的主营业务,这种活动提供的现金流量,可以不断用于投资,再生出新的现金来,来自主营业务的现金流量越多,表明公司发展的稳定性也就越强。公司的投资活动是为闲置资金寻找投资场所,筹资活动则是为经营活动筹集资金,这两种活动所发生的现金流量,都是辅助性的,服务于主营业务的。这一部分的现金流量过大,表明公司财务缺乏稳定性。
3.投资活动与筹资活动产生的现金流量与公司的未来发展。股民在分析投资活动时,一定要注意分析是对内投资还是对外投资。对内投资的现金流出量增加,意味着固定资产、无形资产等的增加,说明公司正在扩张,这样的公司成长性较好;如果对内投资的现金流量大幅增加,意味着公司正常的经营活动没有能够充分吸纳现有的资金,资金的利用效率有待提高;对外投资的现金流入量大幅增加,意味着公司现有的资金不能满足经营需要,从外部引入了资金;如果对外投资的现金流出量大幅增加,说明公司正在通过非主营业务活动来获取利润。
主题帖子精华
新手上路, 积分 9, 距离下一级还需 11 积分
学习了,比较详细
主题帖子精华
初级会员, 积分 44, 距离下一级还需 6 积分
居住地山东省 青岛市
职业担保业|民间金融
学习了,谢谢分享!!!!
主题帖子精华
新手上路, 积分 3, 距离下一级还需 17 积分
居住地河北省 邯郸市 邯山区
职业银行业
长知识了 谢谢分享
积分108 点
主题帖子精华
潜力会员, 积分 108, 距离下一级还需 92 积分
好文章,看看
主题帖子精华
新手上路, 积分 5, 距离下一级还需 15 积分
居住地江苏省 南京市
职业投行|PE|风险投资
不错,学习学习!!!
主题帖子精华
新手上路, 积分 18, 距离下一级还需 2 积分
居住地广东省 广州市
职业银行业
主题帖子精华
新手上路, 积分 5, 距离下一级还需 15 积分
居住地河南省 驻马店市 驿城区
职业银行业
非常感谢,学了!
积分115 点
主题帖子精华
潜力会员, 积分 115, 距离下一级还需 85 积分
好详细,已经收藏,谢谢楼主
主题帖子精华
新手上路, 积分 1, 距离下一级还需 19 积分
居住地河南省
职业其他行业
Powered by单片机、电路板
连接器、接插件
其他元器件
流水线处理技术在数据集成中的应用
流水线处理技术在数据集成中的应用
摘& 要: 在数据集成中,经常碰到大数据量的集成问题,基于数据仓库方式的数据集成技术是一种比较流行的集成模式,提高该集成模式的查询以及实化视图的初始化效率、响应速度,并防止内存溢出,是数据集成中非常关注的地方。在基于数据仓库方式的数据集成模式中,利用基于内存控制的流水线处理方法,提高查询以及实化视图的初始化效率。实验证明,以上方法较同步方法不仅提高了数据集成效率,而且实现了内存控制。
摘& 要: 在数据集成中,经常碰到大数据量的集成问题,基于数据仓库方式的数据集成技术是一种比较流行的集成模式,提高该集成模式的查询以及实化视图的初始化效率、响应速度,并防止内存溢出,是数据集成中非常关注的地方。在基于数据仓库方式的数据集成模式中,利用基于内存控制的流水线处理方法,提高查询以及实化视图的初始化效率。实验证明,以上方法较同步方法不仅提高了数据集成效率,而且实现了内存控制。
关键词: 数据集成;查询效率;内存控制;流水线
&&& 随着个人计算机和计算机网络的飞速发展,以及信息化的高速推进,互联网提供的信息总量也在迅猛增长。如果企业和社会组织实现数据共享,可以使更多的人更充分地利用已有的数据资源。可是为不同应用服务的信息都存储在许多不同的数据源之中,数据内容以及数据格式千差万别,且其管理系统也各不相同。如何对这些数据进行有效的集成管理,屏蔽这些信息的异构,并提供一个统一的访问接口以透明地访问各信息源,成为一些大型企业或社会组织关心的事情。数据集成正是在这一背景下提出的。
1 基于数据复制方法的集成模式
&& &数据复制方法[1]是当前比较常用的数据集成模式,该方法将各个数据源的数据复制到与其相关的其他数据源上,并维护数据源整体上的数据一致性、提高信息共享利用的效率。这种方式可以复制信息源的整个数据,也可以是信息源的部分信息。数据复制方法在用户使用某个数据源之前,将用户可能用到的其他数据源的数据预先复制过来,如果用户要使用的数据已经被复制,则只需要查询该集成信息源,并与中介器/包装器的虚拟数据集成[2]相比,大大提高了系统处理用户请求的效率。
&& &基于数据复制方式最常见的一种方法是数据仓库方法[1]。该方法将各个数据的全部或者部分数据复制到数据仓库,用户像访问普通数据库一样直接访问数据仓库。该方式实现了对物理数据库语义异构的屏蔽和数据访问的控制,提供了一个统一的数据逻辑视图来隐藏底层的数据细节。图1所示为一个典型的数据仓库体系结构图[3]。
&&& 在该集成模型中,每一个数据源对应一个监视器(Monitor),监视器负责收集所需要集成的信息源中数据的变化以便上报给集成端(收集的方式有如下类别:针对信息源有日志的情况,可以通过日志分析提取要上报的增量;对于没有日志情况可以通过触发器方式或者快照差分方式获取信息源的增量),同时监视器还具有一个包装器的功能,提供信息源的数据查询提取以及类型转化功能。当作为数据查询功能的时候,不仅将数据初始化同步到数据仓库中,同时也相当于一个服务器,不断侦听来自于集成器的命令查询请求,当有请求到达时,执行查询,并将该监视器对应的数据源的数据包装成基于公共类型的数据,或以XML文件的方式和固定大小对象数据块的方式传递给集成器,然后集成器负责将提取后的数据进行合成。其中监视器与集成器中的通信流程如图2所示。
2 基于内存控制的流水线处理方法
&& &从上面的数据仓库体系结构可知,监视器必须具备一个包装器(wrapper)的功能。数据仓库端保存的数据是各底层信息源的部分副本(一般情况为访问非常频繁),但是不是很频繁的访问数据还是保持在底层信息源端,当一个OLAP查询(如下钻)经过查询分解后,不能在数据仓库端获取,而必须通过一个甚至几个底层信息源端的查询,然后在集成器端进行结果的合并(如要通过两个底层数据库中表的连接操作)才能获取查询结果。在实化视图初始化时,提高查询的效率以及提高实化视图初始化的时间,是非常重要的。
&& &本文关注的便是如何提高查询效率、响应速度、集成端的处理效率,以及在提交查询后,如何减少集成端的空闲等待时间,并且在大数据量的情况下同时做到内存控制,以防止在大数据量的情况下查询导致内存溢出。
&& &在解决提高查询效率、响应速度、集成端的插入效率的同时,防止内存溢出以及在减少集成端的空闲等待时间方面,利用了基于生产者/消费者的流水线处理方法,该方式主要思想是实现服务器与客户端的流水并行[4],查询的结果以固定大小数据块的形式分块组装,并在监视器端与集成端都使用一定大小的缓冲队列来暂存这些数据块,以有效防止内存溢出。以一次实化视图的初始化过程为例,描述该方式的算法流程为:
&& &(1)集成端发送带全局查询QID(该查询QID为全局唯一的,通过客户端API自动生成)的SQL查询命令(结果查询重写),并通过通信平台将该查询命令放入服务器端执行队列中,同时预设一个数据块计数为sum(该计数为服务器端初始要发送的数据块个数),然后集成端监听接收队列;
&& &(2)监视器端从命令队列中取出查询命令,创建查询管理器(Data Query Manager),并将该查询管理器与查询QID作为一个键值对放入进程全局的哈希表(Concurrent Hash Map)中,然后通过该查询管理器中的excuteQurey()方法启动查询线程,该查询线程将获得的记录组织成数据块(Data Object Block),放入固定大小的数据块缓冲队列中,并在该队列满时,查询线程暂停,不满时继续查询,直到最后一块为止。同时启动发送固定大小的数据块的线程,该发送线程从缓冲队列中取出数据块,发送给客户端,直到发送的最后一块,该发送线程终止;
&& &(3)当有数据块到达客户端的数据块接收队列时,判断该块是否为最后一块,如果是,则设置所有块是否到达的标志&flag=true&,并通知客户端进行处理,客户端处理线程从队列中取出一个数据块进行处理(对实化视图初始化,处理的方式就是将该数据块插入到数据仓库的实化视图中),并将数据块计数n减1,再判断该数据块计数是否小于客户端要缓冲的个数N,并同时判断flag的值,如果sum&N,且flag= =false,则发送从服务器端调取固定数目K数据块的命令(该命令带QID,以便到服务器端时找到之前的查询管理器),同时设置sum=sum+K;
&& &(4)服务器端接收到客户端的数据块调取命令,分离出里面的QID,从进程全局的哈希表中找到与该QID对应的查询管理器,并调用里面的发送固定数据块的方法以启动发送固定数目数据块的线程,该线程与步骤(2)中发送线程相同;
&& &(5)重复步骤(3)、步骤(4),直到查询的最后一块到达客户端,与此同时,服务器端的查询管理器也从全局的哈希表中移除。
3 性能测试与分析
&& &与流水线处理方法相对应的一种方法为同步方法,即通过查询先将底层信息源的结果组装在一起,一次传给集成端处理。由于采用的都是对象数据块的形式,因此用于与流水线对比的同步方法的算法思想为:
&& &(1)客户端发送带全局查询QID(该查询QID为全局唯一的,通过客户端API自动生成)的SQL查询命令(结果查询重写),并通过通信平台将该查询命令放入服务器端执行队列中;
&& &(2)服务器端接收到查询命令,执行查询,将所得的结果存放于文件中,然后一次发送给客户端;
&& &(3)客户端接收到关于本次查询结果集的文件,然后处理该结果集文件。
&& &将基于内存控制的流水线处理方法与同步方法在以下实验环境下进行测试对比,为减少误差,多次测试得出平均值,有如下数据:
&& &监视器端与集成端采用相同配置环境,相关配置为:
&& &CPU:Intel(R) Core(TM)2 Duo CPU E4500 @ 2.2 GHz;操作系统:Windows XP;内存:2.0 GB;数据库:Oracle 9i;JDK版本:1.6.0_07;开发工具:Myeclipse6.5。
&& &本实验性能测试如图3所示,可以看出,与传统的同步方法相比,采用本文算法具有较好的性能特性,主要在于基于内存控制的流水线处理过程是一个监视器端与集成器端并行流水线运行的过程,并充分应用了现在多处理器多线程处理的技术,减少了集成端空闲等待的时间。
&&& 设查询信息源并包装所有数据成公共类型数据块的时间代价为Cost(Q),传输放入文件中的所有数据块到集成端的时间为Cost(T),集成端将传输过来的数据解析并初始化到数据仓库的时间为Cost(P),则基于同步方法的时间代价为:Cost(Q)+Cost(T)+Cost(P)。
&& &设查询信息源并包装查询的数据成公共类型数据块为一块的时间代价为:Cost(Q1),传输其中一块数据块到集成端的时间为Cost(T1),集成端将传输过来的一块数据块解析并初始化到数据仓库的时间为Cost(P1),因为这里数据块是个固定的常数,则基于本文的算法的时间代价为:Cost(Q1)+Cost(T1)+Cost(P1)+max(Cost(Q)-Cost(Q1),Cost(T)-Cost(T1),Cost(P)-Cost(P1)),其中max为各处理逻辑减去初始处理的最大时间。
&& &从上面理论上可以分析得出,基于内存控制的流水线处理技术较同步技术可以更好地提高效率。同时还存在几个问题:
&& &(1)当集成端需要OLAP查询或实化视图初始化比较多时,仍然会出现内存溢出的问题,这时可以应用线程池技术[4],有效控制这类线程运行的数量,同样,监视器端也使用这种方案。
&& &(2)当集成端与监视器端进行流水线处理时,如果监视器端与集成端出现网络中断,或者其中一个出现突发事件(如断电)时,之前的一些过程就需要重做,并回滚。特别是针对网络中断的情况,容易造成监视器端查询线程的线程泄漏,即集成端认为之前的操作没成功,然后重新进行操作,然而监视器端的处理线程却还没完。避免这些情况出现的解决方案为:设置一个超时,当达到设定时间而这一流水处理过程未进行时,自动中断这些处理流程,或者可以在监视器端对查询组装后数据块分块存储在硬盘上,然后进行文件数据块的发送,这样减少了块之间的命令的交互逻辑,而且有效地控制了线程泄漏,但是也增加了文件的读写与控制,增加了I/O开销。
&& &数据集成仍然是一个比较热门的研究点,在基于数据仓库方法的数据集成中,分析了实化视图初始化以及OLAP查询中面对大数据量处理的问题,应用了基于内存控制的流水线处理方法,充分利用了Java的多线程处理技术,并从实验和理论上分析了该方法较同步方法的优点。
[1] LABIO W J,GARCIA-MOLINA.Efficient snapshot differential algorithms for data warehousing[C].In Proceedings of& VLDB Conference,Bombay,India,September .
[2] 陈跃国,王京春.数据集成综述[J].计算机科学,):48-51.
[3] 何震瀛,李建中,高宏.Web数据仓库异步迭代查询处理方法[J].软件学报,):214-218.
[4] GOETZ B.JAVA并发编程实践[M].方妙,韩锴,译.北京:电子工业出版社,2007.
[5] MOSTAFA E,MUSTAPHA B,LOUBNA C.An advanced XML mediator for heterogeneous information systems based on application domain specification.International Journal of& Computer Science & Applications[J].).
摘& 要: 在数据集成中,经常碰到大数据量的集成问题,基于数据仓库方式的数据集成技术是一种比较流行的集成模式,提高该集成模式的查询以及实化视图的初始化效率、响应速度,并防止内存溢出,是数据集成中非常关注的地方。在基于数据仓库方式的数据集成模式中,利用基于内存控制的流水线处理方法,提高查询以及实化视图的初始化效率。实验证明,以上方法较同步方法不仅提高了数据集成效率,而且实现了内存控制。
关键词: 数据集成;查询效率;内存控制;流水线
&&& 随着个人计算机和计算机网络的飞速发展,以及信息化的高速推进,互联网提供的信息总量也在迅猛增长。如果企业和社会组织实现数据共享,可以使更多的人更充分地利用已有的数据资源。可是为不同应用服务的信息都存储在许多不同的数据源之中,数据内容以及数据格式千差万别,且其管理系统也各不相同。如何对这些数据进行有效的集成管理,屏蔽这些信息的异构,并提供一个统一的访问接口以透明地访问各信息源,成为一些大型企业或社会组织关心的事情。数据集成正是在这一背景下提出的。
1 基于数据复制方法的集成模式
&& &数据复制方法[1]是当前比较常用的数据集成模式,该方法将各个数据源的数据复制到与其相关的其他数据源上,并维护数据源整体上的数据一致性、提高信息共享利用的效率。这种方式可以复制信息源的整个数据,也可以是信息源的部分信息。数据复制方法在用户使用某个数据源之前,将用户可能用到的其他数据源的数据预先复制过来,如果用户要使用的数据已经被复制,则只需要查询该集成信息源,并与中介器/包装器的虚拟数据集成[2]相比,大大提高了系统处理用户请求的效率。
&& &基于数据复制方式最常见的一种方法是数据仓库方法[1]。该方法将各个数据的全部或者部分数据复制到数据仓库,用户像访问普通数据库一样直接访问数据仓库。该方式实现了对物理数据库语义异构的屏蔽和数据访问的控制,提供了一个统一的数据逻辑视图来隐藏底层的数据细节。图1所示为一个典型的数据仓库体系结构图[3]。
&&& 在该集成模型中,每一个数据源对应一个监视器(Monitor),监视器负责收集所需要集成的信息源中数据的变化以便上报给集成端(收集的方式有如下类别:针对信息源有日志的情况,可以通过日志分析提取要上报的增量;对于没有日志情况可以通过触发器方式或者快照差分方式获取信息源的增量),同时监视器还具有一个包装器的功能,提供信息源的数据查询提取以及类型转化功能。当作为数据查询功能的时候,不仅将数据初始化同步到数据仓库中,同时也相当于一个服务器,不断侦听来自于集成器的命令查询请求,当有请求到达时,执行查询,并将该监视器对应的数据源的数据包装成基于公共类型的数据,或以XML文件的方式和固定大小对象数据块的方式传递给集成器,然后集成器负责将提取后的数据进行合成。其中监视器与集成器中的通信流程如图2所示。
2 基于内存控制的流水线处理方法
&& &从上面的数据仓库体系结构可知,监视器必须具备一个包装器(wrapper)的功能。数据仓库端保存的数据是各底层信息源的部分副本(一般情况为访问非常频繁),但是不是很频繁的访问数据还是保持在底层信息源端,当一个OLAP查询(如下钻)经过查询分解后,不能在数据仓库端获取,而必须通过一个甚至几个底层信息源端的查询,然后在集成器端进行结果的合并(如要通过两个底层数据库中表的连接操作)才能获取查询结果。在实化视图初始化时,提高查询的效率以及提高实化视图初始化的时间,是非常重要的。
&& &本文关注的便是如何提高查询效率、响应速度、集成端的处理效率,以及在提交查询后,如何减少集成端的空闲等待时间,并且在大数据量的情况下同时做到内存控制,以防止在大数据量的情况下查询导致内存溢出。
&& &在解决提高查询效率、响应速度、集成端的插入效率的同时,防止内存溢出以及在减少集成端的空闲等待时间方面,利用了基于生产者/消费者的流水线处理方法,该方式主要思想是实现服务器与客户端的流水并行[4],查询的结果以固定大小数据块的形式分块组装,并在监视器端与集成端都使用一定大小的缓冲队列来暂存这些数据块,以有效防止内存溢出。以一次实化视图的初始化过程为例,描述该方式的算法流程为:
&& &(1)集成端发送带全局查询QID(该查询QID为全局唯一的,通过客户端API自动生成)的SQL查询命令(结果查询重写),并通过通信平台将该查询命令放入服务器端执行队列中,同时预设一个数据块计数为sum(该计数为服务器端初始要发送的数据块个数),然后集成端监听接收队列;
&& &(2)监视器端从命令队列中取出查询命令,创建查询管理器(Data Query Manager),并将该查询管理器与查询QID作为一个键值对放入进程全局的哈希表(Concurrent Hash Map)中,然后通过该查询管理器中的excuteQurey()方法启动查询线程,该查询线程将获得的记录组织成数据块(Data Object Block),放入固定大小的数据块缓冲队列中,并在该队列满时,查询线程暂停,不满时继续查询,直到最后一块为止。同时启动发送固定大小的数据块的线程,该发送线程从缓冲队列中取出数据块,发送给客户端,直到发送的最后一块,该发送线程终止;
&& &(3)当有数据块到达客户端的数据块接收队列时,判断该块是否为最后一块,如果是,则设置所有块是否到达的标志&flag=true&,并通知客户端进行处理,客户端处理线程从队列中取出一个数据块进行处理(对实化视图初始化,处理的方式就是将该数据块插入到数据仓库的实化视图中),并将数据块计数n减1,再判断该数据块计数是否小于客户端要缓冲的个数N,并同时判断flag的值,如果sum&N,且flag= =false,则发送从服务器端调取固定数目K数据块的命令(该命令带QID,以便到服务器端时找到之前的查询管理器),同时设置sum=sum+K;
&& &(4)服务器端接收到客户端的数据块调取命令,分离出里面的QID,从进程全局的哈希表中找到与该QID对应的查询管理器,并调用里面的发送固定数据块的方法以启动发送固定数目数据块的线程,该线程与步骤(2)中发送线程相同;
&& &(5)重复步骤(3)、步骤(4),直到查询的最后一块到达客户端,与此同时,服务器端的查询管理器也从全局的哈希表中移除。
3 性能测试与分析
&& &与流水线处理方法相对应的一种方法为同步方法,即通过查询先将底层信息源的结果组装在一起,一次传给集成端处理。由于采用的都是对象数据块的形式,因此用于与流水线对比的同步方法的算法思想为:
&& &(1)客户端发送带全局查询QID(该查询QID为全局唯一的,通过客户端API自动生成)的SQL查询命令(结果查询重写),并通过通信平台将该查询命令放入服务器端执行队列中;
&& &(2)服务器端接收到查询命令,执行查询,将所得的结果存放于文件中,然后一次发送给客户端;
&& &(3)客户端接收到关于本次查询结果集的文件,然后处理该结果集文件。
&& &将基于内存控制的流水线处理方法与同步方法在以下实验环境下进行测试对比,为减少误差,多次测试得出平均值,有如下数据:
&& &监视器端与集成端采用相同配置环境,相关配置为:
&& &CPU:Intel(R) Core(TM)2 Duo CPU E4500 @ 2.2 GHz;操作系统:Windows XP;内存:2.0 GB;数据库:Oracle 9i;JDK版本:1.6.0_07;开发工具:Myeclipse6.5。
&& &本实验性能测试如图3所示,可以看出,与传统的同步方法相比,采用本文算法具有较好的性能特性,主要在于基于内存控制的流水线处理过程是一个监视器端与集成器端并行流水线运行的过程,并充分应用了现在多处理器多线程处理的技术,减少了集成端空闲等待的时间。
&&& 设查询信息源并包装所有数据成公共类型数据块的时间代价为Cost(Q),传输放入文件中的所有数据块到集成端的时间为Cost(T),集成端将传输过来的数据解析并初始化到数据仓库的时间为Cost(P),则基于同步方法的时间代价为:Cost(Q)+Cost(T)+Cost(P)。
&& &设查询信息源并包装查询的数据成公共类型数据块为一块的时间代价为:Cost(Q1),传输其中一块数据块到集成端的时间为Cost(T1),集成端将传输过来的一块数据块解析并初始化到数据仓库的时间为Cost(P1),因为这里数据块是个固定的常数,则基于本文的算法的时间代价为:Cost(Q1)+Cost(T1)+Cost(P1)+max(Cost(Q)-Cost(Q1),Cost(T)-Cost(T1),Cost(P)-Cost(P1)),其中max为各处理逻辑减去初始处理的最大时间。
&& &从上面理论上可以分析得出,基于内存控制的流水线处理技术较同步技术可以更好地提高效率。同时还存在几个问题:
&& &(1)当集成端需要OLAP查询或实化视图初始化比较多时,仍然会出现内存溢出的问题,这时可以应用线程池技术[4],有效控制这类线程运行的数量,同样,监视器端也使用这种方案。
&& &(2)当集成端与监视器端进行流水线处理时,如果监视器端与集成端出现网络中断,或者其中一个出现突发事件(如断电)时,之前的一些过程就需要重做,并回滚。特别是针对网络中断的情况,容易造成监视器端查询线程的线程泄漏,即集成端认为之前的操作没成功,然后重新进行操作,然而监视器端的处理线程却还没完。避免这些情况出现的解决方案为:设置一个超时,当达到设定时间而这一流水处理过程未进行时,自动中断这些处理流程,或者可以在监视器端对查询组装后数据块分块存储在硬盘上,然后进行文件数据块的发送,这样减少了块之间的命令的交互逻辑,而且有效地控制了线程泄漏,但是也增加了文件的读写与控制,增加了I/O开销。
&& &数据集成仍然是一个比较热门的研究点,在基于数据仓库方法的数据集成中,分析了实化视图初始化以及OLAP查询中面对大数据量处理的问题,应用了基于内存控制的流水线处理方法,充分利用了Java的多线程处理技术,并从实验和理论上分析了该方法较同步方法的优点。
[1] LABIO W J,GARCIA-MOLINA.Efficient snapshot differential algorithms for data warehousing[C].In Proceedings of& VLDB Conference,Bombay,India,September .
[2] 陈跃国,王京春.数据集成综述[J].计算机科学,):48-51.
[3] 何震瀛,李建中,高宏.Web数据仓库异步迭代查询处理方法[J].软件学报,):214-218.
[4] GOETZ B.JAVA并发编程实践[M].方妙,韩锴,译.北京:电子工业出版社,2007.
[5] MOSTAFA E,MUSTAPHA B,LOUBNA C.An advanced XML mediator for heterogeneous information systems based on application domain specification.International Journal of& Computer Science & Applications[J].).
型号/产品名
深圳创恩电子有限公司
深圳创恩电子有限公司
深圳市宝龙福实业有限公司
深圳市硅虎电子有限公司

我要回帖

更多关于 庄闲对打同时买刷流水 的文章

 

随机推荐