太阳城集团

  • / 16
  • 下载费用:30 金币  

脚本调用方法及指令调试装置.pdf

摘要
申请专利号:

CN201611138487.5

申请日:

2016.12.12

公开号:

CN106775978A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 9/48申请日:20161212|||公开
IPC分类号: G06F9/48 主分类号: G06F9/48
申请人: 北京匡恩网络科技有限责任公司
发明人: 李杨
地址: 100191 北京市海淀区知春路7号致真大厦D座13层1301
优先权:
专利代理机构: 北京润平知识产权代理有限公司 11283 代理人: 罗攀;肖冰滨
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201611138487.5

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.23|||2017.05.31

法律状态类型:

实质审查的生效|||公开

摘要

太阳城集团本公开太阳城集团一种脚本调用方法及指令调试装置,所述方法应用在指令调试装置上,所述指令调试装置包括软件运行模块与文件管理模块,软件运行模块与文件管理模块之间架设有消息队列,所述方法包括:软件运行模块通过消息队列发送调用请求消息,调用请求消息用于请求调用待调用脚本,包括待调用脚本属性参数;文件管理模块通过所述消息队列接收所述调用请求消息,以获取待调用脚本的属性参数;以及文件管理模块根据待调用脚本的属性参数调用待调用脚本。通过本公开,待调用文件的进程不再依赖于软件运行模块的进程,而由文件管理模块管理待调用文件的进程,达到了软件运行模块与文件管理模块解耦和的目的,同时其使得调用太阳城集团传递更为优化。

权利要求书

1.一种脚本调用方法,其特征在于,所述方法应用在指令调试装置上,所述指令调试装
置包括软件运行模块与文件管理模块,所述软件运行模块与所述文件管理模块之间架设有
消息队列,所述方法包括:
所述软件运行模块通过所述消息队列发送调用请求消息,所述调用请求消息用于请求
调用待调用脚本,包括所述待调用脚本属性参数;
所述文件管理模块通过所述消息队列接收所述调用请求消息,以获取所述待调用脚本
的属性参数;以及
所述文件管理模块根据所述待调用脚本的属性参数调用所述待调用脚本。
2.根据权利要求1所述的方法,其特征在于,所述文件管理模块根据所述待调用脚本的
属性参数调用所述待调用脚本包括:
所述文件管理模块根据所述待调用脚本的属性参数匹配到对应的待调用脚本;
所述文件管理模块控制所述待调用脚本运行,以得到运行结果;以及
所述文件管理模块通过所述消息队列将所述运行结果发送给所述软件运行模块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述文件管理模块对所述待调用脚本的属性参数的合法性进行校验;以及
当所述待调用脚本的属性参数合法时,所述文件管理模块通过所述消息队列向所述软
件运行模块发送确认消息,以告知所述软件运行模块收到所述调用请求消息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述软件运行模块在发送调用请求消息时,记录所述调用请求消息的当前发送太阳城集团;
以及
所述软件运行模块在自所述当前发送太阳城集团起至第一预设太阳城集团阈值时,检验是否收到所
述确认消息,如果没有收到确认消息,则关闭对所述待调用脚本的调用请求。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述文件管理模块自控制所述待调用脚本运行起至得到所述待调用脚本的运行结果
止,每隔第二预设太阳城集团阈值定时地向所述软件运行模块发送状态太阳城集团,所述状态太阳城集团用于
表示所述文件管理模块的当前状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述文件管理模块在根据所述待调用脚本的属性参数调用所述待调用脚本之后,关闭
所述待调用脚本。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述消息队列为RabbitMQ。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述调用请求消息包括标识
符,所述标识符用于将当前调用请求区别于其他任一调用请求。
9.一种指令调试装置,其特征在于,所述指令调试装置包括软件运行模块与文件管理
模块,其中,
所述软件运行模块与所述文件管理模块之间架设有消息队列;
所述软件运行模块被配置为通过所述消息队列发送调用请求消息,所述调用请求消息
用于请求调用待调用脚本,包括所述待调用脚本属性参数;
所述文件管理模块被配置为通过所述消息队列接收所述调用请求消息,以获取所述待
调用脚本的属性参数,以及根据所述待调用脚本的属性参数调用所述待调用脚本。
10.根据权利要求9所述的指令调试装置,其特征在于,所述消息队列为RabbitMQ。

