多平台RPC统一调用框架的设计与实现

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:luyang123456
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术和网络的飞速发展,嵌入式系统获得了大范围的应用。嵌入式系统的客户端程序可以运行在嵌入式系统中,也可以运行在嵌入式系统以外的其他系统中并通过API来调用嵌入式系统所提供的功能。在为嵌入式系统编写软件时,如何让处于不同地域,运行在不同系统上的客户端程序用统一的方式来调用嵌入式系统提供的功能成为一个重要的课题。简单来说,本文主要的研究目标是让嵌入式系统中的基于C语言的API函数可以在嵌入式系统外的任何其他异构系统中或者在嵌入式系统的任何进程中以和本地调用完全一样的函数调用方式被调用。这也即本文所要讨论的统一调用框架。远程过程调用(RPC)为这种客户端/服务器模式提供了便利。在保持调用语义和本地调用一致的情况下,客户端不必知道自己和服务的提供者(嵌入式系统提供的功能)是否处于同一进程或是同一系统。因此采用RPC作为嵌入式系统提供服务的接口是一个理想的选择。本文基于对RPC原理的研究和分析,提出了一种多平台RPC统一调用框架并加以实现。该统一调用框架基于以精简CORBA为基础实现的RPC调用,采用Flick开源IDL编译器生成客户端和服务端存根代码。在RPC的实现上基于Flick的运行时库,并在此基础上进行了扩展,使得对嵌入式系统软件API的RPC调用可发生在该嵌入式系统的不同进程中,也可发生在由网络连接的另一台主机的一个进程中。为了使RPC调用能在多平台上发起,在运行时库的实现上选择Socket作为数据传输的原语。为了使运行时库的实现和操作系统无关,引入了操作系统抽象层OSAL并将Socket相关的操作封装在这一抽象层中。操作系统抽象层可以对Linux和Windows分别有不同的实现使得RPC运行时库的实现本身无需知道其下所运行的具体操作系统,从而可进一步提高RPC统一调用框架的跨平台特性。最后针对一些具体应用场景进行了测试和分析,实验结果验证了所提出的统一调用框架的有效性和适用性。该统一调用框架的创新之处在于编写的客户端程序几乎可以不加修改地在各种异构硬件系统(硬件平台)和不同的操作系统(软件平台)之间移植。嵌入式系统软件开发者可以致力于将嵌入式系统的能力通过API形式向软件开发者提供。而嵌入式应用软件开发者则可以致力于在各种平台和环境下开发和嵌入式系统相关的应用。这样可以大大增加该嵌入式系统软件的应用领域,扩展可能的应用场景。该RPC统一调用框架在本人所在的公司中已经有Linux下的初步应用,硬件上包括ARM和Intel平台。未来还计划在Windows平台上增加相关应用。
其他文献
<正>动物防御素是一类内源性阳离子短肽,广泛分布于包括人类在内的各种哺乳动物体内,具有广谱抗菌活性,又被称为抗菌肽(AMPS)。早在1963年,美国科学家Zeya等人在研究豚鼠白细
词汇是认知主体通过对外界事物进行心智加工所产生的心理表征的外化和符号表征,是认知的媒介和手段。基于图式的内涵本质及其认知功能,文章从构建内容图式、增强图式体验及运用
[目的]探讨从脾阴虚论治胰腺癌相关性腹泻的治疗效果。[方法]运用滋补脾阴中药治疗胰腺癌相关性腹泻30例,随机分组为治疗组(滋补脾阴中药组),对照组(常规治疗)。检验两组患者
苏东坡很“红”:“苏东坡传说”被列为非物质文化遗产;很多人自称是他的粉丝;北京某小学学生还对苏东坡进行了“大数据研究”……然而,对于苏东坡的文化成就和人生境界,你到底有多
报纸
社会由个体组成,社会的发展趋势与人类心理变化趋势相互影响。社会学理论是社会心理学研究不容忽视的理论基础。本文在社会学理论基础上,探讨了人类社会发展与个体心理发展的趋
目的 观察喜炎平注射液静脉给药联合野菊花注射液雾化吸入治疗疱疹性咽峡炎的疗效。方法 172例疱疹性咽峡炎患儿为研究对象,随机分为对照组及实验组,各86例。对照组给予喜炎
【正】 云南产锡冠于全国,历史也最悠久。1975年底在楚雄万家坝发掘出土一批春秋晚期的纯锡器,是继河南安阳殷墟发现的锡块和六件锡戈之后,国内现存最早的一批古代锡器。本文
<正>迪士尼、亚马逊、苹果、三星、乐高等品牌跻身诚信品牌100强榜单前10位·全球消费者对品牌信任度普遍偏低,80%消费者认为品牌不够"公开和诚信"·消费者隐私保护已成为品
随着人们对矿产资源需求量的不断扩大,矿产资源的开采规模在不断扩大。但是在矿产资源开采的过程中,矿山的开采对于整个地区的地质环境的影响是非常大的,会对矿山地质环境产生严
嵇康为人就是一首诗,具有非凡的美学魅力。他的诗则长于用兴,歌咏生命的自由,是庄玄意境进入诗歌领域并获得成功的绝妙之作;其《忧愤诗》抒发忧愤与抗议,历来被看作悔疚自责实是误