公共网关接口程序监测方法及装置与流程

文档序号:23426116发布日期:2020-12-25 11:56阅读:128来源:国知局
公共网关接口程序监测方法及装置与流程

本公开涉及计算机信息处理领域,具体而言,涉及一种公共网关接口程序监测方法、装置、电子设备及计算机可读介质。



背景技术:

随着网络逐渐壮大以及网络设备的日益发展成熟,过去仅支持通过命令行管理的网络设备,如今逐渐嵌入web形式的网络代理端以方便管理员的控制和管理。

用户通过浏览器输入地址访问设备web页面与设备的交互步骤如下:

1、浏览器发送请求到设备。

2、设备web服务器接收到请求。

3、web服务器将请求报文发送给后台cgi程序处理。

4、后台cgi程序将处理结果发送给web服务器。

5、web服务器将处理结果发送到浏览器。

6、浏览器将接收到的处理结果解析并显示在界面上。

由以上浏览器与设备之间的交互过程可知,在整个交互过程真正处理请求报文的是网络设备上的后台cgi程序,如果cgi程序出现异常导致死循环了,则会导致用户不能正常管理网络设备。因此网络设备需要一种可以检测cgi程序是否死循环且能够将死循环的cgi程序恢复正常的一种方法。

在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

有鉴于此,本公开提供一种公共网关接口程序监测方法、装置、电子设备及计算机可读介质,能够监测公共网关接口程序是否死循环且能够将死循环的公共网关接口程序恢复正常,填补现有技术中的空白。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一方面,提出一种公共网关接口程序监测方法,该方法包括:基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;在超出阈值时,退出所述目标公共网关接口程序。

在本公开的一种示例性实施例中,还包括:在系统内核中建立所述预设数组,所述预设数组包括公共网关接口程序的进程号、进程状态、开始时间。

在本公开的一种示例性实施例中,基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理之前,还包括:监听网络服务器端口以获取用户由浏览器发送的所述请求报文。

在本公开的一种示例性实施例中,将所述公共网关接口程序的进程号记录在预设数组中,还包括:获取所述目标公共网关接口程序开始处理所述请求报文的开始时间;将所述开始时间记录在所述预设数组中;将所述预设数组中所述目标公共网关接口程序的进程状态设置为有效。

在本公开的一种示例性实施例中,将所述预设数组中所述目标公共网关接口程序的进程状态设置为有效,包括:建立公共网关接口程序白名单,所述白名单中包括请求报文的统一资源定位器地址;当所述请求报文在白名单中时,将所述预设数组中所述请求报文对应的所述目标公共网关接口程序的进程状态设置为无效。

在本公开的一种示例性实施例中,监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组,包括:在所述目标公共网关接口程序处理完所述请求报文时,将所述预设数组中所述目标公共网关接口程序的进程状态设置为无效。

在本公开的一种示例性实施例中,基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值,包括:建立内核线程,所述内核线程定期遍历所述预设数组中的信息;根据所述信息判断所述目标公共网关接口程序的处理时间是否超出阈值。

在本公开的一种示例性实施例中,所述内核线程定期遍历所述预设数组中的信息,包括:所述内核线程定期读取所述预设数组中的多个公共网关接口程序的进程状态;在进程状态为有效时,所述内核线程读取所述公共网关接口程序对应的开始时间。

在本公开的一种示例性实施例中,在超出阈值时,退出所述目标公共网关接口程序,包括:所述预设数组中的所述目标公共网关接口程序的处理时间超出阈值时,生成内核退出程序;基于所述内核退出程序中断所述目标公共网关接口程序。

在本公开的一种示例性实施例中,所述预设数组中的所述目标公共网关接口程序的处理时间超出阈值时,还包括:将当前时间和所述开始时间进行比较,生成所述处理时间。

根据本公开的一方面,提出一种公共网关接口程序监测装置,该装置包括:请求模块,用于基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;记录模块,用于将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;监测模块,用于监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;判断模块,用于基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;退出模块,用于在超出阈值时,退出所述目标公共网关接口程序。

根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。

根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。