说明书

脚本调用方法及指令调试装置

技术领域

本公开涉及计算机技术领域,具体地,涉及一种脚本调用方法及指令调试装置。

背景技术

nodejs作为一种适用于前后端编程的软件运行平台,已经广泛应用于各种类型的
软件产品中。nodejs近年来才逐渐进入中国软件领域,作为一种相比C、Java语言来讲比较
新的编程软件环境,nodejs由于其无阻塞I/O及事件驱动,可以方便地搭建易于扩展、响应
速度快的软件产品/软硬件产品。

目前,nodejs是利用子进程来调用系统命令或者文件,例如,使用子进程调用
python脚本、shell脚本等。子进程调用的方式虽然比较直接,但系统命令或者文件的运行
与子进程之间的耦合性较大。nodejs对子进程间的调度及管理较为困难,从而导致系统命
令或文件的运行灵活性差。

发明内容

为克服相关技术中存在的问题,本公开提供一种脚本调用方法及指令调试装置。

根据本公开实施例的第一方面,提供一种脚本调用方法,所述方法应用在指令调
试装置上,所述指令调试装置包括软件运行模块与文件管理模块,所述软件运行模块与所
述文件管理模块之间架设有消息队列,所述方法包括:所述软件运行模块通过所述消息队
列发送调用请求消息,所述调用请求消息用于请求调用待调用脚本,包括所述待调用脚本
属性参数;所述文件管理模块通过所述消息队列接收所述调用请求消息,以获取所述待调
用脚本的属性参数;以及所述文件管理模块根据所述待调用脚本的属性参数调用所述待调
用脚本。

根据本公开实施例的第二方面,提供一种指令调试装置,所述指令调试装置包括
软件运行模块与文件管理模块,其中,所述软件运行模块与所述文件管理模块之间架设有
消息队列;所述软件运行模块被配置为通过所述消息队列发送调用请求消息,所述调用请
求消息用于请求调用待调用脚本,包括所述待调用脚本属性参数;所述文件管理模块被配
置为通过所述消息队列接收所述调用请求消息,以获取所述待调用脚本的属性参数,以及
根据所述待调用脚本的属性参数调用所述待调用脚本。

本公开的实施例提供的技术方案可以包括以下有益效果:通过在软件运行模块与
文件管理模块之间建立消息队列传输机制,软件运行模块通过消息传输的方式发送文件调
用太阳城集团,文件管理模块基于文件调用太阳城集团调取对应的文件(或者脚本),并控制其执行相应
的动作,因此,待调用文件的进程不再依赖于软件运行模块的进程,而由文件管理模块管理
待调用文件的进程,达到了软件运行模块与文件管理模块解耦和的目的,同时其使得调用
太阳城集团传递更为优化,且返回值的接收方式更为灵活。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具
体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种指令调试装置的示意性结构框图。

图2是根据另一示例性实施例示出的一种指令调试装置的示意性结构框图;

图3是根据一示例性实施例示出的一种脚本调用方法的流程图;

图4是根据另一示例性实施例示出的一种脚本调用方法的流程图;

图5是根据另一示例性实施例示出的一种脚本调用方法的流程图;

图6是根据另一示例性实施例示出的一种脚本调用方法的流程图;

图7是根据另一示例性实施例示出的一种脚本调用方法的流程图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及
附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附
权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

相关技术中,软件运行环境运行软件程序时,都是通过子进程的方式调用系统命
令或者文件,例如,通过子进程调用脚本(脚本是使用一种特定的描述性语言,依据一定的
格式编写的可执行文件,又称作宏或批处理文件)。

