基于进程调用扩展程序的方法和装置制造方法及图纸

技术编号:4273048 阅读:176 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于进程调用扩展程序的方法和装置,本发明专利技术的方法,包括:设置主程序中的节点接口与子程序之间的对应关系;在所述主程序执行过程中,当执行到所述节点接口时,按照所述对应关系通过进程调用相对应的所述子程序并执行。本发明专利技术的装置,包括:存储单元,用于存储主程序中的节点接口与子程序之间的对应关系;判断单元,用于在所述主程序执行过程中,判断出执行到所述节点接口时,触发进程管理器;所述进程管理器,用于按照所述存储单元保存的所述对应关系通过进程调用相对应的所述子程序;执行单元,用于执行所述主程序和/或子程序。本发明专利技术的方法和装置,调用方式简单,且利于用户日后维护更新系统功能,简化了工程维护工作。

【技术实现步骤摘要】

本专利技术涉及通信领域,更具体地,涉及一种基于进程调用扩展程序的方法和装置
技术介绍
在产品数据管理P匿系统中,良好的扩展性和二次开发能力是衡量P匿产品的标 准之一。目前各主流的P匿系统都提供了较好的二次开发。 目前P匿主程序调用后期开发的代码主要有两种方式。1、P匿产品集成了 VBA脚 本,P匿产品在一些关键的节点上调用固定参数的VBA脚本,具体调用的脚本名是可配置 的,二次开发可以在VBA里完成。2、 P匿产品集成自有的语言和编译器,并提供良好的IDE 开发环境,用户可以对产品源码进行修改编译。 但如果采用VBA脚本,由于脚本文件的参数是固定的,不便于更改,且脚本二次开 发的效果不同于编译程序的开发,开发效果的扩展性较差;如果采用IDE开发环境,对产品 源码进行修改编译时,IDE的开发环境不同于产品最初设计时的开发环境,修改编译时具有 局限性的问题。
技术实现思路
本专利技术旨在提供一种基于进程调用扩展程序的方法和装置,其能够解决上述扩展 方案扩展性较差、编译环境具有局限性的问题。根据本专利技术的一个方面,提供了一种基于进程调用扩展程序的方法,包括 设置主程序中的节点接口与子程序之间的对应关系; 在所述主程序执行过程中,当执行到所述节点接口时,按照所述对应关系通过进 程调用相对应的所述子程序并执行。 优选地,所述调用过程包括 同步调用或异步调用所述子程序。 优选地,所述子程序在执行的过程中建立所述主程序和子程序之间数据传输。 优选地,所述数据传输采用共享内存、进程间消息传送、内部进程通道IPC或TCP/ IP模式。 优选地,所述子程序的类型采用EXE可执行程序。本专利技术还提供一种基于进程调用扩展程序的装置,包括 存储单元,用于存储主程序中的节点接口与子程序之间的对应关系; 判断单元,用于在所述主程序执行过程中,判断出执行到所述节点接口时,触发进程管理器; 所述进程管理器,用于按照所述存储单元保存的所述对应关系通过进程调用相对 应的所述子程序; 执行单元,用于执行所述主程序和/或子程序。 优选地,所述进程管理器包括3 同步调用模块,用于通过同步调用模式调用相对应的所述子程序;或 异步调用模块,用于通过异步调用模式调用相对应的所述子程序。 优选地,所述执行单元包括 交互模块,用于建立所述主程序和所述子程序之间的数据传输; 处理模块,用于执行所述主程序和/或子程序,并通过所述交互模块传输所述主程序和子程序之间的数据。 优选地,所述交互模块建立数据传输的模式为 共享内存、进程间消息传送、IPC通道或TCP/IP模式。 本专利技术的方法和装置,由于进程调用扩展的程序。因此,调用方式简单,易于实现, 且利于用户日后维护更新系统功能,或便于工程人员对不同用户的需求设定不同的扩展程 序使用,简化了工程维护工作;提高了 P匿系统的程序扩展性和消除了编译环境的局限性。附图说明 附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实 施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中 图1示出了实施例一的流程图; 图2示出了实施例二的流程图; 图3示出了实施例三的结构图。具体实施例方式为清楚说明本专利技术,下面将参考附图并结合实施例,来详细说明本专利技术。 参见图1,图1是本专利技术方法实施例一的流程图,包括 Sll :设置主程序中的节点接口与子程序之间的对应关系; S12 :在主程序执行过程中,当执行到所述节点接口时,按照所述对应关系执行相 对应的所述子程序。 本专利技术的实施例一中,该子程序为扩展程序,可以是可执行的EXE子程序,由于主 程序会在多个不同用户中应用,以面对不同的用户需求,而采用可执行的子程序,这样便于 以后用户的功能更换和维护,从而使P匿产品在面对多个不同需求用户时,可方便的调整 用户使用的功能。 下面给出本专利技术的实施例二,实施例二是本专利技术在P匿系统中的一个应用实例。 参见图2,包括 S21 :预先保存主程序中的节点接口与子程序之间的对应关系; 将所述对应关系以配置表形式保存,对应关系为每个节点接口与一个或多个子程 序的对应关系。S22 :运行主程序,当执行到节点接口时,查询配置表; S23 :在配置表中判断所述节点接口是否存在相对应的需要调用的子程序; 本实施例中的配置表采用数据库表实现,如果没有相对应的调用程序,则执行 S24,执行后续程序;如果有相对应的需要调用程序,则执行S25,向进程管理器发送调用请 求; S25 :向进程管理器发送调用请求; P匿主程序向进程管理器提交调用请求,进程管理器收到请求后,执行指定的程 序,并记录此程序的相关信息,如返回值、子程序标识等,被调用程序执行完毕后,进程管理 器自动消除相关信息。 P匿主程序查询配置表,如果有程序要调用,向进程管理器发调用请求,基本结构 如下 GUID : IntfaceName :varchar(100)接口名 ClientProcessName :varchar(100)被调用程序名 IsAsynchro丽s :bool是否异步(true为异步,false同步) S26 :进程管理器执行被调用的子程序,并建立相互间的数据连接; 1)、PDM主程序查询配置表,如果有程序要调用,向进程管理器发调用请求,基本结构如下 GUID : IntfaceName :varchar(100)接口名 ClientProcessName :varchar(100)被调用程序名 IsAsynchro丽s :bool是否异步(true为异步,false同步) 2)、被调用的子程序分为两种,同步和异步,如果同步执行P匿主程序要等待外部 的被调用子程序,且读取返回;异步调用则不用等待。 进程管理器对程序调用分两种,1、异步调用,进程管理器不等待被调用程序,继续执行。2、同步调用,进程管理器需要等被调用程序完毕后,才继续向下执行。 进程信息 GUID : (36位唯一标志码) ClientName, varchar(100)记录调用的程序名 ret證Value, varchar(100)记录程序执行返回值 class_id int32 对象类ID object_id int32 对象ID 3) 、 PDM主程序和被调用程序之间的数据传输; 目前进程间通讯方法主要有如下几种,1、共享内存2、消息传送3、通道4、 TCP/IP 等,本文采用通道的方式传递数据。在PDM主程序和被调用的程序间建立一条的通道,进行 数据的交换。 通道的建立过程如下 1)首先在PDM主程序注册内部进程通道IpcServerChannel,指定通道名和通道传 输的类。如下代码所示,P匿主程序建立了一条叫ServerChanel的通道,传递的数据类 为ServerData, PDM端示例代码如下 Cha皿elServices. RegisterCha皿el (channel, true); //Register this service type. RemotingConfiguration. RegisterWellKnownServiceType ( typeof (ServerData), 〃 ServerData〃 本文档来自技高网...

