[发明专利]一种运行协程的方法和装置有效

专利信息
申请号: 201710432602.8 申请日: 2017-06-09
公开(公告)号: CN107329812B 公开(公告)日: 2018-07-06
发明(设计)人: 孙尚 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F9/48 分类号: G06F9/48
代理公司: 北京三高永信知识产权代理有限责任公司 11138 代理人: 朱雅男
地址: 518057 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 协程 存储位置 函数执行 运行数据 计算机技术领域 目标存储位置 方法和装置 触发事件 存储区域 记录目标 调用 挂起 存储 激活 进程 检测 保证
【说明书】:

发明公开了一种运行协程,属于计算机技术领域。所述方法包括:在目标协程运行的过程中,当所述目标协程挂起时,存储所述目标协程当前的函数执行位置和运行数据,记录目标存储位置和初始存储位置的相对位置,其中,所述目标存储位置为所述函数执行位置和运行数据的存储位置,所述初始存储位置为所述目标协程所属进程的存储区域的初始位置;当检测到所述目标协程的激活触发事件时,根据所述相对位置,获取所述函数执行位置和运行数据;重新调用所述目标协程的函数,基于所述函数执行位置和运行数据,继续运行所述目标协程。采用本发明,可以保证在进程rusume后,协程正常运行。

技术领域

本发明涉及计算机技术领域,特别涉及一种运行协程的方法和装置。

背景技术

随着计算机技术的不断发展,服务端所提供的业务越来越复杂、多样化,这些业务往往涉及大量的异步处理,而一般情况下会采用协程(用来实现某些独立功能的函数)来进行这些异步处理。例如,游戏服务端提供的用户登录这一业务,涉及在线状态检测,账户安全检测,账户数据获取等多种异步处理,在实现用户登录的进程中,可以使用不同的协程分别进行上述异步处理。

业务的某一线程在进行至某一步时,如果需要获取某个参数A,则可以创建相关协程,由该协程进行上述A的获取处理。协程在获取A的过程中,发现需要获取参数B,则可以暂停处理(可称为挂起),存储协程的上下文(上下文包括协程的函数返回地址和运行数据),并记录对应的存储地址,同时向外部(可以是其它协程或线程)发送B的获取请求。进而,当接收到外部返回的B后,协程可以再次运行(可称为激活),即根据记录的存储地址,读取协程上下文,然后基于B进行后续处理。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:

现有服务端一般采用resume(重新启动)机制来提高进程容灾能力,主要是将整个业务的进程(进程中可以包括多个线程)的运行数据保存在共享存储区域中,这样,在进程意外崩溃再次重启后,存储在共享存储区域中的运行数据也不会损坏或丢失。同时,在resume机制下,在进程重新启动后,为了防止共享存储区域中的运行数据被恶意窃取,一般都会对共享存储区域内数据的存储地址进行随机偏移,这样,协程挂起时存储的上下文的实际存储地址将会发生变化,协程中记录的存储地址将会失效,协程将无法正常运行。

发明内容

为了解决现有技术的问题,本发明实施例提供了一种运行协程的方法和装置。所述技术方案如下:

第一方面,提供了一种运行协程的方法,所述方法包括:

在目标协程运行的过程中,当所述目标协程挂起时,存储所述目标协程当前的函数执行位置和运行数据,记录目标存储位置和初始存储位置的相对位置,其中,所述目标存储位置为所述函数执行位置和运行数据的存储位置,所述初始存储位置为所述目标协程所属进程的存储区域的初始位置;

当检测到所述目标协程的激活触发事件时,根据所述相对位置,获取所述函数执行位置和运行数据;

重新调用所述目标协程的函数,基于所述函数执行位置和运行数据,继续运行所述目标协程。

第二方面,提供了一种运行协程的装置,所述装置包括:

存储模块,用于在目标协程运行的过程中,当所述目标协程挂起时,存储所述目标协程当前的函数执行位置和运行数据,记录目标存储位置和初始存储位置的相对位置,其中,所述目标存储位置为所述函数执行位置和运行数据的存储位置,所述初始存储位置为所述目标协程所属进程的存储区域的初始位置;

获取模块,用于当检测到所述目标协程的激活触发事件时,根据所述相对位置,获取所述函数执行位置和运行数据;

运行模块,用于重新调用所述目标协程的函数,基于所述函数执行位置和运行数据,继续运行所述目标协程。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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