本发明专利技术涉及一种适应于多种通讯链路的统一的数据通讯软件框架。包括传输层、网络层、链路层三层结构,每层结构均分为对外接口层、内部插件层、具体实现层三层,其中,内部插件层用于将所述具体实现层所提供的各种技术实现细节按不同的机制或方式来分类封装,对外接口层用于将所述内部插件层按不同的机制或方式所分类封装的功能进一步封装成统一形式。本发明专利技术软件框架通过层次划分、框架设计和软件抽象后,使得给使用者的使用接口简单统一,同时,层次也很清晰;让上层使用和开发者无需关心各通讯技术具体细节,仅通过对3个层次8个接口(甚至只需6个接口)的调用即可简单方便地完成各种通讯链路下的数据通讯。
【技术实现步骤摘要】
一种适应于多种通讯链路的统一的数据通讯软件框架
本专利技术涉及一种适应于多种通讯链路的统一的数据通讯软件框架。
技术介绍
随着通讯技术和嵌入式技术的发展,越来越多的通讯技术被应用到各类嵌入式设备(如,手机、各类POS终端等)上,以实现在各种环境条件下均能进行数据传输的目的。同时,在同一种设备终端上(如,金融行业POS),更是以可以同时支持多种通讯方式为常见,如,传统的802.3以太网方式、异步modem、各种广域通讯技术(如,2G的GPRS或CDMA、3G的TD或WCDMA、4G通讯技术等)、wifi(802.11b/g/n等)、BlueTooth等(注:简单的通讯方式,如,串口通讯,往往只涉及读写等简单的动作,它们不必使用本专利技术中所提出的方法,不在本方法的讨论范围内)。但在实际使用中,我们发现因为各种通讯技术所采用的物理硬件原理和机制不同(如,有的采用了光纤/线缆传输,有的则是采用了空中无线电电磁波的方式),各种通讯技术在链路层所采用的协议以及通讯前建立链路连接的方式和操作也各异,使得难以用统一的使用流程去使用这些相互间差别很大的通讯技术。虽然国际标准化组织(ISO)制定了OSI理论上的7层模型,引入了分层机制试图来简化基于不同底层通讯技术的差异点,以力图将它们都纳入统一的理论模型框架的不同层次中,但OSI模型只是给出了理论模型和指导思想,并没有在业界给出实际可用的软件框架或可复用的组件(或“轮子”)。所以,在实际中,我们看到很多企业和工程师很普遍的作法仍是:当每次需要使用不同的通讯方式来进行数据传输时,分别依不同通讯技术所要求的使用流程从头开始一步步地构建链路连接,主动设置或被动获得通讯的IP地址和端口信息等,再通过socket或SSL等机制与通讯对端进行传输层的连接,有些实现机制还需要些数据传输前的准备工作(如,本地通讯资源申请、套接字相关属性或选项的设置、相关通讯信息或参数的绑定、套接字转换成后续可读写的IO流等,这些动作依不同的系统实现还可能存在差异)。这种每次都从0开始的“重复”动作显然是很低效的、琐碎的,且它们对应用层来说,很不统一,使用者需要记住各种通讯技术在使用流程上的动作细节。虽然上述作法有这样那样的缺点,但在现实中却十分常见。同时,虽然OSI模型也力图在第4层(传输层)之后,以socket、SSL(SecureSocketsLayer安全套接层)等抽象机制来统一应用上的操作流程,隐藏或屏蔽了在第3层以下(特别是第1、2层)的差异,简化了各类应用在第4层以上进行数据通讯的使用方式,但我们也不难发现:以socket、SSL为代表的传输层统一机制在使用上也较为烦琐。先以linux/UNIX下的标准socket交互流程中的客户端软件为例来说明,一般地,都是按如下流程去写的(这里略去各步操作失败时的处理流程,所以,在实际中,若加上相应失败处理动作,将更加复杂和烦琐):申请本地套接字资源→对本地套接字选项或属性或模式等进行必要的设置→将本地套接字和本址通讯参数(IP地址和端口信息)进行绑定→对通讯对端发起连接请求→和对端连接上后,与对端进行数据交互→关闭传输层连接→释放本地套接字资源。在JAVA系的系统中(如,安卓系统),虽然简化了socket连接前的动作,但在连接后、数据交互前,却增加了从socket资源映射出后续数据交互使用的IO流这些动作,所以,仍显烦琐。终端设备与外界其它计算机系统进行数据通讯和交互是十分普遍的,在当前很火的“云计算”业界背景下,通讯的重要性更加凸显。不与外界通讯的终端是不存在的、没有意义的,否则,它只能是“信息的孤岛”。同时,我们可以预见:随着通讯技术与嵌入式技术越来越紧密的结合和融合,在同一终端设备上,将同时支持更多的多样化的通讯方式。以独立的方式分别使用各种差异化的通讯方式是现有常见的方法,鉴于该方法给通讯应用中带来的种种不便和缺点,本专利技术方法将给出一种新思路新方法,以一种统一的方式使用多种通讯链路来方便地透明地进行数据通讯,简化各类应用开发人员的开发工作,快速地达到各种业务开发或测试的目的。
技术实现思路
本专利技术的目的在于提供一种解决现有技术存在不足的适应于多种通讯链路的统一的数据通讯软件框架,该框架通过层次划分、框架设计和软件抽象后,使得给使用者的使用接口简单统一,同时,层次也很清晰;让上层使用和开发者无需关心各通讯技术具体细节,仅通过对3个层次8个接口(甚至只需6个接口)的调用即可简单方便地完成各种通讯链路下的数据通讯。为实现上述目的,本专利技术的技术方案是:一种适应于多种通讯链路的统一的数据通讯软件框架,包括传输层、网络层、链路层三层结构,每层结构均分为对外接口层、内部插件层、具体实现层三层,其中,内部插件层用于将所述具体实现层所提供的各种技术实现细节按不同的机制或方式来分类封装,对外接口层用于将所述内部插件层按不同的机制或方式所分类封装的功能进一步封装成统一形式。在本专利技术一实施例中,所述传输层为使用各类套接字机制来进行数据通讯的各种操作;所述网络层为能够为终端获取在传输层操作中要用到的包括IP、端口数据的操作;所述链路层为除传输层和网络层操作外的偏向于物理链路的建立与断开的操作事务。在本专利技术一实施例中,所述内部插件层是将所述具体实现层所提供的各种技术实现细节按不同的套接字机制或通讯方式来分类封装。在本专利技术一实施例中,所述对外接口层是将所述内部插件层按不同的套接字机制或通讯方式所分类封装的功能进一步封装成统一形式。在本专利技术一实施例中,所述传输层的内部插件层包括如下接口:各种套接字资源的申请、各种套接字选项、属性或模式的设置、将各种套接字和本地通讯参数进行绑定、对通讯对端发起连接请求、与通讯对端进行数据发送与接收、关闭传输层连接、释放各种套接字资源;所述传输层的对外接口层包括如下统一接口:传输层打开、传输层关闭、传输层数据发送、传输层数据接收。在本专利技术一实施例中,所述网络层的内部插件层包括各种具体通讯方式在网络层的打开与关闭接口;所述网络层的对外接口层包括如下统一接口:网络层打开、网络层关闭。在本专利技术一实施例中,所述链路层的内部插件层包括各种具体通讯方式在网络层的连接创建与断开;所述链路层的对外接口层包括如下统一接口:链路层打开、链路层关闭。相较于现有技术,本专利技术具有以下有益效果:稳定性与统一性:不论采用何种具体的通讯方式和套接字机制,对上层应用程序而言,本通讯框架向使用者提供的用于完成通讯的统一的外部接口就是廖廖那几个,它们是稳定不变的、统一的;框架对外接口的稳定性与统一性使得上层应用程序的投资得到了极大的保护和复用,即使后续框架内相关层次代码进行了重构或新增了通讯方式或套接字机制,上层应用程序也不需要做任何改动,从而保证了本框架层以上层次的稳定性;便捷性:以本专利技术框架所提供的统一方式进行通讯是很方便的,使用者无需关心通讯各环节的细节就可以完成通讯。对于各类数据通讯业务的开发而言,只需用到通讯框架的2个层次(网络层、传输层)、6个外部接口,分7个步骤(1次配置+6次外部接口的调用)即可完成数据通讯了,这使得原本需要为各种通讯方式及套接字机制去编写大片代码才能实现的通讯,现在只需要几行代码就可以快速地实现,这极大地简化和方便了各类数据通讯业务的开发,使得本文档来自技高网...
【技术保护点】
一种适应于多种通讯链路的统一的数据通讯软件框架,其特征在于:包括传输层、网络层、链路层三层结构,每层结构均分为对外接口层、内部插件层、具体实现层三层,其中,内部插件层用于将所述具体实现层所提供的各种技术实现细节按不同的机制或方式来分类封装,对外接口层用于将所述内部插件层按不同的机制或方式所分类封装的功能进一步封装成统一形式。
【技术特征摘要】
1.一种适应于多种通讯链路的统一的数据通讯软件框架,其特征在于:包括传输层、网络层、链路层三层结构,每层结构均分为对外接口层、内部插件层、具体实现层三层,其中,内部插件层用于将所述具体实现层所提供的各种技术实现细节按不同的机制或方式来分类封装,对外接口层用于将所述内部插件层按不同的机制或方式所分类封装的功能进一步封装成统一形式。2.根据权利要求1所述的一种适应于多种通讯链路的统一的数据通讯软件框架,其特征在于:所述传输层为使用各类套接字机制来进行数据通讯的各种操作;所述网络层为能够为终端获取在传输层操作中要用到的包括IP、端口数据的操作;所述链路层为除传输层和网络层操作外的偏向于物理链路的建立与断开的操作事务。3.根据权利要求1所述的一种适应于多种通讯链路的统一的数据通讯软件框架,其特征在于:所述内部插件层是将所述具体实现层所提供的各种技术实现细节按不同的套接字机制或通讯方式来分类封装。4.根据权利要求1所述的一种适应于多种通讯链路的统一的数据通讯软件框架,其特征在于:所述对外接口层是将所述内部插件层按...
【专利技术属性】
技术研发人员:张倪旺,严明,周戟,
申请(专利权)人:福建瑞之付微电子有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。