本地过程调用方法、装置、设备及介质.pdf
《本地过程调用方法、装置、设备及介质.pdf》由会员分享,可在线阅读,更多相关《本地过程调用方法、装置、设备及介质.pdf(18页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010299179.0 (22)申请日 2020.04.16 (71)申请人 艾普阳科技 (深圳) 有限公司 地址 518000 广东省深圳市南山区粤海街 道科丰路2号特发信息港大厦B栋901- 906单元 (72)发明人 吴涛 (74)专利代理机构 深圳市深佳知识产权代理事 务所(普通合伙) 44285 代理人 常忠良 (51)Int.Cl. G06F 9/54(2006.01) (54)发明名称 一种本地过程调用方法、 装置、 设备及介质 (57)摘要 本申请公开了一种。
2、本地过程调用方法、 装 置、 设备及介质, 包括: 创建第一进程与第二进程 间的进程连接对象; 创建第一进程对应的第一会 话对象; 创建第二进程对应的第二会话对象; 利 用第一进程函数调用第一会话对象函数调用接 口, 并向第一会话对象函数调用接口传入目标参 数; 通过第一会话对象通知第二会话对象进行第 二进程函数的调用; 通过第一会话对象获取第二 会话对象返回的函数调用结果; 函数调用结果为 所述第二进程函数返回给所述第二会话对象的 调用结果, 函数调用结果为目标参数对应的调用 结果; 通过第一会话对象将函数调用结果返回给 第一进程函数。 能够降低本地过程调用的复杂 度, 提高程序开发和维护效。
3、率、 产品稳定性。 权利要求书2页 说明书10页 附图5页 CN 111506442 A 2020.08.07 CN 111506442 A 1.一种本地过程调用方法, 其特征在于, 包括: 创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包括所述第一进程对 应的第一连接对象以及所述第二进程对应的第二连接对象; 创建所述第一进程对应的第一会话对象; 创建所述第二进程对应的第二会话对象; 利用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数调用 接口传入目标参数; 所述第一进程函数为所述第一进程对应的函数; 通过所述第一会话对象通知所述第二会话对象进行第二进程函数的。
4、调用; 所述第二进 程函数为所述第二进程对应的函数; 通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其中, 所述函数 调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所述函数调用 结果为所述目标参数对应的调用结果; 通过所述第一会话对象将所述函数调用结果返回给所述第一进程函数, 以完成所述第 一进程与所述第二进程间的过程调用。 2.根据权利要求1所述的本地过程调用方法, 其特征在于, 所述创建所述第一进程对应 的第一会话对象, 包括: 利用所述第一进程函数向所述第一连接对象发送会话创建请求; 利用所述第一连接对象创建所述第一进程对应的所述第一会话对象。 3。
5、.根据权利要求1所述的本地过程调用方法, 其特征在于, 所述创建所述第二进程对应 的第二会话对象, 包括: 利用所述第一连接对象向所述第二连接对象发送会话创建请求, 以便所述第二连接对 象创建所述第二进程对应的所述第二会话对象。 4.根据权利要求1所述的本地过程调用方法, 其特征在于, 所述通过所述第一会话对象 通知所述第二会话对象进行第二进程函数的调用, 包括: 通过所述第一会话对象通知所述第二会话对象进行第二进程函数的调用, 其中, 所述 第一会话对象通过同步对象通知所述第二会话对象进行第二进程函数的调用。 5.根据权利要求4所述的本地过程调用方法, 其特征在于, 还包括: 通过所述第一会。
6、话对象或所述第二会话对创建所述同步对象。 6.根据权利要求1至5任一项所述的本地过程调用方法, 其特征在于, 所述利用第一进 程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数调用接口传入目标参 数之后, 还包括: 将所述目标参数封装为对应的函数调用数据, 利用所述第一会话对象将所述函数调用 数据放置于共享内存, 以便所述第二会话对象收到所述第二进程函数对应的调用通知后, 从所述共享内存中读取所述函数调用数据, 并利用所述函数调用数据调用所述第二进程函 数。 7.根据权利要求6所述的本地过程调用方法, 其特征在于, 还包括: 通过所述第一会话对象或所述第二会话对象创建所述共享内存。。
7、 8.一种本地过程调用装置, 其特征在于, 包括: 进程连接对象创建模块, 用于创建第一进程与第二进程间的进程连接对象; 所述进程 权利要求书 1/2 页 2 CN 111506442 A 2 连接对象包括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象; 第一会话对象创建模块, 用于创建所述第一进程对应的第一会话对象; 第二会话对象创建模块, 用于创建所述第二进程对应的第二会话对象; 会话对象接口调用模块, 用于利用第一进程函数调用第一会话对象函数调用接口, 并 向所述第一会话对象函数调用接口传入目标参数; 所述第一进程函数为所述第一进程对应 的函数; 进程函数调用通知模块,。
8、 用于通过所述第一会话对象通知所述第二会话对象进行第二 进程函数的调用; 所述第二进程函数为所述第二进程对应的函数; 函数调用结果获取模块, 用于通过所述第一会话对象获取所述第二会话对象返回的函 数调用结果; 其中, 所述函数调用结果为所述第二进程函数返回给所述第二会话对象的调 用结果, 并且, 所述函数调用结果为所述目标参数对应的调用结果; 函数调用结果返回模块, 用于通过所述第一会话对象将所述函数调用结果返回给所述 第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 9.一种本地过程调用设备, 其特征在于, 包括处理器和存储器; 其中, 所述存储器, 用于保存计算机程序; 所述。
9、处理器, 用于执行所述计算机程序以实现如权利要求1至7任一项所述的本地过程 调用方法。 10.一种计算机可读存储介质, 其特征在于, 用于保存计算机程序, 其中, 所述计算机程 序被处理器执行时实现如权利要求1至7任一项所述的本地过程调用方法。 权利要求书 2/2 页 3 CN 111506442 A 3 一种本地过程调用方法、 装置、 设备及介质 技术领域 0001 本申请涉及通信技术领域, 特别涉及一种本地过程调用方法、 装置、 设备及介质。 背景技术 0002 传统的进程间通信通常是通过管道、 消息、 信号、 套接字等方式进行数据交换, 但 这些技术只提供了基本数据或信息的交互, 无法满。
10、足进程间过程调用。 0003 目前, 为了满足进程间过程调用这一需求, 出现了像gRPC及Thrift等开源的远程 过程调用框架以及Microsoft RPC(即remote procedure call远程过程调用), 但这些框架 都是基于Client与Server端概念, 适用于远程过程调用且概念比较复杂, 开发和调试不方 便, 部署麻烦, 扩展性不好, 不太适用于本地过程调用。 发明内容 0004 有鉴于此, 本申请的目的在于提供一种本地过程调用方法、 装置、 设备及介质, 能 够降低本地过程调用的复杂度, 从而提高了程序开发和维护的效率以及产品的稳定性。 其 具体方案如下: 0005 。
11、第一方面, 本申请公开了一种本地过程调用方法, 包括: 0006 创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包括所述第一进 程对应的第一连接对象以及所述第二进程对应的第二连接对象; 0007 创建所述第一进程对应的第一会话对象; 0008 创建所述第二进程对应的第二会话对象; 0009 利用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数 调用接口传入目标参数; 所述第一进程函数为所述第一进程对应的函数; 0010 通过所述第一会话对象通知所述第二会话对象进行第二进程函数的调用; 所述第 二进程函数为所述第二进程对应的函数; 0011 通过所述第一会话对象获。
12、取所述第二会话对象返回的函数调用结果; 其中, 所述 函数调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所述函数 调用结果为所述目标参数对应的调用结果; 0012 通过所述第一会话对象将所述函数调用结果返回给所述第一进程函数, 以完成所 述第一进程与所述第二进程间的过程调用。 0013 可选的, 所述创建所述第一进程对应的第一会话对象, 包括: 0014 利用所述第一进程函数向所述第一连接对象发送会话创建请求; 0015 利用所述第一连接对象创建所述第一进程对应的所述第一会话对象。 0016 可选的, 所述创建所述第二进程对应的第二会话对象, 包括: 0017 利用所述。
13、第一连接对象向所述第二连接对象发送会话创建请求, 以便所述第二连 接对象创建所述第二进程对应的所述第二会话对象。 0018 可选的, 所述通过所述第一会话对象通知所述第二会话对象进行第二进程函数的 说明书 1/10 页 4 CN 111506442 A 4 调用, 包括: 0019 通过所述第一会话对象通知所述第二会话对象进行第二进程函数的调用, 其中, 所述第一会话对象通过同步对象通知所述第二会话对象进行第二进程函数的调用。 0020 可选的, 所述本地过程调用方法, 还包括: 0021 通过所述第一会话对象或所述第二会话对创建所述同步对象。 0022 可选的, 所述利用第一进程函数调用第一。
14、会话对象函数调用接口, 并向所述第一 会话对象函数调用接口传入目标参数之后, 还包括: 0023 将所述目标参数封装为对应的函数调用数据, 利用所述第一会话对象将所述函数 调用数据放置于共享内存, 以便所述第二会话对象收到所述第二进程函数对应的调用通知 后, 从所述共享内存中读取所述函数调用数据, 并利用所述函数调用数据调用所述第二进 程函数。 0024 可选的, 所述本地过程调用方法, 还包括: 0025 通过所述第一会话对象或所述第二会话对象创建所述共享内存。 0026 第二方面, 本申请公开了一种本地过程调用装置, 包括: 0027 进程连接对象创建模块, 用于创建第一进程与第二进程间的。
15、进程连接对象; 所述 进程连接对象包括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连接 对象; 0028 第一会话对象创建模块, 用于创建所述第一进程对应的第一会话对象; 0029 第二会话对象创建模块, 用于创建所述第二进程对应的第二会话对象; 0030 会话对象接口调用模块, 用于利用第一进程函数调用第一会话对象函数调用接 口, 并向所述第一会话对象函数调用接口传入目标参数; 所述第一进程函数为所述第一进 程对应的函数; 0031 进程函数调用通知模块, 用于通过所述第一会话对象通知所述第二会话对象进行 第二进程函数的调用; 所述第二进程函数为所述第二进程对应的函数; 0032。
16、 函数调用结果获取模块, 用于通过所述第一会话对象获取所述第二会话对象返回 的函数调用结果; 其中, 所述函数调用结果为所述第二进程函数返回给所述第二会话对象 的调用结果, 并且, 所述函数调用结果为所述目标参数对应的调用结果; 0033 函数调用结果返回模块, 用于通过所述第一会话对象将所述函数调用结果返回给 所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 0034 第三方面, 本申请公开了一种本地过程调用设备, 包括处理器和存储器; 其中, 0035 所述存储器, 用于保存计算机程序; 0036 所述处理器, 用于执行所述计算机程序以实现前述的本地过程调用方法。 003。
17、7 第四方面, 本申请公开了一种计算机可读存储介质, 用于保存计算机程序, 其中, 所述计算机程序被处理器执行时实现前述的本地过程调用方法。 0038 可见, 本申请创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包 括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象, 以及创建所 述第一进程对应的第一会话对象, 创建所述第二进程对应的第二会话对象, 然后利用第一 进程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数调用接口传入目标 参数; 所述第一进程函数为所述第一进程对应的函数, 并通过所述第一会话对象通知所述 说明书 2/10 页 5 CN 1115。
18、06442 A 5 第二会话对象进行第二进程函数的调用; 所述第二进程函数为所述第二进程对应的函数, 之后通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其中, 所述函数 调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所述函数调用 结果为所述目标参数对应的调用结果, 最后通过所述第一会话对象将所述函数调用结果返 回给所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 这样, 通过两 进程的会话对象以及进程函数进行进程间的过程调用, 能够降低本地过程调用的复杂度, 从而提高了程序开发和维护的效率以及产品的稳定性。 附图说明 0039 为了更清。
19、楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 申请的实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据 提供的附图获得其他的附图。 0040 图1为本申请公开的一种本地过程调用方法流程图; 0041 图2为本申请公开的一种具体的本地过程调用方法流程图; 0042 图3为本申请公开的一种具体的本地过程调用结构示意图; 0043 图4为本申请公开的一种同步对象和共享内存创建示意图; 0044 图5为本申请公开的一种同步对象和共享内存的使用流程图; 0045 图6为本。
20、申请公开的一种本地过程调用装置结构示意图; 0046 图7为本申请公开的一种本地过程调用设备结构图; 0047 图8为本申请公开的一种电子终端结构图。 具体实施方式 0048 下面将结合本申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本申请一部分实施例, 而不是全部的实施例。 基于 本申请中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本申请保护的范围。 0049 目前, 为了满足进程间过程调用这一需求, 出现了像gRPC及Thrift等开源的远程 过程调用框架以及Microsoft RPC,。
21、 但这些框架都是基于Client与Server端概念, 适用于远 程过程调用且概念比较复杂, 开发和调试不方便, 部署麻烦, 扩展性不好, 不太适用于本地 过程调用。 为此, 本申请提供了一种本地过程调用方案, 能够降低本地过程调用的复杂度, 从而提高了程序开发和维护的效率以及产品的稳定性。 0050 参见图1所示, 本申请实施例公开了一种本地过程调用方法, 包括: 0051 步骤S11: 创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包括所 述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象。 0052 步骤S12: 创建所述第一进程对应的第一会话对象。 0053 在。
22、具体的实施方式中, 本实施例利用第一进程函数向所述第一连接对象发送会话 创建请求; 然后利用所述第一连接对象创建所述第一进程对应的所述第一会话对象。 0054 也即, 第一进程函数向第一连接对象请求创建第一会话对象, 第一连接对象创建 说明书 3/10 页 6 CN 111506442 A 6 第一会话对象。 0055 步骤S13: 创建所述第二进程对应的第二会话对象。 0056 在具体的实施方式中, 本实施例利用所述第一连接对象向所述第二连接对象发送 会话创建请求, 以便所述第二连接对象创建所述第二进程对应的所述第二会话对象。 0057 也即, 第一连接对象向第二连接对象请求创建第二会话对象。
23、, 第二连接对象创建 第二会话对象。 0058 步骤S14: 利用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话 对象函数调用接口传入目标参数; 所述第一进程函数为所述第一进程对应的函数。 0059 也即, 在进行第一进程与第二进程间的过程调用时, 第一进程函数先调用第一会 话对象函数调用接口, 并向所述第一会话对象函数调用接口传入目标参数, 以便第二进程 返回目标参数对应的调用结果。 0060 并且, 在面向对象设计中, 所述第一会话对象函数调用接口也可以为第一会话对 象method方法调用接口。 0061 步骤S15: 通过所述第一会话对象通知所述第二会话对象进行第二进程函数。
24、的调 用; 所述第二进程函数为所述第二进程对应的函数。 0062 在具体的实施方式中, 通过所述第一会话对象通知所述第二会话对象进行第二进 程函数的调用, 其中, 所述第一会话对象通过同步对象通知所述第二会话对象进行第二进 程函数的调用。 0063 并且, 本实施例可以通过所述第一会话对象或所述第二会话对创建所述同步对 象。 在一种具体的实施方式中, 可以在前述步骤S12创建所述第一进程对应的第一会话对象 之后, 通过所述第一会话对象创建所述同步对象。 在另一种具体的实施方式中, 可以在前述 步骤S13创建所述第二进程对应的第二会话对象之后, 如果第一会话对象没有创建所述同 步对象, 则通过所。
25、述第二会话对创建所述同步对象。 0064 步骤S16: 通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其 中, 所述函数调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所 述函数调用结果为所述目标参数对应的调用结果。 0065 也即, 本实施例在第一会话对象通知所述第二会话对象进行第二进程函数的调用 之后, 第二会话对象调用第二进程函数, 然后将函数调用结果返回给第二会话对象, 第二会 话对象返回函数调用结果给第一会话对象。 0066 步骤S17: 通过所述第一会话对象将所述函数调用结果返回给所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。
26、。 0067 可以理解的是, 本实施例简化了本地进程过程调用的概念, 提高了开发和维护的 效率进程间过程调用效率高。 并且本实施例由于简化了本地过程调用的涉及范围及使用了 系统最基本的技术, 提高了产品的稳定性, 同时, 理解更简单, 使用更方便, 提升了用户体。 以及配置方便, 组件很小且易与产品集成, 并且具有可扩展性。 0068 并且, 本实施例可以用于32位进程与64位进程间过程双向调用。 0069 可见, 本申请实施例创建第一进程与第二进程间的进程连接对象; 所述进程连接 对象包括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象, 以及 创建所述第一进程对应的第一会话。
27、对象, 创建所述第二进程对应的第二会话对象, 然后利 说明书 4/10 页 7 CN 111506442 A 7 用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数调用接口传 入目标参数; 所述第一进程函数为所述第一进程对应的函数, 并通过所述第一会话对象通 知所述第二会话对象进行第二进程函数的调用; 所述第二进程函数为所述第二进程对应的 函数, 之后通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其中, 所述 函数调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所述函数 调用结果为所述目标参数对应的调用结果, 最后通过所述第一会话对象将。
28、所述函数调用结 果返回给所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 这样, 通 过两进程的会话对象以及进程函数进行进程间的过程调用, 能够降低本地过程调用的复杂 度, 从而提高了程序开发和维护的效率以及产品的稳定性。 0070 参见图2所示, 本申请实施例提供了一种具体的本地过程调用方法, 包括: 0071 步骤S21: 创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包括所 述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象。 0072 步骤S22: 创建所述第一进程对应的第一会话对象。 0073 步骤S23: 创建所述第二进程对应的第二会话对象。
29、。 0074 步骤S24: 利用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话 对象函数调用接口传入目标参数; 所述第一进程函数为所述第一进程对应的函数。 0075 步骤S25: 将所述目标参数封装为对应的函数调用数据, 利用所述第一会话对象将 所述函数调用数据放置于共享内存。 0076 步骤S26: 通过所述第一会话对象通知所述第二会话对象进行第二进程函数的调 用; 所述第二进程函数为所述第二进程对应的函数。 0077 在具体的实施方式中, 所述第一会话对象通过同步对象通知所述第二会话对象进 行第二进程函数的调用。 所述第二会话对象收到所述第二进程函数对应的调用通知后, 从 所。
30、述共享内存中读取所述函数调用数据, 并利用所述函数调用数据调用所述第二进程函 数。 0078 并且, 本实施例可以通过所述第一会话对象或所述第二会话对象创建所述共享内 存。 在一种具体的实施方式中, 可以在前述步骤S22创建所述第一进程对应的第一会话对象 之后, 通过所述第一会话对象创建所述共享内存。 在另一种具体的实施方式中, 可以在前述 步骤S23创建所述第二进程对应的第二会话对象之后, 如果第一会话对象没有创建所述共 享内存, 则通过所述第二会话对创建所述共享内存。 0079 可以理解的是, 本实施例利用共享内存, 提高了读写数据的性能, 并增加了对大数 据的支持。 0080 步骤S27。
31、: 通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其 中, 所述函数调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所 述函数调用结果为所述目标参数对应的调用结果。 0081 在具体的实施方式中, 所述第二会话对象将返回的函数调用结果放置于共享内 存, 通过所述同步对象通知所述第一会话对象共享内存中有函数调用结果, 第一会话对象 从共享内存中获取所述第二会话对象返回的函数调用结果。 0082 步骤S28: 通过所述第一会话对象将所述函数调用结果返回给所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 说明书 5/10 页 8 CN 1115。
32、06442 A 8 0083 例如, 参见图3所示, 本申请实施例公开了一种具体的本地过程调用结构示意图。 主要涉及到六个角色: 进程A、 进程B、 函数、 连接对象、 会话对象及共享内存。 第一阶段: 创建 会话, 本实施例可以在函数内部创建, 便于无状态处理, 在另外一些实施例中, 也可由函数 外部创建。 1、 进程A函数向连接对象请求创建进程A会话对象; 2、 进程A连接对象创建进程A 会话对象, 进程A会话对象创建同步对象与共享内存(也可以由进程B会话对象创建); 3、 进 程A连接对象向进程B连接对象请求创建进程B会话对象; 4、 进程B连接对象创建进程B会话 对象, 若进程A会话对。
33、象没有创建同步对象与共享内存则进程B会话对象负责创建; 第二阶 段函数调用(支持反向调用也既嵌套函数调用, 也即, 也可以进程B函数调用进程A函数), 5、 进程A函数调用进程A会话对象函数调用接口, 传入相关参数; 6、 进程A会话对象通知进程B 会话对象进行函数调用; 7、 进程B会话对象调用进程B函数; 8、 进程B函数返回函数调用结果 给进程B会话对象; 9、 进程B会话对象返回函数调用结果给进程会话A对象; 10、 进程A会话对 象返回函数调用结果给进程A函数, 函数调用结束。 0084 也即, 本申请首先在进程间建立基本的连接机制, 然后在进程间过程调用中通过 连接机制建立会话(包。
34、含能提供高性能大数据的共享内存以及用于同步的事件、 消息或信 号等)机制, 通过会话实现进程间过程调用。 具体的工作过程如下: 第一步进程A与进程B间 创建进程间连接对象; 第二步进程A或B通过连接对象创建过程调用所需的包含能提供高性 能大数据的共享内存以及用于同步的事件、 消息或信号的会话对象; 第三步函数调用会话 对象调用接口; 第四步当前进程会话对象进行过程调用; 第五步被调用会话对象调用实现 接口并返回相关执行结果; 第六步当前进程会话对象返回函数调用结果, 过程调用结束, 结 束会话。 进程A和B都可以通过第二步至第六步来进行双向调用。 0085 参见图4所示, 图4为本申请公开的一。
35、种同步对象和共享内存创建示意图。 1、 进程A 会话对象利用系统接口创建同步事件对象CreateEvent等来创建同步对象, 其中, 同步对象 可以是系统中的事件对象或锁对象或信号等, 同步对象用于通知对方会话对象共享内存中 有数据。 2、 进程A会话对象利用系统接口创建共享内存CreateFileMapping, 共享内存用来 共享数据。 3、 进程B会话对象利用系统接口打开同步事件对象OpenEvent等; 4、 进程B会话对 象打开共享内存OpenFileMapping。 0086 参见图5所示, 图5为本申请公开的一种同步对象和共享内存的使用流程图。 1、 进 程A会话对象放置函数调用。
36、数据至共享内存, 2、 进程A会话对象通知进程B会话对象共享内 存中有数据, 3、 进程B会话对象收到通知, 4、 进程B会话对象从共享内存中读取函数调用数 据进行函数调用。 0087 参见图6所示, 本申请公开了一种本地过程调用装置, 包括: 0088 进程连接对象创建模块11, 用于创建第一进程与第二进程间的进程连接对象; 所 述进程连接对象包括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连 接对象; 0089 第一会话对象创建模块12, 用于创建所述第一进程对应的第一会话对象; 0090 第二会话对象创建模块13, 用于创建所述第二进程对应的第二会话对象; 0091 会话对象。
37、接口调用模块14, 用于利用第一进程函数调用第一会话对象函数调用接 口, 并向所述第一会话对象函数调用接口传入目标参数; 所述第一进程函数为所述第一进 程对应的函数; 说明书 6/10 页 9 CN 111506442 A 9 0092 进程函数调用通知模块15, 用于通过所述第一会话对象通知所述第二会话对象进 行第二进程函数的调用; 所述第二进程函数为所述第二进程对应的函数; 0093 函数调用结果获取模块16, 用于通过所述第一会话对象获取所述第二会话对象返 回的函数调用结果; 其中, 所述函数调用结果为所述第二进程函数返回给所述第二会话对 象的调用结果, 并且, 所述函数调用结果为所述目。
38、标参数对应的调用结果; 0094 函数调用结果返回模块17, 用于通过所述第一会话对象将所述函数调用结果返回 给所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 0095 可见, 本申请实施例创建第一进程与第二进程间的进程连接对象; 所述进程连接 对象包括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象, 以及 创建所述第一进程对应的第一会话对象, 创建所述第二进程对应的第二会话对象, 然后利 用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数调用接口传 入目标参数; 所述第一进程函数为所述第一进程对应的函数, 并通过所述第一会话对象通 知。
39、所述第二会话对象进行第二进程函数的调用; 所述第二进程函数为所述第二进程对应的 函数, 之后通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其中, 所述 函数调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所述函数 调用结果为所述目标参数对应的调用结果, 最后通过所述第一会话对象将所述函数调用结 果返回给所述第一进程函数, 以完成所述第一进程与所述第二进程间的过程调用。 这样, 通 过两进程的会话对象以及进程函数进行进程间的过程调用, 能够降低本地过程调用的复杂 度, 从而提高了程序开发和维护的效率以及产品的稳定性。 0096 其中, 所述第一会话对象创建模。
40、块12, 具体用于利用所述第一进程函数向所述第 一连接对象发送会话创建请求; 利用所述第一连接对象创建所述第一进程对应的所述第一 会话对象。 0097 所述第二会话对象创建模块13, 具体用于利用所述第一连接对象向所述第二连接 对象发送会话创建请求, 以便所述第二连接对象创建所述第二进程对应的所述第二会话对 象。 0098 所述进程函数调用通知模块15, 具体用于通过所述第一会话对象通知所述第二会 话对象进行第二进程函数的调用, 其中, 所述第一会话对象通过同步对象通知所述第二会 话对象进行第二进程函数的调用。 0099 并且, 所述本地过程调用装置还包括同步对象创建模块, 用于通过所述第一会。
41、话 对象或所述第二会话对创建所述同步对象。 0100 所述本地过程调用装置还包括函数调用数据封装模块, 用于将所述目标参数封装 为对应的函数调用数据。 0101 所述本地过程调用装置还包括函数调用数据放置模块, 用于利用所述第一会话对 象将所述函数调用数据放置于共享内存, 以便所述第二会话对象收到所述第二进程函数对 应的调用通知后, 从所述共享内存中读取所述函数调用数据, 并利用所述函数调用数据调 用所述第二进程函数。 0102 所述本地过程调用装置还包括共享内存创建模块, 用于通过所述第一会话对象或 所述第二会话对象创建所述共享内存。 0103 参见图7所示, 图7为本申请实施例公开的一种本。
42、地过程调用设备, 包括处理器21 说明书 7/10 页 10 CN 111506442 A 10 和存储器22; 其中, 所述存储器22, 用于保存计算机程序; 所述处理器21, 用于执行所述计算 机程序, 以实现以下步骤: 0104 创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包括所述第一进 程对应的第一连接对象以及所述第二进程对应的第二连接对象; 创建所述第一进程对应的 第一会话对象; 创建所述第二进程对应的第二会话对象; 利用第一进程函数调用第一会话 对象函数调用接口, 并向所述第一会话对象函数调用接口传入目标参数; 所述第一进程函 数为所述第一进程对应的函数; 通过所述第。
43、一会话对象通知所述第二会话对象进行第二进 程函数的调用; 所述第二进程函数为所述第二进程对应的函数; 通过所述第一会话对象获 取所述第二会话对象返回的函数调用结果; 其中, 所述函数调用结果为所述第二进程函数 返回给所述第二会话对象的调用结果, 并且, 所述函数调用结果为所述目标参数对应的调 用结果; 通过所述第一会话对象将所述函数调用结果返回给所述第一进程函数, 以完成所 述第一进程与所述第二进程间的过程调用。 0105 可见, 本申请实施例创建第一进程与第二进程间的进程连接对象; 所述进程连接 对象包括所述第一进程对应的第一连接对象以及所述第二进程对应的第二连接对象, 以及 创建所述第一进。
44、程对应的第一会话对象, 创建所述第二进程对应的第二会话对象, 然后利 用第一进程函数调用第一会话对象函数调用接口, 并向所述第一会话对象函数调用接口传 入目标参数; 所述第一进程函数为所述第一进程对应的函数, 并通过所述第一会话对象通 知所述第二会话对象进行第二进程函数的调用; 所述第二进程函数为所述第二进程对应的 函数, 之后通过所述第一会话对象获取所述第二会话对象返回的函数调用结果; 其中, 所述 函数调用结果为所述第二进程函数返回给所述第二会话对象的调用结果, 并且, 所述函数 调用结果为所述目标参数对应的调用结果, 最后通过所述第一会话对象将所述函数调用结 果返回给所述第一进程函数, 。
45、以完成所述第一进程与所述第二进程间的过程调用。 这样, 通 过两进程的会话对象以及进程函数进行进程间的过程调用, 能够降低本地过程调用的复杂 度, 从而提高了程序开发和维护的效率以及产品的稳定性。 0106 本实施例中, 所述处理器21执行所述存储器22中保存的计算机子程序时, 可以具 体实现以下步骤: 利用所述第一进程函数向所述第一连接对象发送会话创建请求; 利用所 述第一连接对象创建所述第一进程对应的所述第一会话对象。 0107 本实施例中, 所述处理器21执行所述存储器22中保存的计算机子程序时, 可以具 体实现以下步骤: 利用所述第一连接对象向所述第二连接对象发送会话创建请求, 以便所。
46、 述第二连接对象创建所述第二进程对应的所述第二会话对象。 0108 本实施例中, 所述处理器21执行所述存储器22中保存的计算机子程序时, 可以具 体实现以下步骤: 通过所述第一会话对象通知所述第二会话对象进行第二进程函数的调 用, 其中, 所述第一会话对象通过同步对象通知所述第二会话对象进行第二进程函数的调 用。 0109 本实施例中, 所述处理器21执行所述存储器22中保存的计算机子程序时, 可以具 体实现以下步骤: 通过所述第一会话对象或所述第二会话对创建所述同步对象。 0110 本实施例中, 所述处理器21执行所述存储器22中保存的计算机子程序时, 可以具 体实现以下步骤: 将所述目标。
47、参数封装为对应的函数调用数据, 利用所述第一会话对象将 所述函数调用数据放置于共享内存, 以便所述第二会话对象收到所述第二进程函数对应的 说明书 8/10 页 11 CN 111506442 A 11 调用通知后, 从所述共享内存中读取所述函数调用数据, 并利用所述函数调用数据调用所 述第二进程函数。 0111 本实施例中, 所述处理器21执行所述存储器22中保存的计算机子程序时, 可以具 体实现以下步骤: 通过所述第一会话对象或所述第二会话对象创建所述共享内存。 0112 并且, 所述存储器22作为资源存储的载体, 可以是只读存储器、 随机存储器、 磁盘 或者光盘等, 存储方式可以是短暂存储。
48、或者永久存储。 0113 参见图8所示, 本申请实施例公开了一种电子终端20, 包括前述实施例中公开的处 理器21和存储器22。 关于上述处理器21具体可以执行的步骤可以参考前述实施例中公开的 相应内容, 在此不再进行赘述。 0114 进一步的, 本实施例中的电子终端20, 还可以具体包括电源23、 通信接口24、 输入 输出接口25和通信总线26; 其中, 所述电源23用于为所述终端20上的各硬件设备提供工作 电压; 所述通信接口24能够为所述终端20创建与外界设备之间的数据传输通道, 其所遵循 的通信协议是能够适用于本申请技术方案的任意通信协议, 在此不对其进行具体限定; 所 述输入输出接。
49、口25, 用于获取外界输入数据或向外界输出数据, 其具体的接口类型可以根 据具体应用需要进行选取, 在此不进行具体限定。 0115 进一步的, 本申请实施例还公开了一种计算机可读存储介质, 用于保存计算机程 序, 其中, 所述计算机程序被处理器执行时实现以下步骤: 0116 创建第一进程与第二进程间的进程连接对象; 所述进程连接对象包括所述第一进 程对应的第一连接对象以及所述第二进程对应的第二连接对象; 创建所述第一进程对应的 第一会话对象; 创建所述第二进程对应的第二会话对象; 利用第一进程函数调用第一会话 对象函数调用接口, 并向所述第一会话对象函数调用接口传入目标参数; 所述第一进程函 。
50、数为所述第一进程对应的函数; 通过所述第一会话对象通知所述第二会话对象进行第二进 程函数的调用; 所述第二进程函数为所述第二进程对应的函数; 通过所述第一会话对象获 取所述第二会话对象返回的函数调用结果; 其中, 所述函数调用结果为所述第二进程函数 返回给所述第二会话对象的调用结果, 并且, 所述函数调用结果为所述目标参数对应的调 用结果; 通过所述第一会话对象将所述函数调用结果返回给所述第一进程函数, 以完成所 述第一进程与所述第二进程间的过程调用。 0117 可见, 本申请实施例创建第一进程与第二进程间的进程连接对象; 所述进程连接 对象包括所述第一进程对应的第一连接对象以及所述第二进程对。
- 内容关键字: 本地 过程 调用 方法 装置 设备 介质
电子债权凭证数据信息安全存储方法.pdf
玄武岩管道弯曲性能检测装置及方法.pdf
板仓感应装置.pdf
软土地基用防渗塑钢板桩.pdf
瓶盖及灌装产品.pdf
汽车仪表饰条总成.pdf
基于光伏顶棚的不停车充电车道.pdf
具有泄漏气体回收功能的甲醛储罐.pdf
自动开蛋机.pdf
高稳定性管道焊接机器人.pdf
陶瓷纤维保温结构.pdf
快速对接的管道连接机构.pdf
自动化磁体振动研磨清洗生产连接线.pdf
土地测绘用具有定位结构的测绘支架.pdf
用于监测土壤滑坡的监测球及系统.pdf
自清洗型乳化液过滤器.pdf
按摩垫滚轮导电结构.pdf
铁塔钢材表面防腐涂层的喷涂装置.pdf
高容量低成本层状钠离子电池正极材料烧结用匣钵.pdf
集成模块化电源.pdf
精度可控制调节输出装置.pdf
输液杆的集中供电结构.pdf
桥式起重机吊钩.pdf
活塞止转销自动定位安装装置.pdf
超疏水表面减阻测量装置.pdf
电池链接护罩.pdf
城市地下空间拖曳式时频联合电磁探测系统及方法.pdf
基于区块链的电动自行车智能计时方法及系统.pdf
高精密减速器的磨损检测装置.pdf
T型气密检测装置.pdf
环形钢桁架地面散件拼装高空胎架组装施工工艺.pdf
杂化改性高吸油树脂及其制备方法与应用.pdf
建筑工程施工加强模板.pdf
SF6气体密度检测的辅助结构.pdf
手持拉伸风扇.pdf
列车卫生间新型模具.pdf
妇产科手术床.pdf
电蒸箱的可调节排水结构.pdf
桌面条码打印机.pdf
直流接触器.pdf
双层USB接头.pdf
用于辅助测量O型圈硬度计的定位工装.pdf
不锈钢平面抱紧摆头连接器.pdf
具有高效净化效果的UV油墨生产用废水处理设备.pdf
多相机阵列拍照机构.pdf
水煤浆气化装置.pdf
用于建筑工程的加固支撑结构.pdf
用于导热油炉高位槽中的防膨胀管.pdf
实用性强浸水无触点电保护器.pdf
用于10kV、35kV预制舱内断路器的试验工装.pdf
电线电缆自动剥线装置.pdf