根据本公开的公共网关接口程序监测方法、装置、电子设备及计算机可读介质,基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;在超出阈值时,退出所述目标公共网关接口程序的方式,能够监测公共网关接口程序是否死循环且能够将死循环的公共网关接口程序恢复正常,填补现有技术中的空白。

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

附图说明

通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例示出的一种公共网关接口程序监测方法及装置的系统框图。

图2是根据一示例性实施例示出的一种公共网关接口程序监测方法的流程图。

图3是根据另一示例性实施例示出的一种公共网关接口程序监测方法的流程图。

图4是根据另一示例性实施例示出的一种公共网关接口程序监测方法的流程图。

图5是根据一示例性实施例示出的一种公共网关接口程序监测装置的框图。

图6是根据一示例性实施例示出的一种电子设备的框图。

图7是根据一示例性实施例示出的一种计算机可读介质的框图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。

本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。

本公开涉及到的技术缩略语解释如下:

url:url是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。在本文中url表示管理员操作设备时当前页面路径,管理员可以使用该url访问到相应的设备页面。

死循环:在编程中,一个靠自身控制无法终止的程序称为“死循环”。

cgi(commongatewayinterface,公共网关接口)是外部扩展应用程序与web服务器交互的一个标准接口。服务器端与客户端进行交互的常见方式中,cgi技术就是其中之一。根据cgi标准,编写外部扩展应用程序,可以对客户端浏览器输入的数据进行处理,完成客户端与服务器的交互操作。cgi规范定义了web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容。对于许多静态的html网页无法实现的功能,通过cgi可以实现,比如表单的处理、对数据库的访问、搜索引擎、基于web的数据库访问等等。

cgi程序:web服务器解析处理http/https请求报文的后台程序。

信号:在计算机科学中,信号是unix、类unix以及其他posix兼容的操作系统的进程之间通讯的一种有限制的方式。它是一种异步的通知机制,用来提醒进程一个事件已经发生。当一个信号发送给一个进程,操作系统中断了进程正常的控制流程,此时,任何非原子操作都将被中断。如果进程定义了信号的处理函数,那么它将被执行,否则就执行默认的处理函数。

数组:所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。数组是用于储存多个相同类型数据的集合。

pid:pid(processidentification)操作系统里指进程识别号,也就是进程标识符。操作系统里每打开一个程序都会创建一个进程id,即pid。

图1是根据一示例性实施例示出的一种公共网关接口程序监测方法、装置、电子设备及计算机可读介质的系统框图。

如图1所示,系统架构10可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所登陆的网关网页提供支持的后台管理服务器。后台管理服务器可以对接收到的网关命令等数据进行分析等处理,并将处理结果反馈给终端设备。

服务器105可例如基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;服务器105可例如将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;服务器105可例如监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;服务器105可例如基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;服务器105可例如在超出阈值时,退出所述目标公共网关接口程序。

服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的公共网关接口程序监测方法可以由服务器105执行,相应地,公共网关接口程序监测装置可以设置于服务器105中。而提供给用户提出请求报文的网页端一般位于终端设备101、102、103中。

图2是根据一示例性实施例示出的一种公共网关接口程序监测方法的流程图。公共网关接口程序监测方法20至少包括步骤s202至s210。

如图2所示,在s202中,基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理。通常网络设备的web服务器分为代理服务器和cgi程序。其中,代理服务器负责监听http、https等web服务端口,代理服务器负责直接接收用户由浏览器客户端发送过来的请求报文,代理服务器将请求报文转发给cgi程序,cgi程序请求报文。

通常cgi程序是由代理服务器启动的子进程,并且代理服务器会检测如果cgi程序不存在了,会自动重新启动新的cgi程序。且通常为了提高网络设备web服务器的并发处理请求能力,代理服务器会同时启动多个cgi程序(可以通过修改代理服务器配置设置可以启动多少个cgi程序)。

其中,基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理之前,还包括:监听网络服务器端口以获取用户由浏览器发送的所述请求报文。

在s204中,将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息。

在一个实施例中,还包括:获取所述目标公共网关接口程序开始处理所述请求报文的开始时间;将所述开始时间记录在所述预设数组中;将所述预设数组中所述目标公共网关接口程序的进程状态设置为有效。

