CN106844062B - 一种在C++与Python模块间实现实时双向协助的通信方法 - Google Patents

一种在C++与Python模块间实现实时双向协助的通信方法 Download PDF

Info

Publication number
CN106844062B
CN106844062B CN201611202438.3A CN201611202438A CN106844062B CN 106844062 B CN106844062 B CN 106844062B CN 201611202438 A CN201611202438 A CN 201611202438A CN 106844062 B CN106844062 B CN 106844062B
Authority
CN
China
Prior art keywords
module
python
socket
server
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201611202438.3A
Other languages
English (en)
Other versions
CN106844062A (zh
Inventor
陈棋江
郭旸
蔡夫鸿
何赛灵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Normal University
Original Assignee
South China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China Normal University filed Critical South China Normal University
Priority to CN201611202438.3A priority Critical patent/CN106844062B/zh
Publication of CN106844062A publication Critical patent/CN106844062A/zh
Application granted granted Critical
Publication of CN106844062B publication Critical patent/CN106844062B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种在C++与Python模块间实现实时双向协助的通信方法,该方法通过利用socket实现了通信的实时性,将C++模块作为服务端,Python模块作为客户端,从而实现了通信的双向性,并且客户端可以创建多个socket,使得Python模块与C++模块的交互更加灵活;同时,利用多线程技术实现了通信的协助性,Python模块的主线程用来接收C++模块的命令请求,Python模块的子线程用来处理相应的命令请求,而C++模块接收到这些命令请求后,根据预定义的命令处理表做出相应的处理。本发明的方法实现了C++模块和Python模块之间的相互的灵活调用,避免了使用SWIG来实现Python模块调用C++模块所带来的额外工作,可以大大提高程序的开发效率,适用于程序开发、测试等领域。

Description

一种在C++与Python模块间实现实时双向协助的通信方法
技术领域
本发明属于计算机应用程序转换研究领域,特别涉及一种在C++与Python模块间实现实时双向协助的通信方法。
背景技术
目前,由于C++支持面向对象机制、泛型编程机制、异常处理、运算符重载,具有成熟可靠高效的标准模板库(STL),并且开发的程序执行效率高,所以C++被广泛地应用于计算机应用程序的开发。另外,Python是一种面向对象、解释型的计算机程序设计语言,它具有语法简单、跨平台、公用库多等特点,因此Python也得到了广泛的使用。但是,C++和Python均存在一定的缺点,例如C++语言本身复杂,学习周期比较长,公用库没有Python的公用库多,而Python是一门解释性语言,执行效率没有C++开发的程序高。通过Python的公用库,可灵活的获得大量的数据信息;将信息传递给C++程序,能具有更高的数据处理效率。
就目前的技术而言,C++能够单方面地调用Python功能模块,但是Python却不能单方面、直接地调用C++功能模块,Python可以通过间接的方法调用C++模块,但是这种间接调用是需要利用SWIG或者boost将C++功能模块封装为可以被Python调用的功能模块,这就增加了额外的工作量,不利于应用程序的开发。
因此,如果提供一种能够在C++功能模块和Python功能模块之间进行实时双向协助的通信方法,将大大提高程序开发的周期,具有重要的研究意义。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种在C++与Python模块间实现实时双向协助的通信方法,该方法能够将C++的高效执行效率和Python的高效开发效率结合起来,大大地提高程序的开发效率,具有实时性、双向性、协助性和灵活性的优点。
本发明的目的通过以下的技术方案实现:一种在C++与Python模块间实现实时双向协助的通信方法,包括步骤:
(1)初始化阶段:将C++模块设定为服务端,Python模块设定为客户端,在C++模块内创建若干个socket实例;在Python模块内创建若干个socket实例,其中一个socket实例位于主线程,其中若干个socket实例位于子线程,C++模块和Python模块之间的通信通过socket实现,同时在服务端预定义一对应Python模块反馈信息的命令处理表;
(2)在Python模块里面,位于主线程的socket实例实时接收C++模块的命令请求,并在接收到命令请求后唤醒相应的子线程,位于子线程的socket实例对命令请求做出处理;如果处理过程中需要做出信息反馈或者调用C++内某功能模块,则通过socket实例发送反馈信息到C++模块,否则子线程继续等待下次被唤醒;
(3)C++模块接收到上述反馈信息后,根据命令处理表做出响应;如果在做出响应过程中需要做出信息反馈或调用Python内某功能模块,则返回重复执行步骤(2),否则处理结束,结束二者之间的通信;
(4)利用守护进程对服务端以及客户端进行状态监控,分别注册两个服务处理函数,用以对服务端和客户端的状态进行监控以及处理。
本发明的方法实现了C++模块和Python模块之间的相互的灵活调用,避免了使用SWIG来实现Python模块调用C++模块所带来的额外工作。
优选的,所述Python模块内创建有两个socket实例,一个socket实例位于主线程,用于接收C++模块的命令请求,另一个socket用于向C++模块做出信息反馈,其可嵌入到主线程外的任意需要反馈信息的函数里面。
更进一步的,对于Python模块,当位于主线程的socket实例还没有接收到命令请求时,该socket处于等待状态,子线程也处于等待状态,子线程的等待利用threading模块的Condition类来实现。
优选的,所述Python模块中socket实例发送或者接收的命令请求都是按照预定义格式的字符串,对于Python模块的socket接收的命令的格式是:“类名;函数名”或者“类名;函数名;字符串实参”。
更进一步的,在Python模块里面,子线程通过调用getattr()函数来进行命令处理,对于命令格式为“类名;函数名”的命令,其调用方式是getattr(object,name)(),对于命令格式为“类名;函数名;字符串实参”的命令,其调用方式是getattr(object,name)(param),其中object是类的实例,name是对应类的实例的成员函数,param是调用函数所需要的参数。
更进一步的,所述类的实例object是预先添加到字典类型里面的,并且该字典是一个全局类型的字典,其键-值的类型是:类名的字符串-对应类的实例。
更进一步的,Python模块的socket接收的命令利用了Queue模块里面的Queue类来装载的。
优选的,所述C++模块中socket实例发送或者接收的命令请求都是按照预定义格式的字符串,对于C++模块的socket接收的命令的格式是:“操作标识符;”或者“操作标识符;字符串实参”。
优选的,所述预定义的对应Python模块反馈信息的命令处理表相当于switch-case的条件分支处理模块,不同的条件分支对应着预定义的不同的处理函数段,根据命令的不同而选择不同的处理函数段。
优选的,所述的守护进程是利用服务以及服务控制管理器来实现,处理步骤如下:
(4-1)将服务端和客户端创建为服务,将这两个服务与服务控制管理器关联,服务控制管理器对这两个服务的状态进行实时监控;
(4-2)分别设置服务端和客户端的服务处理函数;
(4-3)当服务控制管理器发现服务的状态发生改变的时候,会把对应的服务状态传输给对应的服务,并触发相应的服务处理函数。
守护进程是为了解决发现问题和异常处理问题的进程,分别的处理过程是:
对于发现问题的进程,当客户端请求开启服务端,在客户端中设置相应的服务状态,服务控制管理器检测到状态发生了改变,就触发服务端的服务处理函数,从而开启服务端;
对于异常处理问题的进程,服务控制管理器进行如下处理:
a、自定义相关的服务状态值,这些值是一些异常状态值;
b、对于服务端有可能发生异常的地方以及相关的异常处理块用try-catch括起来;
c、当发生异常的时候,会触发catch内部的代码,在catch内部代码中,设置上述的异常状态值;
d、服务控制管理器检测到这些异常状态值,会触发服务端的服务处理函数,在这个函数内部做相应的异常处理。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明通过利用socket实现了通信的实时性,将C++模块作为服务端,Python模块作为客户端,能够在C++功能模块和Python功能模块之间建立实时的通信机制,并且这种通信是双向的,C++模块能够向Python模块传递信息,同时Python模块也可以向C++模块传递信息,能够将C++的高效执行效率和Python的高效开发效率结合起来,大大地提高了程序的开发效率。
2、本发明能够在客户端多创建几个socket,以满足不同的信息反馈的需求,使得Python模块与C++模块的交互更加灵活。
3、本发明利用多线程技术实现了通信的协助性,Python模块的主线程用来接收C++模块的命令请求,Python模块的子线程用来处理相应的命令请求,而C++模块接收到这些命令请求后,根据预定义的命令处理表做出相应的处理,能够使得程序更加稳定
4、本发明的方法实现了C++模块和Python模块之间的相互的灵活调用,避免了使用SWIG来实现Python模块调用C++模块所带来的额外工作。
5、本发明通过利用守护进程对服务端和客户端的状态进行监控,解决了发现问题以及异常处理问题,提高了模块之间的可靠性。
附图说明
图1是本发明方法的运作流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例一种在C++与Python模块间实现实时双向协助的通信方法中,将C++模块设定为服务端,Python模块设定为客户端,二者内部均创建有socket实例,之间的通信通过socket实现,二者之间的状态监控是通过守护进程实现的,下面对服务端、客户端以及守护进程的工作流程分别进行具体说明。
服务端:
即C++模块,只创建一个socket,而且命令的接收和发送都位于主线程,命令的处理也位于主线程中,服务端的socket创建以及相关处理步骤如下:
1、创建一个socket实例,绑定端口号,绑定处理函数function1,设置处理标记为接入标记,也就是当Python模块请求接入的时候,处理函数function1将会调用;
2、当Python模块请求接入,步骤1的处理函数将被调用,在该处理函数里面,接受Python模块的请求接入,并且绑定另一个处理函数function2,设置处理标记为输入标记和关闭标记,也就是当Python模块向C++模块发送输入命令或者请求关闭连接的时候,处理函数function2将会被调用;当Python模块没有请求接入的时候,处理函数function2等待Python模块的命令请求;
3、当Python模块请求接入的时候,步骤2的处理函数function2将会被调用,在处理函数function2内部预先定义了一个命令处理表,该命令处理表类似于条件分支的处理结构,判定函数根据请求命令的不同而做出不同的条件分支的选择,不同的条件分支对应着预定义的不同的处理函数段;
4、在步骤3里面的不同条件分支处理函数段里面,根据不同的需求,可以利用socket向Python模块发送信息反馈。
客户端:
即Python模块,内部创建了两个socket,一个socket位于主线程,用于接收C++模块发送的命令请求,另一个socket用于向C++模块反馈信息。对于位于主线程的socket以及子线程对命令的处理,其处理步骤如下:
1、主线程的socket位于一个处于无限循环的while循环中,并且调用socket的recv()函数,由于recv()函数是阻塞型的函数,也就是当recv()函数还没有接收到命令请求的时候,它会一直等待;
2、当主线程的socket接收到BREAK命令的时候,唤醒并退出子线程,同时也退出主线程,并关闭两个socket;
3、当主线程的socket接收到非BREAK命令的时候,将命令放入到类型为Queue的命令队列里面,并且唤醒子线程,让子线程从命令队列里面取出一个命令,并对这个命令进行处理;
4、子线程利用getattr()函数对命令的进行处理,其处理步骤如下:
1)以英文模式的分号“;”为分界线对命令进行分开;
2)判断被分开后命令的个数,如果命令个数为2个,则以getattr(object,name)()的调用形式处理该命令;如果命令的个数为3个,则以getattr(object,name)(param)的调用形式处理该命令,其中object是类的实例,也是被分开的命令的第一个命令,name是对应类的实例的成员函数,也是被分开的命令的第二个命令,param是调用函数所需要的参数,也是被分开的命令的第三个命令;
3)子线程在处理命令的时候,根据是否需要对C++模块进行反馈,可以利用另一个socket发送命令;
4)当子线程处理完命令后,继续等待下一条命令。
为了提高模块之间的稳定性,在客户端接收服务端发送过来的命令之前,设置一个传输监控功能,其实现原理如下:
1、在服务端与客户端之间设置一个共享状态变量;
2、在服务端准备向客户端发送命令之前,改变上述的共享状态变量;
3、在客户端中时刻检测共享状态变量,当发现共享状态变量被改变之后,等待一段时间,等待结束后,检测命令队列里面是否存在命令,如果不存命令,则要求服务端重新发送命令。
守护进程:
守护进程是为了解决发现问题和异常处理问题的进程,在Windows上是利用服务以及服务控制管理器(Service Control Manager)来实现,其处理步骤如下:
1、将服务端和客户端创建为服务,将这两个服务与服务控制管理器关联,服务控制管理器对这两个服务的状态进行实时监控;
2、分别设置服务端和客户端的服务处理函数;
3、当服务控制管理器发现服务的状态发生改变的时候,会把对应的服务状态传输给对应的服务,并触发相应的服务处理函数。
对于发现问题,当客户端请求开启服务端,在客户端中设置相应的服务状态,服务控制管理器检测到状态发生了改变,就会触发服务端的服务处理函数,从而开启服务端。
对于异常处理问题,服务控制管理器仍然可以触发服务处理函数,其处理步骤如下:
1、自定义相关的服务状态值,这些值是一些异常状态值;
2、对于服务端有可能发生异常的地方以及相关的异常处理块用try-catch括起来;
3、当发生异常的时候,会触发catch内部的代码,在catch内部代码中,设置上述的异常状态值;
4、服务控制管理器检测到这些异常状态值,会触发服务端的服务处理函数,在这个函数内部做相应的异常处理。
本实施例方法利用socket实现了通信的实时性,实现了C++模块和Python模块之间的相互的灵活调用,避免了使用SWIG来实现Python模块调用C++模块所带来的额外工作,在程序开发过程中,由于兼具了C++的高效执行效率和Python的高效开发效率,因此开发效率更高,可应用于软件开发设备、测试设备等场合。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种在C++与Python模块间实现实时双向协助的通信方法,其特征在于,包括步骤:
(1)初始化阶段:将C++模块设定为服务端,Python模块设定为客户端,在C++模块内创建若干个socket实例;在Python模块内创建若干个socket实例,其中一个socket实例位于主线程,其中若干个socket实例位于子线程,C++模块和Python模块之间的通信通过socket实现,同时在服务端预定义一对应Python模块反馈信息的命令处理表;
(2)在Python模块里面,位于主线程的socket实例实时接收C++模块的命令请求,并在接收到命令请求后唤醒相应的子线程,位于子线程的socket实例对命令请求做出处理;如果处理过程中需要做出信息反馈或者调用C++内某功能模块,则通过socket实例发送反馈信息到C++模块,否则子线程继续等待下次被唤醒;
(3)C++模块接收到上述反馈信息后,根据命令处理表做出响应;如果在做出响应过程中需要做出信息反馈或调用Python内某功能模块,则返回重复执行步骤(2),否则处理结束,结束二者之间的通信;
(4)利用守护进程对服务端以及客户端进行状态监控,分别注册两个服务处理函数,用以对服务端和客户端的状态进行监控以及处理。
2.根据权利要求1所述的通信方法,其特征在于,所述Python模块内创建有两个socket实例,一个socket实例位于主线程,用于接收C++模块的命令请求,另一个socket用于向C++模块做出信息反馈,其可嵌入到主线程外的任意需要反馈信息的函数里面。
3.根据权利要求2所述的通信方法,其特征在于,对于Python模块,当位于主线程的socket实例还没有接收到命令请求时,该socket处于等待状态,子线程也处于等待状态,子线程的等待利用threading模块的Condition类来实现。
4.根据权利要求3所述的通信方法,其特征在于,所述Python模块中socket实例发送或者接收的命令请求都是按照预定义格式的字符串,对于Python模块的socket接收的命令的格式是:“类名;函数名”或者“类名;函数名;字符串实参”。
5.根据权利要求4所述的通信方法,其特征在于,在Python模块里面,子线程通过调用getattr()函数来进行命令处理,对于命令格式为“类名;函数名”的命令,其调用方式是getattr(object,name)(),对于命令格式为“类名;函数名;字符串实参”的命令,其调用方式是getattr(object,name)(param),其中object是类的实例,name是对应类的实例的成员函数,param是调用函数所需要的参数。
6.根据权利要求5所述的通信方法,其特征在于,所述类的实例object是预先添加到字典类型里面的,并且该字典是一个全局类型的字典,其键-值的类型是:类名的字符串-对应类的实例。
7.根据权利要求2所述的通信方法,其特征在于,Python模块的socket接收的命令利用了Queue模块里面的Queue类来装载的。
8.根据权利要求1所述的通信方法,其特征在于,C++模块中socket实例发送或者接收的命令请求都是按照预定义格式的字符串,对于C++模块的socket接收的命令的格式是:“操作标识符;”或者“操作标识符;字符串实参”。
9.根据权利要求1所述的通信方法,其特征在于,所述预定义的对应Python模块反馈信息的命令处理表相当于switch-case的条件分支处理模块,不同的条件分支对应着预定义的不同的处理函数段,根据命令的不同而选择不同的处理函数段。
10.根据权利要求1所述的通信方法,其特征在于,所述的守护进程是利用服务以及服务控制管理器来实现,处理步骤如下:
(4-1)将服务端和客户端创建为服务,将这两个服务与服务控制管理器关联,服务控制管理器对这两个服务的状态进行实时监控;
(4-2)分别设置服务端和客户端的服务处理函数;
(4-3)当服务控制管理器发现服务的状态发生改变的时候,会把对应的服务状态传输给对应的服务,并触发相应的服务处理函数;
对于发现问题的进程,当客户端请求开启服务端,在客户端中设置相应的服务状态,服务控制管理器检测到状态发生了改变,就触发服务端的服务处理函数,从而开启服务端;
对于异常处理问题的进程,服务控制管理器进行如下处理:
a、自定义相关的服务状态值,这些值是一些异常状态值;
b、对于服务端有可能发生异常的地方以及相关的异常处理块用try-catch括起来;
c、当发生异常的时候,会触发catch内部的代码,在catch内部代码中,设置上述的异常状态值;
d、服务控制管理器检测到这些异常状态值,会触发服务端的服务处理函数,在这个函数内部做相应的异常处理。
CN201611202438.3A 2016-12-23 2016-12-23 一种在C++与Python模块间实现实时双向协助的通信方法 Expired - Fee Related CN106844062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611202438.3A CN106844062B (zh) 2016-12-23 2016-12-23 一种在C++与Python模块间实现实时双向协助的通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611202438.3A CN106844062B (zh) 2016-12-23 2016-12-23 一种在C++与Python模块间实现实时双向协助的通信方法

