CN109739666A - 单例方法的跨进程调用方法、装置、设备及存储介质 - Google Patents
单例方法的跨进程调用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109739666A CN109739666A CN201910020180.2A CN201910020180A CN109739666A CN 109739666 A CN109739666 A CN 109739666A CN 201910020180 A CN201910020180 A CN 201910020180A CN 109739666 A CN109739666 A CN 109739666A
- Authority
- CN
- China
- Prior art keywords
- calling
- singleton
- called
- calling process
- proxy
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种单例方法的跨进程调用方法、装置、设备及存储介质。其中,方法包括:调用进程通过动态代理,模拟与被调用进程相同的代理对象;所述调用进程通过代理对象调用所述被调用进程中的单例方法。本发明实施例中,由于代理对象与被调用进程相同,让***误以为是被调用进程在调用单例方法,并不会感知到单例被其它进程调用,不影响单例模式的运行,从而巧妙实现单例方法的跨进程调用。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种单例方法的跨进程调用方法、装置、设备及存储介质。
背景技术
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证***中,一个类只有一个对象实例。许多时候,整个***只需要拥有一个的全局对象即可,有利于协调***整体的行为。
但是,单例设计模式有局限:只能在一个进程内生效,但项目开发中又难免会出现开启多个进程的情况。然而,现有的单例设计模式不支持跨进程调用,即其它进程不能调用本进程中的单例方法,降低了开发效率。
发明内容
本发明实施例提供一种单例方法的跨进程调用方法、装置、设备及存储介质,以实现单例方法的跨进程调用。
第一方面,本发明实施例提供了一种单例方法的跨进程调用方法,包括:
调用进程通过动态代理,模拟与被调用进程相同的代理对象;
所述调用进程通过代理对象调用所述被调用进程中的单例方法。
第二方面,本发明实施例还提供了一种单例方法的跨进程调用装置,应用于调用进程,包括:
模拟模块,用于通过动态代理,模拟与被调用进程相同的代理对象;
调用模块,用于通过代理对象调用所述被调用进程中的单例方法。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一实施例所述的单例方法的跨进程调用方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如任一实施例所述的单例方法的跨进程调用方法。
本发明实施例中,通过动态代理模拟与被调用进程相同的代理对象,并通过代理对象调用单例方法,而正是由于代理对象与被调用进程相同,让***误以为是被调用进程在调用单例方法,并不会感知到单例被其它进程调用,不影响单例模式的运行,从而巧妙实现单例方法的跨进程调用。
附图说明
图1是本发明实施例一提供的一种单例方法的跨进程调用方法的流程图;
图2a是本发明实施例二提供的一种单例方法的跨进程调用方法的流程图;
图2b是本发明实施例二提供的一种通过Binder连接池进行进程间通信的示意图;
图3是本发明实施例三提供的一种单例方法的跨进程调用装置的结构示意图;
图4是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种单例方法的跨进程调用方法的流程图,本实施例可适用于单例模式下,跨进程调用情况,可应用于采用Java语言实现的平台,不限于Android***。该方法可以由单例方法的跨进程调用装置来执行,该装置可以由硬件和/或软件构成,并一般集成在电子设备中。
本实施例中,单例方法的跨进程调用装置应用于调用进程,调用进程需要调用被调用进程中的单例方法,可选地,调用进程和被调用进程可以同时位于客户端或者服务端,也可以分别位于客户端和服务端,此处不作限定。由于单例的作用域仅在于被调用进程中,无法实现其它进程的跨进程调用,本实施例通过动态代理的方式实现跨进程单例方法的调用,且不依赖于Android接口定义语言(Android Interface Definition Language,AIDL)。结合图1,本实施例提供的方法具体包括如下操作:
S110、调用进程通过动态代理,模拟与被调用进程相同的代理对象。
S120、所述调用进程通过代理对象调用所述被调用进程中的单例方法。
代理类在程序运行时创建的代理方式被成为动态代理,动态代理中的代理类并不是在Java代码中定义的,而是在运行时根据预设在Java代码中的“指示”动态生成的。
可选地,在Java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口,通过这个类和这个接口可以生成动态代理类和代理对象。具体而言,通过Proxy类的newProxyInstances方法创建代理对象,该代理对象与被调用进程(被代理对象)相同。
目前,代理模式是常用的Java设计模式,特征是代理类与委托类有同样的接口,基于此,预先声明调用进程和被调用进程的进程间通信接口,例如IUserManager。进程间通信接口通过单例方法实现。
调用进程通过动态代理根据进程间通信接口,模拟与被调用进程相同的代理对象。由于实现了进程间通信接口,并持有代理对象,该代理对象可以代理被调用进程去调用单例方法。
在单例模式下,只有单例所在的被调用进程能够调用该单例方法,其它进程不可以调用该单例方法。本发明实施例中,通过动态代理模拟与被调用进程相同的代理对象,并通过代理对象调用单例方法,而正是由于代理对象与被调用进程相同,让***误以为是被调用进程在调用单例方法,并不会感知到单例被其它进程调用,不影响单例模式的运行,从而巧妙实现单例方法的跨进程调用。
进一步地,本实施例通过依赖进程间通信接口,实现代理对象的模拟,而不依赖于AIDL,适用的平台不限于Android,还包括采用Java语言编写的其它平台,应用场景更加广泛。
实施例二
图2a是本发明实施例二提供的一种单例方法的跨进程调用方法的流程图。本实施例对上述实施例的各可选实施方式进一步优化。本实施例限定了通过代理对象调用单例方法的参数传递过程。结合图2a,本实施例提供的方法包括以下操作:
S210、所述调用进程通过动态代理根据进程间通信接口,模拟与被调用进程相同的代理对象。
S220、所述调用进程调用所述进程间通信接口方法时,使用所述动态代理对接口调用进行挂钩。
调用进程通过调用进程间通信接口实现单例方法的调用,调用参数为单例方法的请求参数。动态代理对接口调用进行挂钩Hook,在调用进程发起调用的时候使用动态代理(如InvocationHandler)的invoke中的方法替换掉原有的接口调用方法,实现接口调用的拦截。进一步,在invoke中添加自定义的操作,比如打印日志,实现应用层级的hook,从而对invoke方法进行扩展,这样在不改变原有实现类的情况下增强了原有类的功能,符合开闭原则。
S230、调用进程通过所述代理对象向所述被调用进程传递请求参数,以供所述被调用进程根据所述请求参数调用所述单例方法,并将调用结果返回至所述动态代理。
请求参数例如为单例方法中的地址、姓名等参数。可选地,调用进程通过所述代理对象在动态代理(如InvocationHandler)的invoke方法中与所述被调用进程进行进程间通信(Inter-Process Communication,IPC),并通过IPC向所述被调用进程传递请求参数。被调用进程根据请求参数调用单例方法,并通过IPC向动态代理返回调用结果。
可选地,在调用进程通过所述代理对象在动态代理的invoke方法中与所述被调用进程进行进程间通信之前,还需要建立调用进程与被调用进程之间的跨进程通信通道,具体通过AIDL实现IPC通信通道。考虑到调用进程中可能存在多个模块需要调用被调用进程中的单例方法,为了管理方便,在被调用进程中设置组件(Binder)连接池,被调用进程利用一个Binder连接池来管理所有Binder,只需要管理BinderPoolMannager连接池即可,这样就能实现一个service管理多个Binder,为不同的模块返回不同的Binder,以实现进程间通讯。
结合图2b,在实现Binder连接池时,在调用进程的每个模块中新建AIDL文件,新建对应的Java类实现AIDL通信接口。在被调用进程中,建立BinderPoolService,然后实现Binder连接池,再通过binderCode来确定返回各模块所需的Binder对象。接下就是实现上述接口,具体地,新建一个BinderPool.java的class,选择在BinderPool内部新建一个内部类来继承IBinderPool.Stub并实现queryBinder方法。
在使用Binder连接池进行进程间通信时,所述调用进程向所述被调用进程提供调用进程中模块的唯一标识,以供所述被调用进程根据Binder连接池返回所述模块对应的Binder对象;调用进程中所述模块根据所述Binder对象,得到服务接口,并使用所述服务接口提供的方法实现进程间通信。
可选地,在Android平台中,进程间通信仅支持字符串,不支持其他数据类型。为了使进程间通信能够支持多种数据类型,本实施例中,调用进程通过所述代理对象将请求参数转换为第一字符串,并向所述被调用进程传递所述第一字符串。这样,由于请求参数统一转换为第一字符串,使得请求参数本身能够支持多种数据类型。
S240、调用进程从所述动态代理获取所述调用结果。
同理地,为了使进程间通信能够支持多种数据类型,所述调用进程通过所述代理对象将所述调用结果转换为第二字符串,并获取所述第二字符串。值得说明的是,为了方面描述和区分,将请求参数转换为的字符串称为第一字符串,将调用结果转换为的字符串称为第二字符串。
调用进程从动态代理获取第二字符串后,将第二字符串序列化为对应的对象(bean)。至此,调用进程通过动态代理实现了跨进程单例方法的调用。
本实施例中,调用进程调用所述进程间通信接口方法时,使用所述动态代理对接口调用进行挂钩,通过所述代理对象向所述被调用进程传递请求参数,并从所述动态代理获取所述调用结果,从而代理对象通过传递请求参数,实现单例方法的调用;通过Binder连接池实现调用进程中多个模块的调用,提升了***性能,简化了进程通信,提升开发效率;通过将请求参数和返回结果转换为字符串,使得进程间通信支持多种数据类型,应用范围广泛。
在上述各实施例的各可选实施方式中,由于单例模式需要确保某一个类只有一个实例,而且自行实例化并向整个***提供这个实例,当需要多次提供这个实例时,就需要多次实例化。为了减少实例化次数,提升***性能,被调用进程预先将本地的单例通过IPC缓存在缓冲池中,以便其它进程进行调用,而被调用进程只需调用本地的单例即可。这样只需要在缓冲池中实例化一次即可。基于此,调用进程通过代理对象调用所述被调用进程中的单例方法,包括:所述调用进程通过代理对象从被调用进程的缓冲池中调用单例方法。
上述实施例提供的单例方法的跨进程调用操作中,接口耗时严重,当***主线程执行了上述耗时操作时,容易出现程序未响应(application not responding,ANR)。基于此,将上述各实施例提供的各操作均放入子线程中调用,并由线程池统一管理,各操作包括但不限于模拟与被调用进程相同的代理对象的操作;通过动态代理传递请求参数并接收调用结果的操作、转换字符串的操作、根据Binder线程池实现跨进程通信通道的操作。进一步,通过同步工具类保证子线程之间的相关同步操作。同步工具类包括但不限于CountDownLatch、Semaphore、CycleBarrier等。本实施例通过将操作放入子线程调用,解决了AIDL通信中耗时接口导致的ANR问题。
实施例三
图3是本发明实施例三提供的一种单例方法的跨进程调用装置的结构示意图。本实施例可适用于单例模式下,跨进程调用情况,单例方法的跨进程调用装置应用于调用进程。结合图3,本实施例提供的装置包括:模拟模块31,调用模块32。
模拟模块31,用于通过动态代理,模拟与被调用进程相同的代理对象;
调用模块32,用于通过代理对象调用所述被调用进程中的单例方法。
本发明实施例中,通过动态代理模拟与被调用进程相同的代理对象,并通过代理对象调用单例方法,而正是由于代理对象与被调用进程相同,让***误以为是被调用进程在调用单例方法,并不会感知到单例被其它进程调用,不影响单例模式的运行,从而巧妙实现单例方法的跨进程调用。
进一步地,本实施例通过依赖进程间通信接口,实现代理对象的模拟,而不依赖于AIDL,适用的平台不限于Android,还包括采用Java语言编写的其它平台,应用场景更加广泛。
可选地,模拟模块31在通过动态代理,模拟与被调用进程相同的代理对象时,具体用于:通过动态代理根据进程间通信接口,模拟与被调用进程相同的代理对象;其中,所述进程间通信接口是所述调用进程与所述被调用进程的通信接口。
可选地,调用模块32在通过代理对象调用所述被调用进程中的单例方法时,具体用于:调用所述进程间通信接口方法时,使用所述动态代理对接口调用进行挂钩;通过所述代理对象向所述被调用进程传递请求参数,以供所述被调用进程根据所述请求参数调用所述单例方法,并将调用结果返回至所述动态代理;从所述动态代理获取所述调用结果。
可选地,调用模块32在通过所述代理对象向所述被调用进程传递请求参数时,具体用于:通过所述代理对象在动态代理的invoke方法中与所述被调用进程进行进程间通信IPC,并通过IPC向所述被调用进程传递请求参数。
可选地,该装置还包括通信实现模块,用于在通过所述代理对象在动态代理的invoke方法中与所述被调用进程进行进程间通信之前,向所述被调用进程提供调用进程中模块的唯一标识,以供所述被调用进程根据组件Binder连接池返回所述模块对应的Binder对象;调用进程中模块根据所述Binder对象,得到服务接口,并使用所述服务接口提供的方法实现进程间通信。
可选地,调用模块32在通过所述代理对象向所述被调用进程传递请求参数时,具体用于:通过所述代理对象将请求参数转换为第一字符串,并向所述被调用进程传递所述第一字符串。相应地,调用模块32在从所述动态代理获取所述调用结果时,具体用于:通过所述代理对象将所述调用结果转换为第二字符串,并获取所述第二字符串。
可选地,调用模块32在通过代理对象调用所述被调用进程中的单例方法时,具体用于:通过代理对象从被调用进程的缓冲池中调用单例方法。
本发明实施例所提供的单例方法的跨进程调用装置可执行本发明任意实施例所提供的单例方法的跨进程调用方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种电子设备的结构示意图,如图4所示,该电子设备包括处理器40、存储器41;电子设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;电子设备中的处理器40、存储器41可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的单例方法的跨进程调用方法对应的程序指令/模块(例如,单例方法的跨进程调用装置中的模拟模块31,调用模块32)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的单例方法的跨进程调用方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例五
本发明实施例五还提供一种其上存储有计算机程序的计算机可读存储介质,该计算机程序在由计算机处理器执行时用于执行一种单例方法的跨进程调用方法,该方法包括:
调用进程通过动态代理,模拟与被调用进程相同的代理对象;
所述调用进程通过代理对象调用所述被调用进程中的单例方法。
当然,本发明实施例所提供的一种其上存储有计算机程序的计算机可读存储介质,该计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的单例方法的跨进程调用方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述单例方法的跨进程调用装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种单例方法的跨进程调用方法,其特征在于,包括:
调用进程通过动态代理,模拟与被调用进程相同的代理对象;
所述调用进程通过代理对象调用所述被调用进程中的单例方法。
2.根据权利要求1所述的方法,其特征在于,所述调用进程通过动态代理,模拟与被调用进程相同的代理对象,包括:
所述调用进程通过动态代理根据进程间通信接口,模拟与被调用进程相同的代理对象;
其中,所述进程间通信接口是所述调用进程与所述被调用进程的通信接口。
3.根据权利要求2所述的方法,其特征在于,所述调用进程通过代理对象调用所述被调用进程中的单例方法,包括:
所述调用进程调用所述进程间通信接口方法时,使用所述动态代理对接口调用进行挂钩;
所述调用进程通过所述代理对象向所述被调用进程传递请求参数,以供所述被调用进程根据所述请求参数调用所述单例方法,并将调用结果返回至所述动态代理;
所述调用进程从所述动态代理获取所述调用结果。
4.根据权利要求3所述的方法,其特征在于,所述调用进程通过所述代理对象向所述被调用进程传递请求参数,包括:
所述调用进程通过所述代理对象在动态代理的invoke方法中与所述被调用进程进行进程间通信IPC,并通过IPC向所述被调用进程传递请求参数。
5.根据权利要求4所述的方法,其特征在于,在所述调用进程通过所述代理对象在动态代理的invoke方法中与所述被调用进程进行进程间通信之前,还包括:
所述调用进程向所述被调用进程提供调用进程中模块的唯一标识,以供所述被调用进程根据组件Binder连接池返回所述模块对应的Binder对象;
所述调用进程中所述模块根据所述Binder对象,得到服务接口,并使用所述服务接口提供的方法实现进程间通信。
6.根据权利要求3所述的方法,其特征在于,所述调用进程通过所述代理对象向所述被调用进程传递请求参数,包括:
所述调用进程通过所述代理对象将请求参数转换为第一字符串,并向所述被调用进程传递所述第一字符串;
所述调用进程从所述动态代理获取所述调用结果,包括:
所述调用进程通过所述代理对象将所述调用结果转换为第二字符串,并获取所述第二字符串。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述调用进程通过代理对象调用所述被调用进程中的单例方法,包括:
所述调用进程通过代理对象从被调用进程的缓冲池中调用单例方法。
8.一种单例方法的跨进程调用装置,其特征在于,应用于调用进程,包括:
模拟模块,用于通过动态代理,模拟与被调用进程相同的代理对象;
调用模块,用于通过代理对象调用所述被调用进程中的单例方法。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的单例方法的跨进程调用方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的单例方法的跨进程调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910020180.2A CN109739666A (zh) | 2019-01-09 | 2019-01-09 | 单例方法的跨进程调用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910020180.2A CN109739666A (zh) | 2019-01-09 | 2019-01-09 | 单例方法的跨进程调用方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739666A true CN109739666A (zh) | 2019-05-10 |
Family
ID=66364147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910020180.2A Pending CN109739666A (zh) | 2019-01-09 | 2019-01-09 | 单例方法的跨进程调用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739666A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377438A (zh) * | 2019-07-22 | 2019-10-25 | 广州小鹏汽车科技有限公司 | 跨进程通信接口的路由方法、装置和*** |
CN110532045A (zh) * | 2019-09-04 | 2019-12-03 | 深圳市迅雷网络技术有限公司 | 一种跨进程调用方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027871A1 (en) * | 2003-06-05 | 2005-02-03 | William Bradley | Interoperable systems and methods for peer-to-peer service orchestration |
CN108536487A (zh) * | 2018-04-12 | 2018-09-14 | 珠海横琴盛达兆业科技投资有限公司 | 一种基于Android平台简洁、高效的加载服务器数据的Get请求方法 |
-
2019
- 2019-01-09 CN CN201910020180.2A patent/CN109739666A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050027871A1 (en) * | 2003-06-05 | 2005-02-03 | William Bradley | Interoperable systems and methods for peer-to-peer service orchestration |
CN108536487A (zh) * | 2018-04-12 | 2018-09-14 | 珠海横琴盛达兆业科技投资有限公司 | 一种基于Android平台简洁、高效的加载服务器数据的Get请求方法 |
Non-Patent Citations (2)
Title |
---|
XIAOFEI-IT: ""Hermes"", 《HTTPS://GITHUB.COM/XIAOFEI-IT/HERMES》 * |
月色下的独轮车: ""Binder连接池的实现步骤"", 《HTTPS://BLOG.CSDN.NET/BAIDU_31093133/ARTICLE/DETAILS/51755227》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377438A (zh) * | 2019-07-22 | 2019-10-25 | 广州小鹏汽车科技有限公司 | 跨进程通信接口的路由方法、装置和*** |
CN110532045A (zh) * | 2019-09-04 | 2019-12-03 | 深圳市迅雷网络技术有限公司 | 一种跨进程调用方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7530081B2 (en) | System for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service | |
US9235495B2 (en) | Method and system that provides an interactive debugging session | |
CN110716748B (zh) | 业务处理方法、装置、计算机可读介质及电子设备 | |
CN104821954B (zh) | 一种跨平台远程过程调用方法 | |
CN112329945A (zh) | 一种模型部署及推理的方法和装置 | |
US20230153158A1 (en) | Method, apparatus, system, and storage medium for performing eda task | |
CN113722020B (zh) | 接口调用方法、装置和计算机可读存储介质 | |
CN111818194A (zh) | 基于域名的访问***和方法 | |
CN109739666A (zh) | 单例方法的跨进程调用方法、装置、设备及存储介质 | |
CN113760543A (zh) | 资源管理方法、装置、电子设备及计算机可读存储介质 | |
EP4293498A1 (en) | Application modification method, and system, cluster, medium and program product | |
CN114006815B (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
CN113204425A (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
US20230171179A1 (en) | Method for testing pressure, electronic device and storage medium | |
WO2021097683A1 (zh) | 安卓***启动的方法、装置、设备及存储介质 | |
CN110705191A (zh) | 一种多形态模拟仿真验证环境的构建方法 | |
CN109597611A (zh) | 前端数据流控制组件开发***、方法、设备及存储介质 | |
CN115509531A (zh) | 基于前端技术的微前端实现方法、装置、终端及存储介质 | |
Wu et al. | An automatic artificial intelligence training platform based on kubernetes | |
CN114816672A (zh) | 虚拟机的创建方法、装置、电子设备和存储介质 | |
CN114064218A (zh) | 用于机器学习组件中的镜像生成方法、***、介质及应用 | |
Wood et al. | Triton: a domain specific language for cyber-physical systems | |
CN108073389A (zh) | 一种基于脚本语言的引擎*** | |
CN113708971A (zh) | 一种Openstack云平台的部署方法及相关装置 | |
CN107015837A (zh) | 一种软件包自动化安装与配置方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |