[发明专利]一种异步调用转同步调用的实现方法在审

专利信息
申请号: 201710936510.3 申请日: 2017-10-10
公开(公告)号: CN107770258A 公开(公告)日: 2018-03-06
发明(设计)人: 张睿;郭宏光;黄浩然;饶国辉;余存;张欣;崔晓优;刘翼;张自朋;申艳红;耿战霞;周玉勇;贾帅锋;靳玮玮;闫静卫;甄宏宇;李凤龙;赵东杰;吴春昇;龚程 申请(专利权)人: 许继电气股份有限公司;许继集团有限公司;国家电网公司
主分类号: H04L29/08 分类号: H04L29/08;H04L29/06
代理公司: 郑州睿信知识产权代理有限公司41119 代理人: 吴敏
地址: 461000 河*** 国省代码: 河南;41
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 异步 调用 同步 实现 方法
【说明书】:

技术领域

发明属于直流输电监控系统中的通信技术领域,具体涉及一种异步调用转同步调用的实现方法。

背景技术

在直流输电的监控系统中,一般采用基于网络连接的客户端/服务器模式,而在客户端需要调用服务端的函数执行某些功能时,通常有两种调用方式,异步调用或同步调用。

所谓同步调用,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。图1为一个客户端从服务器端获取数据的同步调用的流程示意图。在这个同步调用流程中,客户端发出调用请求后,请求的内容在服务端执行,在这个执行过程中,客户端一直在等待执行结果,只有当服务端的请求结束并返回结果后,客户端才继续向下执行。

异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。图2为一个客户端从服务器端获取数据的异步调用的流程示意图。在这个异步调用流程中,客户端发出调用请求后,请求内容在服务端执行,但是客户端不等待执行结果,而是继续向下执行,服务器的请求执行结束并返回结果时,客户端是在另外的处理函数返回部分继续执行。

同步调用的优势在于流程清晰,逻辑明确,异步调用因为可以在客户端和服务端同时执行,因此效率较高。

在直流输电的监控系统中,由于网络调用本身是基于异步方式的,因此客户端和服务器交互时,默认的都是异步方式。在大多数的应用场景中,这种方式都是比较合适的,如数据的获取和刷新等,异步方式执行效率高,并且不互相等待,用户体验好。但有一些应用场景,如命令的执行,由于这些应用场景需要立刻获取到执行结果,再根据执行结果的不同判断下一步的执行过程,使用异步调用时流程较为复杂,图3为一个在异步模式下的命令执行流程示意图。从流程图中可知,在异步模式下,当需要调用执行完毕后才进行下一步操作的步骤,都需要再启动一个循环体,不停的判断调用的执行状态,导致流程中出现循环和分支,较为复杂,如果再考虑每个执行步骤的失败可能,则流程图会更加复杂。图4为同步模式下的命令执行流程,从流程图可知,流程相对简化,并且都是顺序执行,没有循环和分支。

因此,如何在异步网络中实现同步调用,值得商榷。

发明内容

本发明所要解决的技术问题是在某些应用场景需要调用执行完毕后才进行下一步操作时,采用异步调用时流程较为复杂,因而,需要得到一种异步调用网络中实现同步的方法。

为解决上述技术问题,本发明提供了一种异步调用转同步调用的实现方法,包括步骤:

1)在客户端创建一个代理函数;

2)在需要进行调用方式转换时,异步函数调用代理函数,由代理函数向服务端发起调用请求消息,将代理函数锁定,使代理函数进入等待状态;

3)当客户端监测到服务端调用返回时,解除代理函数锁定,并记录服务端返回的执行结果。

步骤2)中,在锁定代理函数的同时,开始计时,计时超时而没有收到服务端调用返回时直接解除代理函数锁定,并返回默认的返回值。

当网络错误造成功能调用出错时,解除代理函数锁定并返回默认的返回值。

所述默认的返回值为调用出错。

本发明采用在客户端设置代理函数,由代理函数发起调用请求,并在发起请求的同时将代理函数锁定,使代理函数进入等待状态,直至客户端接收到服务端的调用返回时,解除代理函数锁定,把原本异步模式下的调用,转为同步调用,使得客户端与服务端或者其他需要使用异步调用方式进行交互的流程,能够按照同步调用的方式设计,从而简化流程的执行过程,同时,通过超时的处理,避免流程死锁。

附图说明

图1为同步调用流程示意图;

图2为异步调用流程示意图;

图3为异步模式下的命令执行流程图;

图4为同步模式下的命令执行流程图;

图5为本发明所述的异步调用到同步调用的转换示意图。

具体实施方式

下面结合附图对本发明的技术方案做进一步说明:

如图5所示,本发明提供了一种用于直流输电监控系统中客户端与服务端进行交互的异步调用转同步调用的实现方法,该方法包括如下步骤:

步骤101:在客户端(函数调用方)创建一个代理函数,用于所有异步函数调用;

步骤102:当需要进行调用方式转换时,通过这个代理函数完成调用,此函数在服务端的执行结果返回前,都不会返回,即将代理函数锁定;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于许继电气股份有限公司;许继集团有限公司;国家电网公司,未经许继电气股份有限公司;许继集团有限公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710936510.3/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top