更进一步的,可在内核中定义一个长度为n的数组,n为后台cgi程序的个数,数组用来保存cgi程序相关信息,其中包括cgi程序的进程号(即pid号)、进程状态state(1和0分别表示cgi程序开始处理请求和cgi处理请求完成,默认state为0)、时间time(表示cgi程序开始处理请求的时间点)。

在一个实施例中,代理服务器在启动cgi程序的时候,将cgi程序的pid号保存到内核数组中到可用的位置。内核数组初始pid默认都是0,而pid号是从1开始的。因此如果内核数组pid为0则表示该位置可用,如果内核数组pid不为0,则判断这个内核数组pid对应的程序是否存在,若存在则继续找下一个,若不存在即表示该位置可用。

在s206中,监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组。包括:在所述目标公共网关接口程序处理完所述请求报文时,将所述预设数组中所述目标公共网关接口程序的进程状态设置为无效。

cgi程序在开始处理请求时,根据当前程序的pid将内核数组中的state设置为有效(具体数值可为1,即开始处理请求),且将内核数组中的time更新为当前系统时间。cgi程序在结束处理请求时,根据当前程序的pid将内核数组中的state设置为无效(具体数值可为0,即结束处理请求)。

在s208中,基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值。包括:建立内核线程,所述内核线程定期遍历所述预设数组中的信息;根据所述信息判断所述目标公共网关接口程序的处理时间是否超出阈值。

其中,所述内核线程定期遍历所述预设数组中的信息,包括:所述内核线程定期读取所述预设数组中的多个公共网关接口程序的进程状态;在进程状态为有效时,所述内核线程读取所述公共网关接口程序对应的开始时间。

在一个实施例中,还包括:将当前时间和所述开始时间进行比较,生成所述处理时间。

在一个实施例中,可例如在内核线程中建立一个内核线程,该内核线程用于周期性(假设周期为time_t,根据系统性能可以调整)的遍历检查内核数组,判断当前state为1的程序,处理请求耗时是否超过一定的阈值t(当前系统时间current_time-开始处理请求时间time=处理请求耗时)。通常用户请求都会很快处理完成,一般也就耗时1秒-5秒。而cgi程序因为处理请求导致死循环则会永远不会自动走到处理请求结束的流程,因此假设此处阈值t为30秒,若内核线程检测到某个cgi处理请求耗时超过阈值t,则可以认为当前cgi程序处于死循环的不正常状态。

在s210中,在超出阈值时,退出所述目标公共网关接口程序。包括:所述预设数组中的所述目标公共网关接口程序的处理时间超出阈值时,生成内核退出程序;基于所述内核退出程序中断所述目标公共网关接口程序。

更具体的,在内核检测程序检测到cgi程序处于死循环状态时,则发送内核程序退出信号让cgi程序退出,代理服务器检测到cgi程序退出后会自动重新启动新的cgi程序。这样就可以保证所有启动的cgi程序避免处于死循环状态导致网络设备的web服务处于不可用状态。

根据本公开的公共网关接口程序监测方法,基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;在超出阈值时,退出所述目标公共网关接口程序的方式,能够监测公共网关接口程序是否死循环且能够将死循环的公共网关接口程序恢复正常,填补现有技术中的空白。

应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。

图3是根据另一示例性实施例示出的一种公共网关接口程序监测方法的流程图。图3所示的流程30是对图2所示的流程中s204“将所述目标公共网关接口程序的进程号记录在预设数组中”的详细描述。

如图3所示,在s302中,获取所述目标公共网关接口程序开始处理所述请求报文的开始时间。

在s304中,将所述开始时间记录在所述预设数组中。

在s306中,将所述预设数组中所述目标公共网关接口程序的进程状态设置为有效。

在s308中,建立公共网关接口程序白名单,所述白名单中包括请求报文的统一资源定位器地址。

在s310中,当所述请求报文在白名单中时,将所述预设数组中所述请求报文对应的所述目标公共网关接口程序的进程状态设置为无效。