本公开提供一种新的脚本调用方法,可以在软件运行环境(或者软件运行框架,例
如一种Javascript运行环境nodejs)在调用系统命令或文件时应用。在本公开实施例中,可
以在软件运行环境端与待调用文件(或命令)管理端建立消息队列机制,使两端可以通过消
息队列进行通信,传输消息,进而实现软件运行环境对待调用文件(或命令)的调用。其中,
软件运行环境可以包括但不限于nodejs、VC++(Microsoft Visual C++,为C、C++等语言开
发工具)、JDK(Java Development Kit,称为Java开发包或Java开发工具)等,待调用文件管
理端可以包括但不限于python脚本文件管理端(例如,可以包括多个python脚本)、shell脚
本文件管理端(例如,可以包括多个shell脚本)。

需要说明的是,在后续实施例中,将软件运行环境端统称为“软件运行模块”,待调
用文件管理端统称为“文件管理模块”,将“软件运行模块”和“文件管理模块”所处的共同装
置统称为“指令调试装置”。以及,为了清楚、简洁地描述本公开技术方案,后续实施例将以
nodejs调用python脚本为例进行描述,本领域技术人员可以理解,这些描述仅为示例性的,
而不会对本公开造成限制。

以下将结合附图对本公开提供的一种脚本调用方法和指令调试装置的具体实施
方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,
并不用于限制本公开。

图1是根据一示例性实施例示出的一种指令调试装置的示意性结构框图。

如图1所示,本公开实施例提供的一种指令调试装置100,其可以包括软件运行模
块110与文件管理模块120,软件运行模块110与文件管理模块120之间架设有消息队列。

其中,软件运行模块110被配置为可以通过消息队列发送调用请求消息,调用请求
消息用于请求调用待调用脚本,包括有待调用脚本属性参数。文件管理模块120被配置为可
以通过消息队列接收软件运行模块110发出的调用请求消息,以获取待调用脚本的属性参
数,并根据待调用脚本的属性参数调用待调用脚本。在一些实施例中,指令调试装置100可
以是功能、性能等较单独的软件运行模块110或文件管理模块120更为完善的软件环境,也
可以是包括有软件运行模块110和文件管理模块120,且能够运行软件运行模块110和文件
管理模块120的软件系统,或者是包括有软件运行模块110和文件管理模块120,且能够运行
软件运行模块110和文件管理模块120的、具有数据处理能力的微处理器,还可以是包括有
前述微处理器的计算机设备。本公开对指令调试装置100的具体存在形式不作限制。

软件运行模块110可以包括但不限于nodejs、VC++(Microsoft Visual C++,为C、C
++等语言开发工具)、JDK(Java Development Kit,称为Java开发包或Java开发工具)等软
件开发工具(或者软件开发平台)。

文件管理模块120可以包括但不限于用于管理python脚本文件的软件模块或者软
件平台(示例性地,可以为python的开发环境或开发工具,且可以存储有多个python脚本,
例如,存储有多个.py结尾的文件)、用于管理shell脚本文件的软件模块或者软件平台(示
例性地,可以为shell脚本的一种开发工具eclipse,可以存储有多个shell脚本,例如,存储
有多个.sh结尾的文件)。

示例性地,软件运行模块110与文件管理模块120之间的消息队列可以包括但不限
于ActiveMQ、ZeroMQ、RabbitMQ等。而由于RabbitMQ是用erlang语言开发的、流行的开源消
息队列系统,作为AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的标准
实现,其支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、
STOMP等,支持AJAX,持久化。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用
性等方面表现不俗。因此,在本公开实施例中,将消息队列为RabbitMQ作为优选方案。

在本公开一些实施例中,软件运行模块110和文件管理模块120可以根据自身的功
能特性等,选择不同的类库、函数等实现消息队列。下面仍以nodejs和python脚本开发工具
为例。

