[发明专利]一种异构平台间的程序通信方法有效
申请号: | 201910617450.8 | 申请日: | 2019-07-08 |
公开(公告)号: | CN112199205B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 王丹华;黄陈蓉;张建德 | 申请(专利权)人: | 南京工程学院 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;H04L67/133 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 211167 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 平台 程序 通信 方法 | ||
1.一种异构平台间的程序通信方法,其特征在于,包括以下步骤:
(1)平台A上运行的程序PA生成调用请求,所述调用请求包括平台B的标识符、程序PB的标识符和接口、调用参数、调用请求标识符;其中程序PB是程序PA要调用的程序,该程序PB运行于平台B上;
(2)所述程序PA将所述调用请求写入平台A的调用缓存区;
(3)平台A上运行的数据交互进程CA从所述调用缓存区读取并解析所述调用请求,获取所述调用请求的相关信息;
(4)所述数据交互进程CA根据平台B的相关要求,格式化所述调用请求的相关信息,生成第二调用请求,所述第二调用请求中还包括平台A的标识符;
(5)所述数据交互进程CA将所述第二调用请求发送给平台B,平台B将接收到的所述第二调用请求存入接收缓存区;
(6)平台B上运行的数据交互进程CB从所述接收缓存区读取所述第二调用请求,创建一个调用线程,该调用线程基于第二调用请求中的信息,调用程序PB的相应接口,并传递所述调用参数;
(7)所述程序PB基于所述调用参数接受调用,生成相应的处理结果,将所述处理结果返回给所述调用线程,所述调用线程将处理结果和相应的调用请求标识符一起存储于平台B的结果缓存区;
(8)所述数据交互进程CB从所述结果缓存区读取所述处理结果和调用请求标识符,根据所述调用请求标识符,所述数据交互进程CB确定该调用请求对应的平台A,根据平台A的相关要求,格式化所述处理结果,生成符合平台A要求的第二处理结果,所述第二处理结果中包括所述处理结果的格式化结果以及所述调用请求标识符;
(9)所述数据交互进程CB将所述第二处理结果发送给平台A,平台A将接收到的第二处理结果存入结果返回缓存区;
(10)所述数据交互进程CA从结果返回缓存区读取所述第二处理结果,根据所述第二处理结果中的调用请求标识符,确定该第二处理结果对应的程序PA;
(11)所述数据交互进程CA将所述第二处理结果发送给程序PA。
2.根据权利要求1所述的方法,其特征在于,所述调用请求还包括限定时间参数T,所述限定时间参数T表示PA进行远程调用的最大可接受的等待时间,同时系统记录该调用请求被写入调用缓存区的时间T0;
当数据交互进程CA在上述步骤3读取该调用请求时,CA计算剩余时间T1=T0+T-Tnow,其中Tnow是当前时间;
数据交互进程CA计算处理结果的最小预期时间Tmin,即Tmin=T2+T3;其中,T2是数据在平台A和平台B之间来回传输一次的路程时间,T3是预定义的表示程序PB处理该调用的最小时间;
数据交互进程CA判断T1与Tmin的大小关系:
如果T1<Tmin,则所述数据交互进程CA直接返回一个失败结果给程序PA;
如果T1≥Tmin,则数据交互进程CA继续执行后续步骤,同时CA启动一个计时器,计时器从0开始计时,当计时到T1,CA还没有获得相应的第二处理结果时,CA返回一个超时结果给程序PA,告知其返回结果超时。
3.根据权利要求1-2任意一项所述的方法,其特征在于,所述调用缓存区是平台A内存中专门开辟的一个存储区域,该调用缓存区预先被划分为多个段,每个段存储一个调用请求,程序PA将其调用请求写入其中一个段时,同时写入程序PA的标识符,该标识符表示该段已被程序PA占用。
4.根据权利要求3所述的方法,其特征在于,所述调用缓存区由系统控制,允许各个程序写入空段,但是不允许各个程序读取调用缓存区中的各个调用请求的数据,只允许数据交互进程CA读取调用请求数据。
5.根据权利要求1-4任意一项所述的方法,其特征在于,在CA发送该第二调用请求后,CA将调用缓存区中相应的调用请求清除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京工程学院,未经南京工程学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910617450.8/1.html,转载请声明来源钻瓜专利网。