为了解决某些特殊请求耗时有可能大于阈值t的情况,内核线程误以为cgi程序死循环的情况。比如导入软件版本、导入大量配置等请求耗时会有可能大于设置的判定死循环的阈值t。可以在cgi程序开始处理请求时增加一个白名单过滤,即当根据请求报文的url是否在白名单里面,判断是否需要设置开始处理请求的state标记。即当请求报文url在白名单里面,则不设置state为1,内核线程只会判断state为1的程序是否死循环。因此可以避免内核线程将一些处理耗时长的正常请求误判断为死循环。

图4是根据另一示例性实施例示出的一种公共网关接口程序监测方法的流程图。图4所示的流程40是对图2所示的流程的详细描述。

如图4所示,在s401中,代理程序启动cgi程序。

在s402中,设置内核数组pid信息。

在s403中,cgi程序接收到请求报文。

在s404中,检查请求报文的url是否在白名单中。

在s405中,更新预设数组中的对应状态为有效,并更新开始时间。

在s406中,cgi程序结束处理请求,更新预设数组中的对应状态为无效。

在s407中,启动内核线程。

在s408中,周期性的监测预设数组。

在s409中,遍历预设数组,计算处于有效状态的cgi程序的处理时间。

在s410中,处理时间超过阈值。

在s411中,发送内核退出程序,以使得cgi程序退出。

在本公开的公共网关接口程序监测方法中,通过新增内核数组保存cgi程序pid、开始处理请求/结束处理请求标记、开始处理请求时间点,通过以上信息能够在后续处理过程性对cgi程序的状态进行快速判断。

在本公开的公共网关接口程序监测方法中,通过新增内核线程周期性的遍历内核数组,能够在cgi程序处理请求耗时,根据预设的时间阈值判断是否死循环。

在本公开的公共网关接口程序监测方法中,还设置请求报文url白名单,cgi程序根据请求报文是否在url白名单里面判断是否需要设置开始处理请求时间点,避免内核线程误判断死循环。

本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。

图5是根据一示例性实施例示出的一种公共网关接口程序监测装置的框图。如图5所示,公共网关接口程序监测装置50包括:请求模块502,记录模块504,监测模块506,判断模块508,退出模块510。数组公共网关接口程序监测装置50还可包括:数组模块512。

请求模块502用于基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;

记录模块504用于将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;记录模块504还用于获取所述目标公共网关接口程序开始处理所述请求报文的开始时间;将所述开始时间记录在所述预设数组中;将所述预设数组中所述目标公共网关接口程序的进程状态设置为有效。

监测模块506用于监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;监测模块506还用于在所述目标公共网关接口程序处理完所述请求报文时,将所述预设数组中所述目标公共网关接口程序的进程状态设置为无效。

判断模块508用于基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;判断模块508还用于建立内核线程,所述内核线程定期遍历所述预设数组中的信息;根据所述信息判断所述目标公共网关接口程序的处理时间是否超出阈值。判断模块508还用于将当前时间和所述开始时间进行比较,生成所述处理时间;

退出模块510用于在超出阈值时,退出所述目标公共网关接口程序。退出模块510还用于在所述预设数组中的所述目标公共网关接口程序的处理时间超出阈值时,生成内核退出程序;基于所述内核退出程序中断所述目标公共网关接口程序。

数组模块512用于在系统内核中建立所述预设数组,所述预设数组包括公共网关接口程序的进程号、进程状态、开始时间。

根据本公开的公共网关接口程序监测装置,基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;在超出阈值时,退出所述目标公共网关接口程序的方式,能够监测公共网关接口程序是否死循环且能够将死循环的公共网关接口程序恢复正常,填补现有技术中的空白。

图6是根据一示例性实施例示出的一种电子设备的框图。

下面参照图6来描述根据本公开的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图2,图3,图4中所示的步骤。

所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。

所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备600也可以与一个或多个外部设备600’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备600交互的设备通信,和/或该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图7所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。

所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:基于请求报文调用多个公共网关接口程序中的目标公共网关接口程序进行处理;将所述目标公共网关接口程序的进程号记录在预设数组中,所述预设数组用于记录多个公共网关接口程序的信息;监测所述目标公共网关接口程序的处理过程以实时更新所述预设数组;基于所述预设数组中的信息判断所述目标公共网关接口程序的处理时间是否超出阈值;在超出阈值时,退出所述目标公共网关接口程序。

本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。

以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1