什么是异构系统概念

异构管理软件系统集成浅谈
异构管理软件系统集成浅谈
管理信息系统进入中国已经有20多年时间,由于企业不同部门对管理工具的需求存在层次性,信息化在中国企业的推广应用很多是从一些局部、简单应用做起来的,譬如财务系统在众多中国企业的率先应用推广就是一个很好的佐证。但是随着企业管理水平的提高,企业内部各个部门都逐渐产生了信息化的需求,由于企业管理的复杂性,很多企业需要用到多种不同性质的软件进行管理控制;同时由于各家软件公司在企业管理的不同领域各有擅长,企业在选型、应用时往往难以割舍,因此,在企业中就逐渐形成了多种管理软件在不同部门并存应用的局面。为了管理的需要,企业迫切需要对整个企业的数据和流程进行整合和处理。
因为信息集成无疑可以提高企业管理效率、降低企业运营成本以及加强企业竞争能力。因此,在这种情况下,企业往往只能有三种选择:一是放弃原有局部应用,导入整体解决方案(但这会导致重复投资,同时由于操作习惯的改变和数据准备的工作量,会使原有系统的使用者在实施过程中产生抵触心理);二是保留原有局部应用的同时,再引入新的应用,不做集成,集成部分的数据和流程在系统外流转(但这会导致信息孤岛的出现,增加人为错误和加大录入工作量);三是在保留原有局部应用的同时,引入新的系统,然后由其中一家或两家软件公司合作做集成实现。
无疑,前两种方法在技术层面都不会有太多问题,但是第三种方法在技术实现上会有一定难度和风险。尽管很多软件公司在售前阶段都会承诺可以做接口实现,但是究竟能够做到什么程度,是否能够做到真正、完整意义上的无缝联接却是一个很大的问题。在这里,本文对前两种选择不做具体的分析和阐述,只是就第三种选择,即异构管理软件系统的集成实现做一些简单的分析和论述,希望对企业的信息化选型以及软件公司进行异构管理软件系统集成的技术实现工作能够有所助益和启示。
2、异构系统集成分析
2.1异构系统集成原理
异构系统集成是指通过编写高级语言程序来实现不同软件系统之间数据传递、调用的重要方式。在管理软件异构系统集成开发过程中有以下两个方面的问题需要着重解决,一是异构软件系统间的数据传输问题;二是异构软件系统间管理流程和工作过程的重构和衔接。
异构软件集成方式如图1所示。由图可知,当采用数据接口来进行软件集成时,各系统间是通过前、后置处理器和具有标准交换格式的文件来联系的。
2.2 异构系统间数据传输
2.2.1异构管理软件系统数据查询
在异构系统间传输量最大的是数据。应该说,如果知道原有系统的库表结构和数据字典(即使原系统软件商不提供对应库表结构和数据字典,也可以通过对原有系统的数据库进行分析来得到相应信息),然后编制前置处理器去查询相应的数据供新系统使用是一个相对比较简单的问题,但即使是这样,也必须注意以下五个方面的问题:
(1)在数据字典中数据项的定义需要统一,不能统一的要有相应的对照表和处理方法。这是由于不同软件公司开发的产品,可能出于不同的工作习惯和对业务的不同理解,一些数据项的定义(包括数据项名,数据含义说明,别名,数据类型,长度,取值范围,数据含义,与其他数据项的逻辑关系,数据项之间的联系等)可能有一些差别,因此要进行统一和修正,以避免产生歧义,造成业务过程中不必要的混乱;
(2)在数据查询过程中,要了解不同数据的来源与状态,保证数据的独立性。譬如在原有系统中,某些数据项在不同状态时可能有不同的值,如果不加以分辨的查询引用很可能会造成数据错误;
(3)在数据查询过程中,要注意原有系统和新系统是否使用相同的数据库,如果使用的是不同的数据库,一定要注意SQL语句的写法,因为不同数据库对应的SQL语句有不同的标准。
(4)从原有系统中查询到的数据需要定期查询读入到新系统中,很难做到时时,这是因为一般新系统不对原有系统的库直接操作,以避免纠纷和增加不安全因素;
(5)新系统可能会读取到"脏数据"。譬如原有系统中某一事务T1修改了某一数据,这时新系统读取该数据,当新系统读取该数据并使用后,原系统事务T1由于某种原因被取消,这时T1已修改过的数据恢复原值,这时新系统读到的数据可能至少在某个时段内出现原系统数据库中数据不一致的情况。
2.2.2异构系统数据写入
从新系统写入数据到原有系统无疑是一件令人非常头疼的事情。因为在写入时如果不是非常了解原有系统的库表结构和处理过程,则可能会有以下意外情况出现:
(1)没有充分了解原有系统中数据项的定义,写入错误的数据(数据类型、数据长度和取值范围错误)造成数据紊乱;
(2)原有系统中可能使用了触发器和存储过程,当没有充分了解原系统中触发器的触发条件和存储过程的处理过程时,盲目写入数据,可能会造成一些事务不能进行或遗漏某些处理,以至于原有系统正常的业务逻辑过程被打乱,导致系统紊乱;
(3)当新系统可以向原有系统中写入数据时,很有可能造成多个事务同时存取同一数据的情况,因为是两个系统,很难对并发操作进行控制,这样就可能存储不正确的数据,破坏数据库中数据的一致性;
(4)假如原有系统中对于某些数据的处理是通过代码实现的,并在代码中还改写了其它的数据或事务,而该数据恰恰是新系统可以写入的,这样直接写入数据库中的数据会导致系统出现异常;
(5)在数据写入过程中,也要注意原有系统和新系统是否使用相同的数据库,如果使用的是异构数据库,那么一定要注意SQL语句的写法,因为不同数据库对应的SQL语句有不同的标准。
2.3 异构管理软件系统管理流程、工作过程的重构和衔接
对于管理软件来说,仅仅解决数据共享是不够的,还需要对接口部分的业务流程进行重组,以保证业务流程的顺畅、高效、严密。同时,在业务流程中还会产生并传递一些相关的指令信息,而流程的顺畅进行和相关指令的传递都必须在异构管理软件系统进行集成时加以考虑。
在这里,我们首先定义某一业务流程或某一指令由新系统流向原有系统为顺向传输;反之则为逆向传输。
当原有系统软件商不提供源代码和所有设计文档,而只提供相应库表结构的前提下,顺向业务流程的简单传递是可以实现的,其实质是单据的单向传递,但即使在这种情况下也很难保证原有单据上的所有数据项信息能被顺利、完整地传递过去,譬如新系统中某个数据项可能在原有系统中并不存在;而复杂的业务流程和带有逆向反馈指令的业务流程则根本无法实现。
当原有系统软件商不提供源代码和所有设计文档,而只提供相应库表结构的前提下,通过在原系统数据库上创建存储过程和插入触发器来传递顺向指令可以实现,但由于不清楚原系统的逻辑控制,很难保证不出现系统紊乱。但逆向传递指令则比较容易实现,只要取得的用于触发指令的数据项就可以实现,基本可以保证逆向指令传输的顺利完成。
当原系统软件商可以提供源代码和所有设计文档时,从理论上讲,是可以实现业务流程或指令的顺向传输和逆向传输的,甚至一些更为复杂业务流程也可以实现。但是是否能够实现,跟原系统的开发过程是否规范、开发文档是否完备以及新系统的系统分析员的业务能力都有很大的关系。
在拥有原系统源代码和开发文档的前提下,实现异构管理软件系统业务流程或指令集成需要注意以下问题:
(1)需要对原系统的业务流程充分熟悉,要找出原系统中所有跟接口流程控制相关的源代码、触发器以及存储过程等;
(2)需要对新系统的业务流程充分熟悉,要找出新系统中所有跟接口流程控制相关的源代码、触发器以及存储过程等;
对两个系统的业务流程进行整合,重新设计接口部分的业务流程,然后按照整合过的业务流程修改相应的表结构、代码、触发器以及存储过程。
3、异构管理软件系统集成建议
从以上分析可以看出,进行异构管理软件系统集成在技术实现上有一定难度和风险,但并不是不能实现,如果企业要实现异构管理软件系统集成应该具备以下条件:
(1)承担集成任务的软件公司应该熟悉原有系统和新系统的业务流程、库表结构以及逻辑控制等;
(2)为了减少集成的风险,则要求原有系统和新系统的软件开发过程比较规范,应用软件的程序开发模式要基本一致;
(3)要求负责集成设计的系统分析员具有较高的水平。
(4)重新修正企业编码规范,统一编码原则,统一管理共享的基础数据,对于多个系统都要用到的数据,要明确界定谁生产、谁使用、谁维护。
(5)系统之间的数据传输要采用数据库的同步机制来实现。
同时,企业在进行异构管理软件系统集成时,应根据企业实际管理情况,采用灵活的集成策略,而不是一味追求所谓"无缝"联接,部分流程可以根据实际情况在系统外进行,以降低异构软件集成的难度和复杂性。
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&【看来很多人对HSA都存在误解】HSA异构系统架构的一个实例_amd吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:169,024贴子:
【看来很多人对HSA都存在误解】HSA异构系统架构的一个实例收藏
HSA联盟镇楼,实例放二楼。
惠普暗影精灵II代游戏本---精灵绿版灵动来袭!
文章很长,我只转载大家最感兴趣的那部分,想全面了解的人请去以下网址观看。新闻来源网址:
AMD内部实测:HSA让性能提升2.5倍   由于目前还没有支持HSA的处理器产品问世,所以所有的技术介绍及数据都来自于AMD内部。AMD大中华区游戏,软件及异构计算合作与技术总监楚含进向大家分享了HSA架构的应用实例——人脸识别技术:   人脸识别技术看似简单,实则是通过暴力计算的方式来实现,处理器需要在一张图片中画出无数个搜索框,从中寻找人脸的关键特征,一张1080p像素的全高清图片需要分析200万次……   一张图片中可能会有无数个人脸,处理器一开始并不知道人脸有多大,所以需要不断地对图片进行缩放从而寻找合适大小的脸。   最终,人脸识别的过程被细分为22个阶段,每一个搜索框都需要重复这22个阶段,如果是静态图像还好,动态视频的话30FPS就需要每秒1.4万亿次的计算能力……而且这个速度仅能识别正面人脸。   经过测试,这22个阶段中,并不是所有阶段都是GPU处理速度更快,也有CPU占据明显优势的,也有性能速度差不多的,毕竟两者计算架构完全不同,适应不同的运算。   22个阶段CPU和GPU各有所长,最终根据效率高低,第0阶段让CPU独立计算,第9-22阶段让GPU独立计算,而1-8阶段让CPU和GPU协同计算会更快一些。   最终经过测试获得的数据显示,HSA为CPU和GPU智能分配任务后,人脸识别速度提高了2.5倍之多!   这个案例意味着什么呢?我们再来回顾一下本文第一页提到的内容:用户越来越希望能够借助手势、眼睛、身体,用自然表达的方式和机器交互——没错,体感!然后呢?游戏机——索尼PS4和微软Xbox One——它们都用的是AMD下一代的APU,都是基于HSA架构而设计的,而且是低功耗的CPU架构搭配为计算优化的GCN GPU架构!
期待中,真有这么强大的u花大价钱买一颗也是可以的
来源网址:  hUMA设计的主要特点有:1.双向一致性内存(Bi-Directional Coherent Memory),不论是GPU还是CPU在处理器过程中对内存中的数据做了什么改变,另外一方总是能立即看到更改后的数据。2.可调页内存(Pageable Memory),GPU可以处理(take)页面错误,不再受页面锁定内存的限制。3.完整内存空间(Entire Memory Spac),GPU和CPU可以动态分配整个内存空间。图例:目前的NUMA系统的内存操作,CPU和GPU各自独立图例:hUMA系统下CPU和GPU拥有统一的内存空间   有了hUMA这种异构统一寻址之后,AMD称其可以简化编程难度,降低编程开发的成本。该技术支持主流的编程语言——Python、C++及Java等,开发者无需专用API即可简化特殊架构的开发工作。AMD表示引入hUMA之后能效也变高了,因为现在为CPU开发的代码可以运行在GPU上了,反之亦然。   目前除了索尼的PS4主机之外还没有实际产品使用hUMA技术,Kaveri应该是第一个使用hUMA设计的APU产品,其CPU核心为Steamroller架构,性能会比目前的Piledriver核心有明显提升,而Kavri APU预计会在今年底发布。
好贴必须顶!不知道2代apu能不能支持
我一直以为hsa是以后就一个ram,内存显存合二为一……
懂了,涨姿势,挺一挺
居然没东芝?
买amd上京东,笔记本低至888元!一体机领券立减300元!抢笔记本4000元神券,潮品低至9.9元!
这个技术得关注
原来几百元的相机还有这技术
巨硬不支持还不是白搭
你确定这个不是对AMD PPT的简单解释?我在Micro Computer上倒是看见了比较复杂的讲解,可是我看不懂……
收藏,等上班看。。
等你们上评测以及软件支持度上去了再买。
我在那网站看到的,给我来一车
好帖,长姿势了
四代APU的设计路线:
lz继续,科普文支持
我显然是不知道该说你个些什么了。
那hUMA对cpu的性能提升有多大帮助呢?
结果买回来一面镜子。
统一寻址没了CPU/GPU之间地址传输需要的消耗,可以减少很多时间,支持异构
CPU会不会拖GPU后腿?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或异构计算与HSA
异构计算是指使用一种以上处理器的系统。这种多核心的系统不仅通过增加处理器内核提升性能,还纳入专门的处理能力来应对特定的任务。异构系统架构(HSA)系统即在同一个硅芯片上使用了多种处理器(典型的是CPU和GPU),以提供两全和均衡的方案:利用GPU处理能力:除了完成著名的3D图形渲染能力,也可以在非常巨大的数据集上执行数学密集型计算;而CPU继续运行操作系统和执行传统的串行任务。
异构系统架构
计算产业的发展陷入四处挚肘的窘境,推动计算技术发展不得不在多个互相牵制的因素上仔细权衡。首先,降低功耗对各种类型、各种规模的计算都变得日益关键。
在过去的50年里,我们已经看到计算机的发展取得了显著进步;它们变得更快、更小、更轻了。尽管取得了这些重要进步,但我们与计算机互动的方式依然不变。
异构编程模型
OpenCL(TM)(全称Open Computing Language,开放计算语言)是第一个面向异构系统通用计算目的并行编程的开放式、免费标准。OpenCL使得程序员能够充分复用其宝贵的源代码开发投资,轻松应用于多核心处理器(CPU),图形处理器(GPU)和新型加速处理器(APU)。什么是分布式的异构系统
企业的应用系统主要分为三层:
领域层(业务层)
Flex+Java企业应用中,“展线层”逻辑完全运行在客户端的Flash虚拟机中,而“领域层”和“数据访问层”逻辑则运行在服务器端的Java虚拟机中,客户端系统与服务端系统完全用不同的语言实现,因此系统是异构的。同时,客户端代码运行在客户端的ActionScript虚拟机中,而服务器的代码则运行在服务器上的Java虚拟集中,因此,系统又是分布式的。
这与传统Web应用完全不同,传统(JSP/Servlet)应用中所有代码,包括业务逻辑代码和生成人机界面的代码都是在服务器Java虚拟机中执行,如图:
服务器端Java虚拟机
传统JSP企业应用层
Flex+Java 企业应用层次逻辑分布图
Flex+Java与传统jsp/servlet/struts系统区别是:
使用Flex+java开发的B/S应用系统中,B系统(客户端系统)和S系统(服务器端系统)完全分离。B系统负责“展示层”逻辑,而 s
系统主要负责“领域层”和“数据源层”逻辑。因此,flex+java所开发的系统是异构的分布式系统。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
异构系统数据交换平台的研究与实现
下载积分:799
内容提示:异构系统数据交换平台的研究与实现
文档格式:PDF|
浏览次数:105|
上传日期: 09:56:56|
文档星级:
该用户还上传了这些文档
异构系统数据交换平台的研究与实现
官方公共微信}

我要回帖

更多关于 异构系统概念 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信