【技术保护点】
一种基于进程调用扩展程序的方法,其特征在于,包括:设置主程序中的节点接口与子程序之间的对应关系;在所述主程序执行过程中,当执行到所述节点接口时,按照所述对应关系通过进程调用相对应的所述子程序并执行。

【技术特征摘要】
一种基于进程调用扩展程序的方法,其特征在于,包括设置主程序中的节点接口与子程序之间的对应关系;在所述主程序执行过程中,当执行到所述节点接口时,按照所述对应关系通过进程调用相对应的所述子程序并执行。2. 根据权利要求1所述的方法,其特征在于,所述调用过程包括同步调用或异步调用 所述子程序。3. 根据权利要求1或2所述的方法,其特征在于,所述子程序在执行的过程中建立所述 主程序和子程序之间数据传输。4. 根据权利要求3所述的方法,其特征在于,所述数据传输采用共享内存、进程间消息 传送、内部进程通道IPC或TCP/IP模式。5. 根据权利要求4所述的方法,其特征在于,所述子程序的类型采用EXE可执行程序。6. —种基于进程调用扩展程序的装置,其特征在于,包括存储单元、判断单元、进程 管理器、执行单元;所述存储单元,用于存储主程序中的节点接口与子程序之间的对应关...

【专利技术属性】
技术研发人员:杨星波
申请(专利权)人:北京数码大方科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1