图2是根据另一示例性实施例示出的一种指令调试装置的示意性结构框图。如图2
所示,可在nodejs端设置amqplib模块,在python脚本开发工具端设置pika模块,从而可在
amqplib模块与pika模块之间形成例如RabbitMQ消息队列。Nodejs端可通过amqplib模块发
送和接收消息队列中的消息。Nodejs端在添加了amqplib模块之后,对python脚本开发工具
端的脚本的调用会统一使用消息方式,而不需要采用子进程调用。python脚本开发工具端
可通过pika模块发送和接收消息队列中的消息。python脚本开发工具端在添加了pika模块
之后,可以由本端管理脚本进程,而不需要通过Nodejs端启动进程进行管理,并且在将脚本
进程结果传回Nodejs端时,也可统一使用消息的方式。

amqplib模块与pika模块都是本领域技术人员使用的开源第三方控件,在本公开
实施例中,实现消息队列不限于使用这两种控件,能够实现消息队列的控件、且能够满足对
应软件或者平台(例如,nodejs和python脚本开发工具)的应用或安装条件即可。RabbitMQ
消息队列是轻量级消息队列系统,遵循开源协议,同样可以替换为支持消息收发的其他消
息队列系统。需要说明的是,替换amqplib模块或者pika模块,甚至是RabbitMQ消息队列都
不会对系统产生影响,系统所需的只是消息队列的通信方式。

本公开实施例通过在软件运行模块与文件管理模块之间建立消息队列传输机制,
软件运行模块通过消息传输的方式发送文件调用太阳城集团,文件管理模块基于文件调用太阳城集团调
取对应的文件(或者脚本),并控制其执行相应的动作,再通过消息传输方式将执行结果返
回给软件运行模块,因此,待调用文件的进程不再依赖于软件运行模块的进程,而由文件管
理模块管理待调用文件的进程,达到了软件运行模块与文件管理模块解耦和的目的,同时
其使得调用太阳城集团传递更为优化,且返回值的接收方式更为灵活。

此外,本公开实施例还提供了一种脚本调用方法,该方法可以应用于指令调试装
置100上。下面将结合附图,对本公开一实施例的一种脚本调用方法进行详细描述。

图3是根据一示例性实施例示出的一种脚本调用方法的流程图。

如图3所示,一种脚本调用方法,应用在指令调试装置上,指令调试装置包括软件
运行模块与文件管理模块,软件运行模块与文件管理模块之间架设有消息队列,该方法包
括如下步骤:

步骤310,软件运行模块通过消息队列发送调用请求消息,其中,调用请求消息用
于请求调用待调用脚本,可以包括待调用脚本的属性参数。

待调用脚本的属性参数可以包括但不限于待调用脚本的脚本名称、功能名称、需
要对待调用脚本执行的动作对应的标识、自用户输入的针对待调用脚本的自定义参数等。

根据本公开一实施例,调用请求消息还可以包括标识符,标识符用于将当前调用
请求区别于其他任一调用请求。通过在调用请求消息中标注标识符,在同时又多个调用请
求发出的情况下,可以将各个调用请求区别开,以在后续处理中避免混乱,保障调用结果的
准确性和时效性。

在本步骤中,以nodejs为例,nodejs可以将调用请求消息发送至消息队列,以等待
对端(例如,文件管理模块)从消息队列取调用请求消息。示例性地,采用消息队列
RabbitMQ,其中的Exchange(即消息交换机)可以指定调用请求消息按什么规则,路由到哪
个队列,例如,可以通过RabbitMQ中的Exchange指定调用请求消息路由到用于与文件管理
模块进行消息通信的队列中,以供文件管理模块从该队列中获取调用请求消息。

步骤320,文件管理模块通过消息队列接收调用请求消息,以获得待调用脚本的属
性参数。

