【技术实现步骤摘要】
本专利技术涉及一种基于C0RBA接口方法自适应调用方法。
技术介绍
使用符合CORBA标准的分布对象中间件开发应用可以有效地屏蔽底层通信,将精 力主要放在业务逻辑上,提高了生产效率。而且分布对象中间件一般都是稳定的产品,为用 户屏蔽了很多复杂的并发通信逻辑,也提高了应用的稳定性。 但是,在不稳定、有误码的网络上,如果接口中包含了数据量大的数据结构,则很 难调用成功,导致系统无法正常工作。
技术实现思路
本专利技术的目的就是针对上述的不足,提供了一种把接口方法名及参数打包成二进 制的序列、利用传输切片技术、将二进制序列分片发送到服务端,能保证传输的新型的基于 C0RBA接口方法自适应调用方法。 —种基于C0RBA接口方法自适应调用方法,包括客户端和服务端,包括如下步骤 1)客户端将方法标识及输入参数转换成二进制序列,并连接服务端建立会话; 2)客户端利用远程网络自适应传输到服务端,即动态调整发送尺寸大小; 3)服务端将二进制序列转换成方法标识及输入参数; 4)服务端本地方法调用,产生输出参数; 5)服务端将方法标识及输出参数转换成二进制序列; 6)客户端从服务端自适应网络读取二进制序列,即动态调整读取尺寸大小; 7)客户端结束会话,将二进制序列转换成方法标识和输出参数,返回给函数。即完成了自适应调用,完成了接口方法和序列的相互转换,保证了传输。上述步骤1)将接口方法转换为序列,具体是这样实现的 1-1)客户端将输入参数依序转换成CORBA: :Any,写入CORBA: :Any的序列; 1-2)客户端将CORBA: :Any的序列和方法名写入结构 ...
【技术保护点】
一种基于CORBA接口方法自适应调用方法,包括客户端和服务端,其特征在于包括如下步骤:1)客户端将方溶标识及输入参数转换成二进制序列,并连接服务端建立会话;2)客户端利用远程网络自适应传输到服务端,即动态调整发送尺寸大小;3)服务端将二进制序列转换成方法标识及输入参数;4)服务端本地方法调用,产生输出参数;5)服务端将方法标识及输出参数转换成二进制序列;6)客户端从服务端自适应网络读取二进制序列,即动态调整读取尺寸大小;7)客户端结束会话,将二进制序列转换成方法标识和输出参数,返回给函数。
【技术特征摘要】
一种基于CORBA接口方法自适应调用方法,包括客户端和服务端,其特征在于包括如下步骤1)客户端将方溶标识及输入参数转换成二进制序列,并连接服务端建立会话;2)客户端利用远程网络自适应传输到服务端,即动态调整发送尺寸大小;3)服务端将二进制序列转换成方法标识及输入参数;4)服务端本地方法调用,产生输出参数;5)服务端将方法标识及输出参数转换成二进制序列;6)客户端从服务端自适应网络读取二进制序列,即动态调整读取尺寸大小;7)客户端结束会话,将二进制序列转换成方法标识和输出参数,返回给函数。2. 根据权利要求1所述的基于CORBA接口方法自适应调用方法,其特征在于上述步 骤1)是这样实现的1-1)客户端将输入参数依序转换成CORBA: :Any,写入CORBA: :Any的序列;1-2)客户端将CORBA: :Any的序列和方法名写入结构FuncParamln ;1-3)客户端将结构FuncParamln转换成CORBA: : Any,再转换成二进制序列;1- 4)客户端调用BeginSession函数从服务端获取一个唯一标识会话的SessionID。3. 根据权利要求1所述的基于CORBA接口方法自适应调用方法,其特征在于上述步 骤2)是这样实现的2- 1)客户端将0赋给Pos,配置的长度赋给len ; 2-2)如果Pos大于二进制序列的长度则转;2-3)客户端从二进制序列中的指定位置Pos取长度len的数据;2-4)客户端调用SendData方法将数据发送到服务端,如果Pos+len等于二进制序列的 长度,则SendData函数的is_0Ver参数为true,通知服务端输入参数的二进制序列传输完 成,否则为false ;2-5)服务端接收到数据后,根据SessionID,将接收的数据放到会话的输入缓冲区,如 果服务端接收到的is_0Ver参数为true,则转到步骤3);2-6)如果步骤2-4)失败,检查是否是网络产生的原因,如果是,就将len减为八分之 一,否则报错退出;2- 7)步骤2-4)如果成功,检查是否完成发送,完成转步骤6),否则检查调用的时间是 否小于最小调长时间,如果是,len增大一倍;否则,判断调用时间是否大于最大调短时间, 如果是,则len减少一半,Pos = Pos+len,返回步骤2-3)。4. 根据权利要求3所述的基于C0RBA接口方法自适应调用方法,其特征在于上述步 骤2-6)中如果步骤2-4)失败,检查是否是网络产生的原因,如果是,就将len减为八分之 一,此时,如果len的八分之一小于最小包长度,则len的值设为最小包长度;步骤2_7)中 检查调用的时间是否小于最小调长时间,如果是,len增大一倍,此时,如果len的二倍大于 最大包长度,则len的值设定为最大包长度。5. 根据权利要求1所述的基于CORBA接口方法自适应调用方法,其特征在于上述步 骤3)是这样实现的3- 1)服务端根据SessionID从会话缓冲区中取出二进制序列,将二进制序列转换成 CORBA::Any ;3-2)再将C0RBA: :Any转换成结构FuncParamln ;3-3)服务端根据结构FuncParamln中的方法标识,将其中的C0RBA: : Any序列逐个转换 成输入参数。6....
【专利技术属性】
技术研发人员:罗端红,郭长国,
申请(专利权)人:山东中创软件商用中间件股份有限公司,
类型:发明
国别省市:88[中国|济南]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。