`
xyzroundo
  • 浏览: 497673 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

开源ETL软件在智能化集成系统中的应用

 
阅读更多
<p>来源:<a href="http://www.qianjia.com/html/2009-03/57084.html">http://www.qianjia.com/html/2009-03/57084.html</a></p>
<p>
</p>
<div id="content" class="content">
<p class="MsoNormal" align="left"><strong><span>摘要:</span></strong><span>提出了在智能化集成系统中通过开源<span lang="EN-US">ETL</span>软件<span lang="EN-US">Kettle</span>对数据库类型的子系统进行信息采集的方案,并通过实际的实施案例验证了所提出的整合方案的可行性及其优势。</span><strong><span lang="EN-US"></span></strong></p>
<p class="MsoNormal" align="left"><strong><span>关键词:</span></strong><span>开源软件、<span lang="EN-US">ETL</span>、<span lang="EN-US">Kettle</span>、<span lang="EN-US">ezIBS</span></span><strong><span lang="EN-US"></span></strong></p>
<p class="MsoNormal" align="left"><span lang="EN-US"> </span></p>
<p class="MsoNormal" align="left"><span>智能化集成系统将不同功能的建筑智能化系统,通过统一的信息平台实现集成,从而形成了具有信息汇集、资源共享及优化管理等综合功能的系统。经过十余年的发展,智能化集成系统已经具有了丰富的功能,并在各种类型的智能建筑中都得到了广泛应用。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>智能化集成系统实现的基础及其最基本的功能是对各智能化子系统进行数据通信、信息采集和综合处理。智能化集成系统在对门禁系统、消费系统、考勤系统、停车场管理系统等常见子系统进行集成时,子系统的人员进出记录、刷卡记录、收费记录等都是必须进行采集的信息。这些信息一般都按照子系统自定义的数据格式、保存在子系统的数据库中,而集成系统对这些信息的采集方式也正是从子系统数据库中读取关心的数据、进行格式转换、然后存入集成系统的数据库中。因此,数据库读取、转换和保存技术已经成为智能化集成系统中必不可少的一项关键技术。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">1. </span></strong><strong><span>智能化集成系统中常见的数据转换技术的比较分析<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><span>智能化集成系统对子系统数据库进行数据读取和转换时,主要有<span lang="EN-US">3</span>种实现方案,分别是:<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>(1)<span>   </span></span></span><span>自行开发数据库读取和转换软件,数据读取和转换规则写死在程序代码里;<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>(2)<span>   </span></span></span><span>使用第三方开发包或自行开发可配置的数据转换软件,数据读取和转换规则写在配置文件当中;<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>(3)<span>   </span></span></span><span>自行开发或使用第三方的可视化数据转换软件,数据读取和转换规则通过图形界面来配置。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>显而易见,第三种是最优的方案,也是集成系统工程实施效率最高、对调试人员技术水平要求最低的方案。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>实际上,第三种方案中提到的可视化数据转换软件就是我们常说的<span lang="EN-US">ETL</span>(<span lang="EN-US">Extract-Transform-Load</span>,即数据抽取、转换、装载)工具软件。<span lang="EN-US">ETL</span>工具软件是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。</span></p>
<p class="MsoNormal" align="left"><span><img src="http://www.qianjia.com/upload/2009_03/090327120098072.jpg" border="0" alt="开源ETL软件在智能化集成系统中的应用"><br></span></p>
<p class="MsoNormal" align="center"><span>图<span lang="EN-US">1 ETL</span>体系架构<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>除了自行开发<span lang="EN-US">ETL</span>软件之外,市面上还有很多现成的<span lang="EN-US">ETL</span>工具软件可供选择,既有商业软件,也有开源软件,我们经过多方对比分析后,最终选择了使用开源软件<span lang="EN-US">Kettle</span>作为同方<span lang="EN-US">ezIBS</span>智能化集成系统的<span lang="EN-US">ETL</span>工具。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"> </span></p>
<p class="MsoNormal"><strong><span lang="EN-US">2. ezIBS</span></strong><strong><span>智能化集成系统选择<span lang="EN-US">Kettle</span>作为<span lang="EN-US">ETL</span>工具的理由<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><span>(<span lang="EN-US">1</span>) <span lang="EN-US">Kettle</span>是一款由<span lang="EN-US">Pentaho</span>公司开发的功能强大的开源<span lang="EN-US"> ETL</span>工具软件。<span lang="EN-US">Kettle</span>具有可视化的流程设计工具,良好的插件扩展功能,支持集群操作。可以说,<span lang="EN-US">Kettle</span>是目前开源世界里功能最全的一款<span lang="EN-US">ETL</span>工具。<span lang="EN-US">Kettle</span>软件的名称很有意思,直译是水壶。按项目负责人<span lang="EN-US">Matt</span>的说法:把各种数据放</span><span>到一个壶里,然后呢,以一种你希望的格式流出。</span></p>
<p class="MsoNormal" align="left"><span>(<span lang="EN-US">2</span>) <span lang="EN-US">Kettle</span>是一款开源产品,本身是免费的,成本主要是培训和咨询,所以成本会一直维持在一个较低水平;且由于价格上的优势,开源产品可以在很大程度上降低项目的风险。<span lang="EN-US">2008</span>年是开源软件界风起云涌的一年,开源软件进入了越来越多软件开发厂商的视野。对于具有一定软件开发实力的厂商来说,选择开源软件作为自己产品的补充这种方式也越来越流行,因为他们不仅仅是软件的简单使用者,更重要的是有信心能够解决使用开源软件中遇到的各种问题、并对开源软件进行优化和扩展。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>(<span lang="EN-US">3</span>) <span lang="EN-US">Kettle</span>与<span lang="EN-US">ezIBS</span>智能化集成系统一样,都是使用<span lang="EN-US">JAVA</span>平台开发,所以在平台移植性方面支持的非常好,无论是<span lang="EN-US">Windows</span>还是<span lang="EN-US">LINUX/UNIX</span>都可以方便的使用。<span lang="EN-US"></span></span></p>
<p class="MsoNormal"><strong><span lang="EN-US"> </span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US">3. </span></strong><strong><span>在<span lang="EN-US">ezIBS</span>智能化集成系统中整合<span lang="EN-US">Kettle</span>软件<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><span lang="EN-US">Kettle</span><span>实际上是一个<span lang="EN-US">ETL</span>软件包,它含有以下几个主要模块:<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>l<span>  </span></span></span><span lang="EN-US">Spoon</span><span>(铲子):用来设计数据转换(<span lang="EN-US">transformation</span>)和工作(<span lang="EN-US">job</span>)的图形化设计工具;<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>l<span>  </span></span></span><span lang="EN-US">Pan</span><span>(平底锅):用来执行<span lang="EN-US">Spoon</span>设计的数据转换任务的命令行工具;<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>l<span>  </span></span></span><span lang="EN-US">Chef</span><span>(厨师):旧版本的数据转换设计工具,已被<span lang="EN-US">Spoon</span>取代,新版的<span lang="EN-US">Kettle</span>发行包已经不含有此模块;<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>l<span>  </span></span></span><span lang="EN-US">Kitchen</span><span>(厨房):用来执行<span lang="EN-US">Chef</span>设计的数据转换任务的命令行工具,出于兼容性的考虑仍被保留;<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"><span>l<span>  </span></span></span><span lang="EN-US">Carte</span><span>(菜单):可以远程执行数据转换任务的<span lang="EN-US">Web</span>服务器。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>从上面的模块列表可以看到,<span lang="EN-US">Kettle</span>缺少一项非常重要的功能-时间调度,也就是可以用来定时执行<span lang="EN-US">Kettle</span>的数据转换任务的软件模块。使用<span lang="EN-US">Pan</span>工具只能在其命令行程序被执行的时候运行一次数据转换任务,而无法周期性的运行。这对于生产环境下的软件系统来说是无法满足要求的,因为我们必须定期的去检查子系统数据库是否产生了变化。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>将<span lang="EN-US">Kettle</span>软件集成到<span lang="EN-US">ezIBS</span>智能化集成系统中、将它们作为一个整体来使用,对于<span lang="EN-US">ezIBS</span>集成系统来说轻而易举。因为<span lang="EN-US">ezIBS</span>集成系统本身就含有一个完善的任务时间排程功能引擎(见图<span lang="EN-US">2</span>),可以用来定时执行由<span lang="EN-US">Spoon</span>设计的数据转换任务,并能监控任务的执行状态和结果。</span></p>
<p class="MsoNormal" align="left"><span><span lang="EN-US"><img src="http://www.qianjia.com/upload/2009_03/090327120098071.jpg" border="0" alt="开源ETL软件在智能化集成系统中的应用"><br></span></span></p>
<p class="MsoNormal" align="center"><span lang="EN-US"></span></p>
<p class="MsoNormal" align="center"><span>图<span lang="EN-US">2 ezIBS</span>集成系统的任务时间排程功能引擎<span lang="EN-US"></span></span></p>
<p class="MsoNormal"><strong><span lang="EN-US"> </span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US">4. </span></strong><strong><span>使用<span lang="EN-US">ezIBS</span>及<span lang="EN-US">Kettle</span>软件进行数据库子系统集成的实际案例<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><strong><span lang="EN-US">4.1 </span></strong><strong><span>任务目标<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><span>将某门禁系统数据库中的持卡人信息抽取到<span lang="EN-US">ezIBS</span>集成系统数据库中,并对两个数据库中的数据进行定时同步。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><strong><span lang="EN-US">4.2 </span></strong><strong><span>使用<span lang="EN-US">Spoon</span>工具设计数据转换任务<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><span>(<span lang="EN-US">1</span>)</span><span>设计数据转换流程</span><span lang="EN-US"></span></p>
<p class="MsoNormal" align="left"><span>使用<span lang="EN-US">Spoon</span>软件中的表输入、字段选择、数据过滤、更新、表输出等控件设计将门禁数据库中的数据抽取到<span lang="EN-US">ezIBS</span>数据库的任务执行流程。<span lang="EN-US">Spoon</span>软件的设计界面示意图见图<span lang="EN-US">3</span>。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>(<span lang="EN-US">2</span>)</span><span>数据抽取(<span lang="EN-US">Extract</span>)</span><span lang="EN-US"></span></p>
<p class="MsoNormal" align="left"><span>在任务流程上的“表输入”控件中填写从门禁系统数据库查询数据的<span lang="EN-US">SQL</span>语句。数据抽取主要是针对各个子系统及不同节点的分散数据,充分理解数据定义后,规划需要的数据源及数据定义,制定可操作的数据源,制定增量抽取的定义。<span lang="EN-US"></span></span></p>
<p class="MsoListParagraph"><span>(<span lang="EN-US">3</span>)数据传输</span><span lang="EN-US"></span></p>
<p class="MsoNormal" align="left"><span>此步骤在流程图中表现为箭头,用来连接各步骤的控件,起到承上起下的作用。<span lang="EN-US"></span></span></p>
<p class="MsoListParagraph"><span>(<span lang="EN-US">4</span>)数据转换(<span lang="EN-US">Transform</span>)</span><span lang="EN-US"></span></p>
<p class="MsoNormal" align="left"><span>在“字段选择”控件中修改门禁数据库和<span lang="EN-US">ezIBS</span>数据库中的字段对应关系,例如图<span lang="EN-US">3</span>中的下面一行代表的意思是:持卡人的卡号在门禁数据库中的字段名称为<span lang="EN-US">KEY_NUMBER</span>,而在<span lang="EN-US">ezIBS</span>数据库中的字段名称为<span lang="EN-US">card_id</span>,在数据转换时要将门禁系统的<span lang="EN-US">KEY_NUMBER</span>数据转换为<span lang="EN-US">ezIBS</span>系统的<span lang="EN-US">card_id</span>数据。</span></p>
<p class="MsoNormal" align="left"><span><span lang="EN-US"><img src="http://www.qianjia.com/upload/2009_03/090327120098073.jpg" border="0" alt="开源ETL软件在智能化集成系统中的应用"><br></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"></span></p>
<p class="MsoListParagraph"><span>(<span lang="EN-US">5</span>)数据加载入库</span><span>(<span lang="EN-US">Load</span>)<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>使用“表输出”或“更新”控件将转换好的数据存入<span lang="EN-US">ezIBS</span>数据库。数据加载主要是将经过转换和清洗的数据加载到数据仓库里面,即入库,操作者可以通过数据文件直接装载或直连数据库的方式来进行数据装载,充分地体现其高效性。</span></p>
<p class="MsoNormal" align="left"><span><span lang="EN-US"><img src="http://www.qianjia.com/upload/2009_03/090327120098074.jpg" border="0" alt="开源ETL软件在智能化集成系统中的应用"><br></span></span></p>
<p class="MsoListParagraph"><span lang="EN-US"></span></p>
<p class="MsoListParagraph" align="center"><span>图<span lang="EN-US">3 </span>使用<span lang="EN-US">Spoon</span>设计数据转换任务的界面示意图<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><strong><span lang="EN-US">4.3 </span></strong><strong><span>在<span lang="EN-US">ezIBS</span>系统中设置数据转换任务的时间排程<span lang="EN-US"></span></span></strong></p>
<p class="MsoListParagraph"><span>(<span lang="EN-US">1</span>)新建数据库任务策略</span><span lang="EN-US"></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US">Kettle</span><span>不支持调度,一般只能使用操作系统自带的调度功能。<span lang="EN-US">ezIBS</span>提供了功能强大的日程管理调度,比起<span lang="EN-US">Windows</span>自带的任务计划更多了优先级、星期等的选择,实现了与<span lang="EN-US">Kettle</span>的无缝衔接。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US">ezIBS</span><span>的时间排程功能十分简单易用,首先在任务管理界面上将<span lang="EN-US">Spoon</span>输出的<span lang="EN-US">ktr</span>和<span lang="EN-US">ktj</span>文件上传(见图<span lang="EN-US">4</span>),然后在日程管理界面上设置数据转换任务的执行时间、循环次数(例如:每隔一分钟执行一次数据转换任务进行数据同步)等参数即可(见图<span lang="EN-US">2</span>)。</span></p>
<p class="MsoNormal" align="center"><span><span lang="EN-US"><img src="http://www.qianjia.com/upload/2009_03/090327120098075.jpg" border="0" alt="开源ETL软件在智能化集成系统中的应用"><br></span></span></p>
<p class="MsoListParagraph"><span lang="EN-US"></span></p>
<p class="MsoListParagraph" align="center"><span>图<span lang="EN-US">4 </span>在<span lang="EN-US">ezIBS</span>系统中新建<span lang="EN-US">Kettle</span>任务策略<span lang="EN-US"></span></span></p>
<p class="MsoListParagraph"><span>(<span lang="EN-US">2</span>)监控数据库任务的执行状态和结果</span><span lang="EN-US"></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US">ezIBS</span><span>系统对所有任务策略的执行情况进行监控,以保证任务策略能够正确、稳定运行,并在发现错误或出现问题时通过电子邮件等方式通知管理员。</span></p>
<p class="MsoNormal" align="left"><span><span lang="EN-US"><img src="http://www.qianjia.com/upload/2009_03/090327120098076.jpg" border="0" alt="开源ETL软件在智能化集成系统中的应用"><br></span></span></p>
<p class="MsoListParagraph"><span lang="EN-US"></span></p>
<p class="MsoListParagraph" align="center"><span>图<span lang="EN-US">5 </span>在<span lang="EN-US">ezIBS</span>系统中监控数据转换任务的运行状态<span lang="EN-US"></span></span></p>
<p class="MsoNormal"><strong><span lang="EN-US">5. </span></strong><strong><span>结语<span lang="EN-US"></span></span></strong></p>
<p class="MsoNormal" align="left"><span lang="EN-US">Kettle</span><span>软件在智能化集成系统中的应用,使得各个集成模块可以实时、准确、高效的从子系统的数据库中取得需要的数据,并避免了自己开发数据转换接口的效率低下和开发周期长等缺点。由于<span lang="EN-US">Kettle</span>是一个开源工具,其免费、广泛的技术支持也使开发成本降到最低。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span>通过将开源软件在<span lang="EN-US">ezIBS</span>智能化集成系统中进行更广泛的应用,同时结合其本身开放性、安全性、易用性等特点,在品牌和规模优势的情况下,随着时间的推移和技术的持续发展,开源软件对<span lang="EN-US">ezIBS</span>智能化集成系统的影响将继续扩展,并帮助其实现更多的功能。<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US"> </span></p>
<p class="MsoNormal" align="left"><span>【参考文献】<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US">[1] </span><span>邹超群、徐珍喜,智能建筑软件接口技术综述,智能建筑,<span lang="EN-US">2007</span>(<span lang="EN-US">1</span>)(<span lang="EN-US">2</span>)<span lang="EN-US"></span></span></p>
<p class="MsoNormal" align="left"><span lang="EN-US">[2] </span><span>开源技术选型手册,电子工业出版社,<span lang="EN-US">2008.5</span></span></p>
</div>
<br><br><div class="news_content">
<table style="width: 97%;" border="0" cellspacing="0" cellpadding="0"><tbody><tr>
<td align="right">
<table border="0"><tbody><tr>
<td align="left">来源:<a href="http://www.1000ibms.com/html/2009-03/2606.html" target="_blank">千家网 </a> <br>作者: 同方股份有限公司 闫小爽 李忠华 李璐 [字体:大 中 小] <br>录入: <a href="http://www.qianjia.com/memberProfile.aspx?id=27" target="_blank">yummy</a><br>
</td>
</tr></tbody></table>
</td>
</tr></tbody></table>
</div>
分享到:
评论

相关推荐

    大、小断层矿井小波SVM融合智能故障预测matlab代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    垂直SeekBar(拖动条).zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    libADLMIDI1-1.5.0-bp153.1.1.x86-64.rpm

    libADLMIDI1-1.5.0-bp153.1.1.x86_64.rpm 是用于在 x86_64 架构的设备上安装的 RPM 包,具体功能如下: 名称:libADLMIDI1 版本:1.5.0 摘要:带有 OPL3 (YMF262) 模拟器的软件 MIDI 合成器库 许可证:GPL-3.0-only 和 LGPL-3.0-only 该库提供了一个基于 ADLMIDI 的软件 MIDI 合成器,它模拟了 OPL3 音源芯片(FM 合成)。它可以通过使用 ADLMIDI 库来实现多平台的 MIDI 播放和 OPL3 模拟。 该 RPM 包适用于 x86_64 架构,用于在相关设备上安装 libADLMIDI1 库文件。库文件包括: /usr/lib64/libADLMIDI.so.1 和 /usr/lib64/libADLMIDI.so.1.5.0:库文件 /usr/share/doc/packages/libADLMIDI1/AUTHORS、/usr/share/doc/packages/libADLMIDI1/README.md 等文档文件:文档文件

    基于qt+C++实现u盘插拔检测.+源码(毕业设计&课程设计&项目开发)

    基于qt+C++实现u盘插拔检测.+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于qt+C++实现u盘插拔检测.+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于qt+C++实现u盘插拔检测.+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于qt+C++实现u盘插拔检测.+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~

    Quectel_Product_Brochure_CN_V7.9.pdf

    Quectel_Product_Brochure_CN_V7.9.pdf

    更换软件主题(apk方式).zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    chepai-reg-main (2).zip

    phpstudy

    Python 入门详细教程-1天学会 Python.docx

    python入门

    二维码扫描的实现.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    移动机器人机械臂的设计开题报告.doc

    移动机器人机械臂的设计开题报告.doc

    基于QT+C++开发的智能平台访客系统+源码

    用法链接:https://menghui666.blog.csdn.net/article/details/137977678?spm=1001.2014.3001.5502 基于QT+C++开发的智能平台访客系统+源码,包含主界面、系统设置、警情查询、调试帮助、用户退出功能。 基于QT+C++开发的智能平台访客系统+源码,包含主界面、系统设置、警情查询、调试帮助、用户退出功能。 基于QT+C++开发的智能平台访客系统+源码,包含主界面、系统设置、警情查询、调试帮助、用户退出功能。

    三菱机械臂校点说明.pptx

    三菱机械臂校点说明.pptx

    按字母索引滑动.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    激光推送客户端demo.zip

    android 源码学习. 资料部分来源于合法的互联网渠道收集和整理,供大家学习参考与交流。本人不对所涉及的版权问题或内容负法律责任。如有侵权,请通知本人删除。感谢CSDN官方提供大家交流的平台

    c语言入门,小白进军C语言.zip

    C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。 [5] C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。 1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。

    Python入门到精通.zip

    python入门 单元测试和测试用例 Python标准库中的模块unittest提供了代码测试工具。 单元测试用于核实函数的某个防霾呢没有问题; 测试用例是一组单元测试,这些单元测试仪器一起核实函数在各种情形下的行为都符合要求。良好的测试用例考虑到了函数可能收到的各种收入,包含所有针对这些情形的测试。 全覆盖式测试用例包含一整套单元测试,涵盖了各种可能的函数使用方式。 对于大型项目,要实现全覆盖可能很难。通常,最初只要对针对代码的重要行为编写测试即可,等项目给广泛使用时再考虑全覆盖。 可通过的测试 创建测试用例的语法需要一段时间才能习惯,但测试用例创建后,再添加针对函数的单元测试就很简单了。要为函数编写测试用例,可先导入模块unittest以及要测试的函数,在创建一个继承unittest.TestCase的类,并编写一系列方法对函数行为的不同方面进行测试。 下面test_name_function.py一个只包含一个方法的测试用例,它检查函数get_formatted_name()在给定名和姓时能否正确的工作。

    基于matlabbenders分解算法.zip

    基于matlabbenders分解算法.zip

    dsp工程设计讲座.ppt

    dsp工程设计讲座.ppt

    Adams空间复杂机械臂动力学仿真研究.doc

    Adams空间复杂机械臂动力学仿真研究.doc

    基于Android+OpenCV的车牌识别系统源码+使用文档+全部资料(优秀项目).zip

    【资源说明】 基于Android+OpenCV的车牌识别系统源码+使用文档+全部资料(优秀项目).zip基于Android+OpenCV的车牌识别系统源码+使用文档+全部资料(优秀项目).zip基于Android+OpenCV的车牌识别系统源码+使用文档+全部资料(优秀项目).zip 【备注】 1、该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

Global site tag (gtag.js) - Google Analytics