文件管理模块可以从消息队列中获取调用请求消息。示例性地,文件管理模块可
以监听消息队列中的消息状态,当有新的消息进入消息队列时,从消息队列中获取该新的
消息。或者将文件管理模块设置为消息队列的持久化的订阅消费者,消息生产者(例如,软
件运行模块)产生的新消息进入消息队列后,将该新消息主动推送给订阅消费者,即文件管
理模块。

步骤330,文件管理模块根据待调用脚本的属性参数调用待调用脚本。

根据本公开一实施例,在本步骤中,文件管理模块可以根据在步骤220中获取的待
调用脚本的属性参数查找对应的脚本,并控制与属性参数中相适应的脚本运行,进一步地,
将脚本运行的结果通过消息队列返回给软件运行模块,从而实现脚本调用。下面仍以
nodejs和python脚本开发工具为例。

图4是根据另一示例性实施例示出的一种脚本调用方法的流程图。如图4所示,脚
本调用方法包括:nodejs发送调用请求消息,调用请求消息可以包含所请求调用的python
脚本的脚本名称、所需执行的动作及相关参数(可以是自用户输入的自定义参数);以及
python脚本开发工具接收调用请求消息,控制所请求调用的python脚本按照相关参数执行
动作,并将执行的结果通过消息返回给nodejs。

通过消息队列的通信方式,在软件运行模块调用文件(或者脚本)时,将文件的属
性参数通过消息发送给文件管理模块。文件管理模块接收到消息之后,可管理对应文件(或
者脚本)的运行进程,脱离了软件运行模块对文件运行进程的控制,使软件运行模块更关注
业务逻辑而无须操作进程调度。

此外,在传递参数方面,软件运行模块可以更加灵活地将需要的参数通过消息封
装传递给文件管理模块,以进行后续进程组合处理,使得软件运行模块和文件管理模块的
接口更加灵活,有效地传递参数。

以及在脚本调用方面,文件管理模块控制文件(或者脚本)运行后,通过消息将运
行结果反馈给nodejs,可以更加方便的封装返回结果,而且可以多次发送运行结果或运行
中的消息,保障消息的实时性,进而保障后续进程的时效性。

图5是根据一示例性实施例示出的一种脚本调用方法的流程图。

如图5所示,本公开实施例提供的一种脚本调用方法,应用在指令调试装置上,指
令调试装置包括软件运行模块与文件管理模块,软件运行模块与所述文件管理模块之间架
设有消息队列,该方法可以包括如下步骤:

步骤510,软件管理运行模块通过消息队列发送调用请求消息,其中,调用请求消
息用于请求调用待调用脚本,可以包括待调用脚本的属性参数。

本步骤与前述实施例中的步骤310的原理、实现方式、技术效果等均一致,为了简
洁,在此不再赘述。

步骤520,文件管理模块通过消息队列接收调用请求消息,以获取待调用脚本的属
性参数。

本步骤与前述实施例中的步骤320的原理、实现方式、技术效果均一致,为了简洁,
在此不再赘述。

步骤530,文件管理模块对所待调用脚本的属性参数的合法性进行校验。

在本步骤中,例如可以对脚本名称、脚本功能名称等进行校验,示例性地,待调用
脚本为python脚本,则脚本名称需为.py结尾的文件名称才是合法的。

步骤540,文件管理模块确定所述待调用脚本的属性参数合法时,通过消息队列向
软件运行模块发送确认消息,以告知软件运行模块收到调用请求消息。

步骤550,文件管理模块根据待调用脚本的属性参数匹配到对应的待调用脚本。

在本步骤中,由于步骤540已确定待调用脚本的属性参数的合法,因此,在本步骤
可以根据例如脚本名称、脚本功能等查找到匹配的脚本。通过脚本名称、脚本功能等匹配查
找脚本,能够将脚本查找过程定向化,缩小查找范围,快速定位到需要调用的脚本。可以理
解,不限于实验脚本名称、脚本功能等定位需要调用的脚本,还可以根据脚本存储太阳城集团、脚
本更新太阳城集团等定位,本公开对此不作限制。

步骤560,文件管理模块控制待调用脚本运行,以得到运行结果。