Publications (2)

Publication Number Publication Date
CN106844062A CN106844062A (zh) 2017-06-13
CN106844062B true CN106844062B (zh) 2019-06-18

Family

ID=59135671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611202438.3A Expired - Fee Related CN106844062B (zh) 2016-12-23 2016-12-23 一种在C++与Python模块间实现实时双向协助的通信方法

Country Status (1)

Country Link
CN (1) CN106844062B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729073A (zh) * 2017-09-22 2018-02-23 郑州云海信息技术有限公司 一种基于Python多进程库创建systemd服务的方法
CN109379337B (zh) * 2018-09-18 2021-01-26 四川长虹电器股份有限公司 一种安卓平台下应用进程的保活方法
CN113672402B (zh) * 2021-07-22 2024-06-04 杭州未名信科科技有限公司 一种基于Py4j服务的在线数据处理方法、装置、存储介质及终端
CN114301891B (zh) * 2021-12-27 2023-10-13 北京睿芯高通量科技有限公司 一种基于Python的Web服务和Socket客户端交互方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201773507U (zh) * 2010-04-30 2011-03-23 大连海事大学 一种基于c/c++及matlab软件的交互式教学实验系统
US8037202B2 (en) * 2002-10-31 2011-10-11 Oracle America, Inc. Presence detection using mobile agents in peer-to-peer networks
CN103312790A (zh) * 2013-05-20 2013-09-18 东莞中融电子科技有限公司 B/s模式下的客户机数据交互系统及方法
CN103595820A (zh) * 2013-11-28 2014-02-19 深圳英飞拓科技股份有限公司 嵌入式前端设备后台控制调试方法及装置
CN105573903A (zh) * 2014-10-11 2016-05-11 中兴通讯股份有限公司 一种自动化测试方法、装置、系统及访问代理
CN106095601A (zh) * 2016-06-16 2016-11-09 广东工业大学 一种多进程并发解算差分服务器系统及其实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9207982B2 (en) * 2012-10-11 2015-12-08 American Express Travel Related Services Company, Inc. Method and system for managing processing resources

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037202B2 (en) * 2002-10-31 2011-10-11 Oracle America, Inc. Presence detection using mobile agents in peer-to-peer networks
CN201773507U (zh) * 2010-04-30 2011-03-23 大连海事大学 一种基于c/c++及matlab软件的交互式教学实验系统
CN103312790A (zh) * 2013-05-20 2013-09-18 东莞中融电子科技有限公司 B/s模式下的客户机数据交互系统及方法
CN103595820A (zh) * 2013-11-28 2014-02-19 深圳英飞拓科技股份有限公司 嵌入式前端设备后台控制调试方法及装置
CN105573903A (zh) * 2014-10-11 2016-05-11 中兴通讯股份有限公司 一种自动化测试方法、装置、系统及访问代理
CN106095601A (zh) * 2016-06-16 2016-11-09 广东工业大学 一种多进程并发解算差分服务器系统及其实现方法