在本步骤中,待调用脚本的属性参数还可以包括期望的执行动作、用户自定义的
运行参数等等,示例性地,可以基于期望的执行动作、用户自定义的运行参数等控制待调用
脚本运行,最终得到运行结果。

根据本公开一实施例,文件管理模块自控制待调用脚本运行时起至得到待调用脚
本的运行结果时止,每隔第二预设太阳城集团阈值可以定时地向软件运行模块发送状态太阳城集团,状
态太阳城集团用于表示文件管理模块的当前状态,例如,表示文件管理模块当前正常运行待调用
脚本的状态、表示文件管理模块已控制待调用脚本运行的进度状态(如,待调用脚本已运行
完成50%、待调用脚本已运行完成80%)。由于文件管理模块运行脚本可能需要花费较长时
间,例如10分钟,通过该实施例,文件管理模块在此期间可以定时(例如,每45秒)地向软件
运行模块发送状态太阳城集团,使软件运行模块掌握脚本运行的进度和状态,避免软件运行模块
由于长太阳城集团未接到文件管理模块的响应而关闭调用请求,保障脚本调用的有效性和时效
性。

步骤570,文件管理模块通过消息队列将运行结果发送给软件运行模块。

文件管理模块通过消息队列发送运行结果的实现方式,可以参考软件运行模块发
送消息、传递消息的方式,其原理相同,在此不再赘述。

步骤580,文件管理模块关闭待调用脚本的运行。

在本步骤中,文件管理模块可以通过标注结束标识符的方式结束脚本调用流程,
例如,可以以completed=true作为结束标识符,结束调用流程,关闭待调用脚本。进一步
地,将太阳城集团该调用请求的消息挪出消息队列。

根据本公开一实施例,在步骤510后,软件运行模块可以记录调用请求消息的当前
发送太阳城集团,以及在自当前发送太阳城集团起至第一预设太阳城集团阈值时,检验是否收到确认消息,如果
没有收到确认消息,则关闭对待调用脚本的调用请求。示例性地,设当前发送太阳城集团为12:00:
00,第一预设太阳城集团阈值为15秒,若软件运行模块在12:00:15时未收到文件管理模块发送的
确认消息时,则软件运行模块将关闭本次调用请求,并将本次调用请求相关的消息挪出消
息队列。基于该实施例,能够保障调用请求中消息的时效性,以及避免无效的调用请求的消
息占用队列,影响其他消息的传输,保障消息传输的稳定性和有效性。可以理解的是,第一
预设太阳城集团阈值仅为示例性的,而不限定为15秒,具体可以根据实际应用需求设定。

下面将结合图6和图7所示的脚本调用方法中的软件运行模块和文件管理模块的
消息传输示例进一步说明。

图6是根据另一示例性实施例示出的一种脚本调用方法的流程图。如图6所示,软
件运行模块(例如,nodejs)可在发送调用请求消息之后,记录以下太阳城集团中的一者或多者:请
求的发起太阳城集团、请求的名称及状态,记录请求的名称及状态可防止发送重复请求。

调用请求消息可包含用于对本次调用请求进行标识的唯一标识符,该唯一标识符
用于在同时有多个请求的情况下,对一组或单个请求进行标识,与同时进行的其他请求相
区分。

文件管理模块(例如,python脚本开发工具)在接收到调用请求消息之后,可校验
所请求的脚本或功能名称。如果脚本或功能名称是合法的,则校验请求动作与其相关参数
(例如,其他可自定义的参数)。在上述所请求的特定脚本的名称、所请求执行的动作及相关
参数均合法的情况下,文件管理模块可以发送确认消息给软件运行模块。上述流程会在规
定的太阳城集团内(例如,15秒以内)完成,以确保消息的时效性。当超过一定太阳城集团后,软件运行模
块仍未收到文件管理模块端的确认消息,则可以关闭此次调用请求,进一步地,即使之后文
件管理模块端发送确认消息,软件运行模块也会过滤该确认消息。

文件管理模块在发送确认消息之后,可以根据调用请求消息中的待调用脚本的属
性参数控制对应的脚本运行。并在运行结束后,可以将运行结果通过消息返回给软件运行
模块。

文件管理模块在脚本运行的结束时,可以以例如completed=true作为标识符来
结束全部的流程。进一步地,文件管理模块可以关闭脚本,并且将与本次调用请求相关的消
息挪出消息队列。而软件运行模块在接收到运行结果后,可以标记本次调用请求结束,例如
以completed=true作为结束标识符,并将与本次调用请求相关的消息挪出消息队列。

图7是根据另一示例性实施例示出的一种脚本调用方法的流程图。区别于图6中的
实施例,在图7所示的实施例中,在软件运行模块端设置有太阳城集团轮询机制,示例性地,软件运
行模块端发起调用请求时,基于太阳城集团轮询机制,软件运行模块可以记录发起请求的当前时
间,并第一预设太阳城集团阈值内(例如,15秒)校验是否收到文件管理模块端的返回的确认消息。
如果超过该太阳城集团阈值没有收到确认消息,则本次调用请求无效,软件运行模块可以从消息
队列中删除调用请求消息。

另一实施例,软件运行模块在太阳城集团轮询机制的基础上增设了对于文件管理模块的
存活校验机制。软件运行模块在执行待调用脚本时,可能会出现运行太阳城集团较长的情况(例如
10分钟),可以基于太阳城集团轮询机制和存活的校验机制,可以每隔预定太阳城集团(第二预设太阳城集团阈
值,例如,45秒)去校验文件管理模块端的运行状态,文件管理模块端可以在此期间主动或
被动地发送状态太阳城集团给软件运行模块,例如,可以是在接收到软件运行模块发送存活询问
消息时发送状态太阳城集团,也可以是到底第二预设太阳城集团阈值时主动发送状态太阳城集团。

在一些实施例中,可以在软件运行模块和文件管理模块均设置相同的太阳城集团轮询机
制,从而可以保证软件运行模块和文件管理模块两端的时序一致性。例如,python开发工具
端在接收到调用请求消息之后,可检测其在预定太阳城集团(例如,15秒)之内是否发送了确认消
息给nodejs,如果没有发送,则其可结束运行python脚本,因为此时nodejs可能已经关闭本
次调用请求。另外,python亦可检测其是否在预定太阳城集团间隔内发送了一反映该python脚本
的运行状态的状态消息至nodejs,如果没有,则其也可结束运行python脚本,因为此时
nodejs可能已经关闭本次调用请求。应用该实施例,可以节省开发资源,避免无效调用。

综上所述,本公开提供的脚本调用方法和指令调试装置,可以达到以下几个目的:

1.通过在软件运行模块和文件管理模块之间建立消息队列通信,达到软件运行模
块与文件管理模块之间解耦和的目的;

2.通过在软件运行模块和文件管理模块之间建立消息队列通信,脚本运行进程依
赖于文件管理模块端,即脚本本身的运行环境,而无需软件运行模块端管理其进程,即无需
调用端管理,使脚本运行更顺利,可以避免不同程序运行或者调试环境之间不兼容等问题;

3.通过在软件运行模块和文件管理模块之间建立消息队列通信,通过消息的方式
进行调用参数和调用结果的传递,保障调用参数、调用结果的传输有效性,以及传输和接收
方式更加灵活;

4.可以通过消息队列对调用请求中的消息进行统一管理。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过
程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一
个(可以是单片机,芯片等)或处理器(processor)执行本公开各个实施例所述方法的全部
或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only
Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程
序代码的介质。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实
施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简
单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛
盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可
能的组合方式不再另行说明。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的
权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

关 键 词:
脚本 调用 方法 指令 调试 装置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:脚本调用方法及指令调试装置.pdf
链接地址:http://zh228.com/p-6019738.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');