Also Published As

Publication number Publication date
CN106844062A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106844062B (zh) 一种在C++与Python模块间实现实时双向协助的通信方法
CN107210931B (zh) 控制基础架构
US7665064B2 (en) Systems and methods for web service function, definition, implementation, and/or execution
US20110231592A1 (en) Mashup Infrastructure with Learning Mechanism
CN107943577A (zh) 用于调度任务的方法和装置
CN109240688A (zh) 界面开发方法、电子装置及可读存储介质
CN106648816A (zh) 多线程处理系统及方法
CN105610819B (zh) 提供服务器信息的查询服务的方法和装置
CN103257852B (zh) 一种分布式应用系统的开发环境搭建的方法和装置
CN107622006B (zh) 移动装置测试系统和用于测试移动装置的方法
CN108984549A (zh) 一种基于动态配置数据库的分库分表数据抽取方法和装置
WO2018000878A1 (zh) 分布式任务处理方法和装置
CN110147397A (zh) 系统对接方法、装置、管理系统及终端设备、存储介质
CN109905263A (zh) 一种自动化运维部署系统
CN108920575A (zh) 基于动态感知的日志数据分析方法、装置及可读存储介质
CN104660435A (zh) 面向智能管道的事务型网管引擎及其网管事务处理方法
CN109995758A (zh) 数据并行处理方法及装置
WO2024169392A1 (zh) 开发方法、装置、电子设备和存储介质
CN110471716A (zh) 在OA系统中非嵌入式使用Office的方法
CN113157523B (zh) 服务监控方法、装置、计算机设备及存储介质
US20150227381A1 (en) Transmitting encapsulated snmp commands to virtual machines
CN104598250B (zh) 一种系统管理架构及其实现管理的方法
CN110297748A (zh) 一种定位调用出错的方法、装置和计算机可读存储介质
CN111797297B (zh) 页面数据处理方法、装置、计算机设备及存储介质
CN108881213A (zh) 基于内外网安全交互的jms实时消息服务系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190618

Termination date: 20201223