CN108021459B - 跨进程发送打点日志的方法及装置 - Google Patents
跨进程发送打点日志的方法及装置 Download PDFInfo
- Publication number
- CN108021459B CN108021459B CN201711248245.6A CN201711248245A CN108021459B CN 108021459 B CN108021459 B CN 108021459B CN 201711248245 A CN201711248245 A CN 201711248245A CN 108021459 B CN108021459 B CN 108021459B
- Authority
- CN
- China
- Prior art keywords
- cross
- communication connection
- data object
- process communication
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供了一种跨进程发送打点日志的方法及装置,其中方法包括:主进程先后基于AIDL Service组件和Content provider组件,分别请求建立与目标进程之间的第一跨进程通信连接和第二跨进程通信连接;主进程判断第二跨进程通信连接是否建立成功;若第二跨进程通信连接建立成功,则主进程通过第二跨进程通信连接向目标进程发送打点日志,否则,主进程判断第一跨进程通信连接是否建立成功;若第一跨进程通信连接建立成功,则主进程通过第一跨进程通信连接向目标进程发送打点日志。通过本申请实施例,能够在跨进程发送打点日志时,降低打点日志丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送可靠性。
Description
技术领域
本申请涉及日志处理技术领域,尤其涉及一种跨进程发送打点日志的方法及装置。
背景技术
在安卓系统下,应用程序的运营端为了解用户对其提供的应用程序的使用情况,通常会在应用程序的代码中插入打点事件(即插入一段代码),当应用程序在用户的操作下运行至打点事件处时,打点事件被触发,生成打点日志,应用程序将该打点日志发送至应用程序的运营端,应用程序的运营端分析打点日志即可获知用户使用应用程序的习惯,如何时启动应用程序,是否升级应用程序,何时退出应用程序等。
在应用程序内部,打点日志生成后,通常由生成打点日志的进程将打点日志发送至目标进程,由该目标进程将打点日志发送至应用程序的运营端或做进一步处理。其中,生成打点日志的进程将打点日志发送至目标进程的过程即为应用程序内部的跨进程通信。
目前主流推荐通过安卓系统中的AIDL(Android Interface DefinitionLanguage,Android接口定义语言)Service组件建立两个进程之间的通信关系,实现应用程序内部的跨进程通信。然而,由于通过AIDL Service组件建立两个进程之间的通信关系,是一个异步的过程,若生成打点日志的进程与目标进程之间的跨进程通信关系未在预设时间内建立成功,则生成打点日志的进程为保证运行效率会放弃本次日志发送,导致本次打点日志丢失。
目前还可以通过安卓系统中的Content Provider组件建立两个进程之间的通信关系,实现应用程序内部的跨进程通信。然而,由于Content Provider组件存在加载失败,导致跨进程通信关系建立失败的问题,因此通过Content Provider组件进行上述打点日志发送时,仍然存在一定的打点日志丢失率。
可见,通过现有技术中的方式跨进程发送打点日志时,存在一定的打点日志丢失率,打点日志发送的可靠性较低。
发明内容
本申请实施例的目的是提供一种跨进程发送打点日志的方法及装置,能够在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性。
为解决上述技术问题,本申请实施例是这样实现的:
本申请实施例提供了一种跨进程发送打点日志的方法,应用于主进程和目标进程之间,包括:
所述主进程先后基于Android接口定义语言AIDL Service组件和Contentprovider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
所述主进程判断所述第二跨进程通信连接是否建立成功;
若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
本申请还实施例提供了一种跨进程发送打点日志的装置,应用于主进程和目标进程之间,包括:
请求连接模块,用于所述主进程先后基于Android接口定义语言AIDL Service组件和Content provider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
判断模块,用于所述主进程判断所述第二跨进程通信连接是否建立成功;
第一发送模块,用于若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
第二发送模块,用于若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
本申请还实施例提供了一种跨进程发送打点日志的设备,包括:
处理器;以及被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下应用于主进程和目标进程之间的流程:
所述主进程先后基于Android接口定义语言AIDL Service组件和Contentprovider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
所述主进程判断所述第二跨进程通信连接是否建立成功;
若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现以下应用于主进程和目标进程之间的流程:
所述主进程先后基于Android接口定义语言AIDL Service组件和Contentprovider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
所述主进程判断所述第二跨进程通信连接是否建立成功;
若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
本申请实施例中的跨进程发送打点日志的方法及装置,将AIDL Service组件和Content Provider组件结合起来进行跨进程发送打点日志,首先利用Content Provider组件发送打点日志,如失败,则再利用AIDL Service组件发送打点日志,能够起到跨进程发送打点日志双保险的效果,从而在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性,解决通过现有技术中的方式跨进程发送打点日志时,存在一定的打点日志丢失率,打点日志发送的可靠性较低的问题。由于基于AIDL Service组件建立跨进程通信连接是异步过程,基于Content Provider组件建立跨进程通信连接是同步过程,因此本实施例中,先基于AIDL Service组件请求建立第一跨进程通信连接,后基于Content Provider组件请求建立第二跨进程通信连接,并先判断第二跨进程通信连接是否建立成功,后判断第一跨进程通信连接是否建立成功,能够为建立第一跨进程通信连接预留足够的时间,从而尽可能保证第一跨进程通信连接建立成功,提高打点日志发送的可靠性。本实施例中,由于将Content provider组件和AIDL Service组件结合起来进程跨进程发送打点日志,因此还克服了Content provider组件在某些场景下单独使用,如在Applition on Create方法场景下单独使用,可能存在的加载失败,跨进程通信失败的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的跨进程发送打点日志的场景示意图;
图2为本申请一实施例提供的跨进程发送打点日志的方法流程示意图;
图3为本申请另一实施例提供的跨进程发送打点日志的方法流程示意图;
图4为本申请一实施例提供的主进程基于AIDL Service组件向目标进程发送打点日志的流程示意图;
图5为本申请一实施例提供的主进程基于Content provider组件向目标进程发送打点日志的流程示意图;
图6为本申请一实施例提供的主进程向目标进程跨进程发送打点日志对应的通信结构图;
图7为本申请一实施例提供的跨进程发送打点日志的装置的模块组成示意图;
图8为本申请一实施例提供的跨进程发送打点日志的设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例的思想在于,将AIDL Service组件和Content Provider组件结合起来进行跨进程发送打点日志,首先利用Content Provider组件发送打点日志,如失败,则再利用AIDL Service组件发送打点日志,能够起到跨进程发送打点日志双保险的效果,从而在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性。基于该思想,本申请实施例提供了一种跨进程发送打点日志的方法及装置,该方法和装置应用在主进程和目标进程之间,下面进行详细介绍。
图1为本申请一实施例提供的跨进程发送打点日志的场景示意图,如图1所示,在某个安卓应用程序内部,存在主进程和目标进程,主进程获取到打点日志后,采用AIDLService组件和Content Provider组件结合的跨进程通信方式将打点日志发送至目标进程,目标进程在接收到打点日志后,可以向主进程反馈确认信息。
图2为本申请一实施例提供的跨进程发送打点日志的方法流程示意图,该方法应用在主进程和目标进程之间,如图2所示,该方法包括以下步骤:
步骤S202,主进程先后基于AIDL Service组件和Content provider组件,分别请求建立与目标进程之间的第一跨进程通信连接和第二跨进程通信连接。
安卓应用程序在用户的操作下运行至打点事件处时,打点事件被触发,生成打点日志,主进程获取该打点日志,并先后基于AIDL Service组件和Content provider组件,分别请求建立与目标进程之间的第一跨进程通信连接和第二跨进程通信连接,以向目标进程发送打点日志。由于安卓系统的跨进程通信都是基于C(client)/S(service)架构,因此,主进程又可以称为客户端,目标进程又可以称为服务端。
步骤S204,主进程判断第二跨进程通信连接是否建立成功。
步骤S206,若第二跨进程通信连接建立成功,则主进程通过第二跨进程通信连接向目标进程发送打点日志,否则,主进程判断第一跨进程通信连接是否建立成功。
步骤S208,若第一跨进程通信连接建立成功,则主进程通过第一跨进程通信连接向目标进程发送打点日志。
可见,本申请实施例中的方法,将AIDL Service组件和Content Provider组件结合起来进行跨进程发送打点日志,首先利用Content Provider组件发送打点日志,如失败,则再利用AIDL Service组件发送打点日志,能够起到跨进程发送打点日志双保险的效果,从而在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性,解决通过现有技术中的方式跨进程发送打点日志时,存在一定的打点日志丢失率,打点日志发送的可靠性较低的问题。
由于基于AIDL Service组件建立跨进程通信连接是异步过程,基于ContentProvider组件建立跨进程通信连接是同步过程,因此本实施例中,先基于AIDL Service组件请求建立第一跨进程通信连接,后基于Content Provider组件请求建立第二跨进程通信连接,并先判断第二跨进程通信连接是否建立成功,后判断第一跨进程通信连接是否建立成功,能够为建立第一跨进程通信连接预留足够的时间,从而尽可能保证第一跨进程通信连接建立成功,提高打点日志发送的可靠性。
本实施例中,由于将Content provider组件和AIDL Service组件结合起来进程跨进程发送打点日志,因此还克服了Content provider组件在某些场景下单独使用,如在Applition on Create方法场景下单独使用,可能存在的加载失败,跨进程通信失败的问题。
上述步骤S202中,主进程首先基于AIDL Service组件,请求建立与目标进程之间的第一跨进程通信连接,具体为,主进程基于AIDL Service组件,向目标进程发送跨进程通信指令,以请求绑定目标进程。目标进程接收到基于AIDL Service组件的跨进程通信指令后,根据该跨进程通信指令创建跨进程通信接口对应的数据对象,并将创建的数据对象发送至主进程,若主进程接收到该数据对象,则主进程根据该数据对象创建跨进程通信接口,创建成功后,主进程确定绑定目标进程成功,确定第一跨进程通信连接建立成功,主进程能够通过第一跨进程通信连接与目标进程通信,具体通过创建的跨进程通信接口与目标进程通信。其中,由于主进程创建跨进程通信接口依据的数据对象是目标进程创建并发送的,因此主进程通过依据该数据对象创建的跨进程通信接口,能够与目标进程实现通信。其中,跨进程通信接口可以为AIDL接口,跨进程通信接口对应的数据对象可以为IBinder对象。
由于基于AIDL Service组件建立跨进程通信连接是异步过程,目标进程可能需要时间较长才会返回上述数据对象,主进程出于运行效率的考虑,预留等待上述数据对象的时间不会过长,若主进程没有在一定时间内接收到上述数据对象,则主进程会确认第一跨进程通信连接建立失败,放弃通过第一跨进程通信连接发送打点日志,因此为保证打点日志发送的可靠性,主进程在基于AIDLService组件,请求建立与目标进程之间的第一跨进程通信连接之后,主进程还基于Content provider组件,请求建立与目标进程之间的第二跨进程通信连接,以提供打点日志发送的双保险。
主进程基于Content provider组件,请求建立与目标进程之间的第二跨进程通信连接,具体为,主进程调用Content provider组件中的call方法,向目标进程发送跨进程通信指令,以请求建立第二跨进程通信连接。
若目标进程接收到该跨进程通信指令,则目标进程根据该跨进程通信指令创建第一数据对象,并将创建的第一数据对象发送至主进程,其中,该第一数据对象用于主进程建立第二跨进程通信连接,该第一数据对象可以为IBinder对象。具体地,若目标进程接收到主进程基于Content provider组件中的call方法发送的跨进程通信指令,则目标进程根据该跨进程通信指令创建跨进程通信接口的第一数据对象,并将创建的第一数据对象发送至主进程,以使主进程根据第一数据对象创建跨进程通信接口,以建立第二跨进程通信连接。
其中,由于Content provider组件中的call方法具有一定的数据发送要求,比如必须返回序列化的指定数据对象,因此目标进程将创建的第一数据对象发送至主进程,具体为:目标进程将第一数据对象赋值给第二数据对象,以将第一数据对象序列化,并将第二数据对象赋值给第三数据对象,最后将第三数据对象发送至主进程,其中,第三数据对象为满足call方法对应的数据发送要求的数据对象。一个具体的实施例中,第一数据对象可以为IBinder对象,第二数据对象为Binder Parcel对象,第三数据对象为Bundle对象。
由于在某些场景下,如Applition on Create方法场景下,Content provider组件存在加载失败的可能,在Content provider组件加载失败时,主进程无法调用Contentprovider组件中的call方法,向目标进程发送跨进程通信指令,以请求建立第二跨进程通信连接,因此,主进程基于Content provider组件建立第二跨进程通信连接存在失败的可能,并且,由于基于Content provider组件建立跨进程通信连接是同步过程,主进程能够在较短时间内确定是否建立成功,因此,主进程在通过上述步骤S202请求建立与目标进程之间的第一跨进程通信连接和第二跨进程通信连接后,还优先判断第二跨进程通信连接是否建立成功。具体判断方式可以为,判断是否接收到目标进程根据上述call方法返回的第三数据对象,以及判断第三数据对象中是否存在第一数据对象,若主进程接收到第三数据对象,并从该第三数据对象中解析得到第一数据对象,则主进程根据第一数据对象建立第二跨进程通信连接,并在第二跨进程通信连接建立完成后,确定第二跨进程通信连接建立成功。若主进程未接收到第三数据对象,或未从第三数据对象中解析得到第一数据对象,则主进程确定第二跨进程通信连接建立失败。
其中,主进程根据第一数据对象建立第二跨进程通信连接,具体为:根据该第一数据对象创建跨进程通信接口,跨进程通信接口创建完成时,主进程确定第二跨进程通信连接建立完成,其中,跨进程通信接口可以为AIDL接口。主进程能够通过第二跨进程通信连接与目标进程通信,具体通过创建的跨进程通信接口与目标进程通信。由于主进程创建跨进程通信接口依据的第一数据对象是目标进程创建并发送的,因此主进程通过依据该第一数据对象创建的跨进程通信接口,能够与目标进程实现通信。
因此,上述步骤S206中,若第二跨进程通信连接建立成功,则主进程通过第二跨进程通信连接向目标进程发送打点日志,以通过跨进程的方式发送打点日志。
考虑到第一跨进程通信连接的建立过程是异步过程,耗时比建立第二跨进程通信长,因此上述步骤S206中,主进程若确定第二跨进程通信连接建立失败,则判断第一跨进程通信连接是否建立成功,具体为,判断是否接收到目标进程基于AIDL Service组件返回的用于创建跨进程通信接口的数据对象,若接收到,确定第一跨进程通信连接建立成功,否则,确定第一跨进程通信连接建立失败。
上述步骤S208中,若第一跨进程通信连接建立成功,则主进程通过第一跨进程通信连接向目标进程发送打点日志,以通过跨进程的方式发送打点日志,否则,主进程放弃本次打点日志发送,确定打点日志发送失败。
由于主进程优先请求建立第一跨进程通信连接,然后请求建立第二跨进程通信连接,并在判断第二跨进程通信连接建立失败后,再判断第一跨进程通信连接是否建立成功,因此能够达到在请求建立第一跨进程通信关系后,间隔一段时间后判断第一跨进程通信连接是否建立成功的效果,由于已经过去一段时间,因此基于AIDL Service组件的异步性,第一跨进程通信连接建立成功的概率较大,因此通过本申请实施例中的方法,有较大的概率打点日志发送成功。
进一步地,即便在本次建立通信连接的过程中,第一跨进程通信连接建立失败,但是在主进程再次与目标进程建立通信连接时,基于AIDL Service组件的异步性,第一跨进程通信连接也大概率建立成功,从而便于后续发送打点日志。
由于基于AIDL Service组件建立跨进程通信连接是异步过程,耗时较长,基于Content Provider组件建立跨进程通信连接是同步过程,耗时较短,因此本申请实施例中,主进程先基于AIDL Service组件请求建立第一跨进程通信连接,再基于Content Provider组件请求建立第二跨进程通信连接,也即,先发送基于AIDL Service组件的跨进程通信指令,然后在等待第一跨进程通信连接建立结果的过程中发送基于Content Provider组件的跨进程通信指令,能够充分利用时间,提高两种组件组合建立跨进程通信连接的效率,提高打点日志发送的效率。
本实施例中,主进程在确定第二跨进程通信连接建立成功后,主进程缓存用于建立第二跨进程通信连接的数据对象;以及,主进程在确定第一跨进程通信连接建立成功后,主进程缓存用于建立第一跨进程通信连接的数据对象。其中,用于建立第二跨进程通信连接的数据对象和用于建立第一跨进程通信连接的数据对象均可以为IBinder对象。
用于建立第二跨进程通信连接的数据对象,即为,用于创建第二跨进程通信连接对应的跨进程通信接口的数据对象,用于建立第一跨进程通信连接的数据对象,均为即为,用于创建第一跨进程通信连接对应的跨进程通信接口的数据对象。
相应地,主进程后续再次与目标进程跨进程通信时,可以直接根据缓存的数据对象建立跨进程通信连接,从而进行跨进程通信。
本实施例中,通过缓存与目标进程之间进行通信的数据对象,能够使得主进程再次与目标进程进行跨进程通信时,无需再次请求建立跨进程通信连接关系,直接根据缓存的数据对象建立跨进程通信连接即可,减少了请求建立跨进程通信连接的次数,提高了后续跨进程通信发送打点日志的效率。
图3为本申请另一实施例提供的跨进程发送打点日志的方法流程示意图,如图3所示,该方法包括以下步骤:
步骤S302,主进程判断是否缓存有用于与目标进程之间进行通信的数据对象。
若缓存有,则执行步骤S316,否则执行步骤S304。
步骤S304,主进程基于AIDL Service组件,请求建立与目标进程之间的第一跨进程通信连接。
步骤S306,主进程基于Content provider组件,请求建立与目标进程之间的第二跨进程通信连接。
步骤S308,主进程判断第二跨进程通信连接是否建立成功。
若成功,执行步骤S310,否则,执行步骤S312。
步骤S310,主进程通过第二跨进程通信连接向目标进程发送打点日志。
步骤S312,主进程判断第一跨进程通信连接是否建立成功。
若成功,执行步骤S314,否则,执行步骤S318。
步骤S314,主进程通过第一跨进程通信连接向目标进程发送打点日志。
步骤S316,主进程利用缓存的数据对象创建跨进程通信接口,向目标进程发送打点日志。
步骤S318,确定打点日志发送失败。
本实施例中,主进程首先判断是否缓存有用于与目标进程之间进行通信的数据对象,若有,则直接利用缓存的数据对象发送打点日志,否则,重新建立跨进程通信连接,能够提高跨进程通信的效率,提高打点日志发送效率。
图4为本申请一实施例提供的主进程基于AIDL Service组件向目标进程发送打点日志的流程示意图,如图4所示,该流程包括:
步骤S402,主进程基于AIDL Service组件向目标进程发送跨进程通信指令;
步骤S404,目标进程根据接收到的跨进程通信指令创建用于建立通信连接的数据对象;
步骤S406,目标进程将创建的数据对象发送至主进程;
步骤S408,主进程根据接收到的数据对象创建跨进程通信接口;
步骤S410,主进程基于创建的跨进程通信接口向目标进程发送打点日志。
图5为本申请一实施例提供的主进程基于Content provider组件向目标进程发送打点日志的流程示意图,如图5所示,该流程包括:
步骤S502,主进程基于Content provider组件中的call方法向目标进程发送跨进程通信指令;
步骤S504,目标进程根据接收到的跨进程通信指令创建用于建立通信连接的第一数据对象;
步骤S506,目标进程将第一数据对象赋值给第二数据对象,以将第一数据对象序列化;
步骤S508,目标进程将第二数据对象赋值给第三数据对象,第三数据对象为满足call方法对应的数据发送要求的数据对象;
步骤S510,目标进程将第三数据对象发送至主进程;
步骤S512,主进程从接收到的第三数据对象获取第一数据对象;
步骤S514,主进程根据第一数据对象创建跨进程通信接口;
步骤S516,主进程基于创建的跨进程通信接口向目标进程发送打点日志。
图6为本申请一实施例提供的主进程向目标进程跨进程发送打点日志对应的通信结构图。如图6所示,该通信结构依赖于安卓系统的Binder驱动、Service Manager(管理服务)、Activity Manager Service(用于记录所有的content Provider)、Binder库,还依赖于安卓系统的AIDL Service组件和Content provider组件等。
对应上述实施例中的跨进程发送打点日志的方法,本申请实施例还提供了一种跨进程发送打点日志的装置,图7为本申请一实施例提供的跨进程发送打点日志的装置的模块组成示意图,该装置应用于主进程和目标进程之间,如图7所示,该装置包括:
请求连接模块71,用于所述主进程先后基于Android接口定义语言AIDL Service组件和Content provider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
判断模块72,用于所述主进程判断所述第二跨进程通信连接是否建立成功;
第一发送模块73,用于若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
第二发送模块74,用于若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
可选地,所述请求连接模块71,具体用于:
所述主进程调用所述Content provider组件中的call方法,向所述目标进程发送跨进程通信指令,以请求建立所述第二跨进程通信连接。
可选地,该装置还包括:
对象发送模块,用于若所述目标进程接收到所述跨进程通信指令,则所述目标进程根据所述跨进程通信指令创建第一数据对象,并将所述第一数据对象发送至所述主进程;其中,所述第一数据对象用于所述主进程建立所述第二跨进程通信连接。
可选地,所述对象发送模块,具体用于:
所述目标进程将所述第一数据对象赋值给第二数据对象,以将所述第一数据对象序列化;
所述目标进程将所述第二数据对象赋值给第三数据对象,所述第三数据对象为满足所述call方法对应的数据发送要求的数据对象;
所述目标进程将所述第三数据对象发送至所述主进程。
可选地,该装置还包括:
连接结果确定模块,用于若所述主进程接收到所述第三数据对象,并从所述第三数据对象中解析得到所述第一数据对象,则所述主进程根据所述第一数据对象建立所述第二跨进程通信连接,并在所述第二跨进程通信连接建立完成后,确定所述第二跨进程通信连接建立成功。
可选地,该装置还包括:
第一缓存模块,用于在所述第一跨进程通信连接建立成功后,所述主进程缓存用于建立所述第一跨进程通信连接的数据对象;
第二缓存模块,用于在所述第二跨进程通信连接建立成功后,所述主进程缓存用于建立所述第二跨进程通信连接的数据对象。
本申请实施例中的跨进程发送打点日志的装置,将AIDL Service组件和ContentProvider组件结合起来进行跨进程发送打点日志,首先利用Content Provider组件发送打点日志,如失败,则再利用AIDL Service组件发送打点日志,能够起到跨进程发送打点日志双保险的效果,从而在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性,解决通过现有技术中的方式跨进程发送打点日志时,存在一定的打点日志丢失率,打点日志发送的可靠性较低的问题。由于基于AIDLService组件建立跨进程通信连接是异步过程,基于Content Provider组件建立跨进程通信连接是同步过程,因此本实施例中,先基于AIDL Service组件请求建立第一跨进程通信连接,后基于Content Provider组件请求建立第二跨进程通信连接,并先判断第二跨进程通信连接是否建立成功,后判断第一跨进程通信连接是否建立成功,能够为建立第一跨进程通信连接预留足够的时间,从而尽可能保证第一跨进程通信连接建立成功,提高打点日志发送的可靠性。本实施例中,由于将Content provider组件和AIDL Service组件结合起来进程跨进程发送打点日志,因此还克服了Content provider组件在某些场景下单独使用,如在Applition on Create方法场景下单独使用,可能存在的加载失败,跨进程通信失败的问题。
进一步地,基于上述实施例中的跨进程发送打点日志的方法,本申请实施例还提供了一种跨进程发送打点日志的设备,该设备可以为移动终端,如电脑、手机等,图8为本申请一实施例提供的跨进程发送打点日志的设备的结构示意图。
如图8所示,跨进程发送打点日志的设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对跨进程发送打点日志的设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在跨进程发送打点日志的设备上执行存储器802中的一系列计算机可执行指令。跨进程发送打点日志的设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806等。
在一个具体的实施例中,跨进程发送打点日志的设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对跨进程发送打点日志的设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令,该指令对应的流程应用于主程序和目标程序之间:
所述主进程先后基于Android接口定义语言AIDL Service组件和Contentprovider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
所述主进程判断所述第二跨进程通信连接是否建立成功;
若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
可选地,计算机可执行指令在被执行时,所述主进程基于所述Content provider组件,请求建立与所述目标进程之间的所述第二跨进程通信连接,包括:
所述主进程调用所述Content provider组件中的call方法,向所述目标进程发送跨进程通信指令,以请求建立所述第二跨进程通信连接。
可选地,计算机可执行指令在被执行时,还能够:
若所述目标进程接收到所述跨进程通信指令,则所述目标进程根据所述跨进程通信指令创建第一数据对象,并将所述第一数据对象发送至所述主进程;其中,所述第一数据对象用于所述主进程建立所述第二跨进程通信连接。
可选地,计算机可执行指令在被执行时,所述目标进程将所述第一数据对象发送至所述主进程,包括:
所述目标进程将所述第一数据对象赋值给第二数据对象,以将所述第一数据对象序列化;
所述目标进程将所述第二数据对象赋值给第三数据对象,所述第三数据对象为满足所述call方法对应的数据发送要求的数据对象;
所述目标进程将所述第三数据对象发送至所述主进程。
可选地,计算机可执行指令在被执行时,还能够:
若所述主进程接收到所述第三数据对象,并从所述第三数据对象中解析得到所述第一数据对象,则所述主进程根据所述第一数据对象建立所述第二跨进程通信连接,并在所述第二跨进程通信连接建立完成后,确定所述第二跨进程通信连接建立成功。
可选地,计算机可执行指令在被执行时,还能够:
在所述第一跨进程通信连接建立成功后,所述主进程缓存用于建立所述第一跨进程通信连接的数据对象;
在所述第二跨进程通信连接建立成功后,所述主进程缓存用于建立所述第二跨进程通信连接的数据对象。
本申请实施例中的跨进程发送打点日志的设备,将AIDL Service组件和ContentProvider组件结合起来进行跨进程发送打点日志,首先利用Content Provider组件发送打点日志,如失败,则再利用AIDL Service组件发送打点日志,能够起到跨进程发送打点日志双保险的效果,从而在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性,解决通过现有技术中的方式跨进程发送打点日志时,存在一定的打点日志丢失率,打点日志发送的可靠性较低的问题。由于基于AIDLService组件建立跨进程通信连接是异步过程,基于Content Provider组件建立跨进程通信连接是同步过程,因此本实施例中,先基于AIDL Service组件请求建立第一跨进程通信连接,后基于Content Provider组件请求建立第二跨进程通信连接,并先判断第二跨进程通信连接是否建立成功,后判断第一跨进程通信连接是否建立成功,能够为建立第一跨进程通信连接预留足够的时间,从而尽可能保证第一跨进程通信连接建立成功,提高打点日志发送的可靠性。本实施例中,由于将Content provider组件和AIDL Service组件结合起来进程跨进程发送打点日志,因此还克服了Content provider组件在某些场景下单独使用,如在Applition on Create方法场景下单独使用,可能存在的加载失败,跨进程通信失败的问题。
进一步地,基于上述的跨进程发送打点日志的方法,本申请实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下应用于主程序和目标程序之间的流程:
所述主进程先后基于Android接口定义语言AIDL Service组件和Contentprovider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接;
所述主进程判断所述第二跨进程通信连接是否建立成功;
若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程判断所述第一跨进程通信连接是否建立成功;
若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述主进程基于所述Content provider组件,请求建立与所述目标进程之间的所述第二跨进程通信连接,包括:
所述主进程调用所述Content provider组件中的call方法,向所述目标进程发送跨进程通信指令,以请求建立所述第二跨进程通信连接。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还能够:
若所述目标进程接收到所述跨进程通信指令,则所述目标进程根据所述跨进程通信指令创建第一数据对象,并将所述第一数据对象发送至所述主进程;其中,所述第一数据对象用于所述主进程建立所述第二跨进程通信连接。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述目标进程将所述第一数据对象发送至所述主进程,包括:
所述目标进程将所述第一数据对象赋值给第二数据对象,以将所述第一数据对象序列化;
所述目标进程将所述第二数据对象赋值给第三数据对象,所述第三数据对象为满足所述call方法对应的数据发送要求的数据对象;
所述目标进程将所述第三数据对象发送至所述主进程。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还能够:
若所述主进程接收到所述第三数据对象,并从所述第三数据对象中解析得到所述第一数据对象,则所述主进程根据所述第一数据对象建立所述第二跨进程通信连接,并在所述第二跨进程通信连接建立完成后,确定所述第二跨进程通信连接建立成功。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,还能够:
在所述第一跨进程通信连接建立成功后,所述主进程缓存用于建立所述第一跨进程通信连接的数据对象;
在所述第二跨进程通信连接建立成功后,所述主进程缓存用于建立所述第二跨进程通信连接的数据对象。
通过本申请实施例中的存储介质,将AIDL Service组件和Content Provider组件结合起来进行跨进程发送打点日志,首先利用Content Provider组件发送打点日志,如失败,则再利用AIDL Service组件发送打点日志,能够起到跨进程发送打点日志双保险的效果,从而在跨进程发送打点日志时,降低打点日志的丢失率,提高跨进程发送打点日志的成功率,提高打点日志发送的可靠性,解决通过现有技术中的方式跨进程发送打点日志时,存在一定的打点日志丢失率,打点日志发送的可靠性较低的问题。由于基于AIDL Service组件建立跨进程通信连接是异步过程,基于Content Provider组件建立跨进程通信连接是同步过程,因此本实施例中,先基于AIDL Service组件请求建立第一跨进程通信连接,后基于Content Provider组件请求建立第二跨进程通信连接,并先判断第二跨进程通信连接是否建立成功,后判断第一跨进程通信连接是否建立成功,能够为建立第一跨进程通信连接预留足够的时间,从而尽可能保证第一跨进程通信连接建立成功,提高打点日志发送的可靠性。通过本实施例中,由于将Content provider组件和AIDL Service组件结合起来进程跨进程发送打点日志,因此还克服了Content provider组件在某些场景下单独使用,如在Applition on Create方法场景下单独使用,可能存在的加载失败,跨进程通信失败的问题。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种跨进程发送打点日志的方法,应用于主进程和目标进程之间,其特征在于,包括:
所述主进程先后基于Android接口定义语言AIDL Service组件和Content provider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接,所述第一跨进程通信连接比所述第二跨进程通信连接先建立;所述第一跨进程通信连接的建立过程是异步过程;所述第二跨进程通信连接的建立过程是同步过程;
所述主进程判断所述第二跨进程通信连接是否建立成功;
若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程在请求建立所述第一跨进程通信连接后的一段时间后,判断所述第一跨进程通信连接是否建立成功;
若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
2.根据权利要求1所述的方法,其特征在于,所述主进程基于所述Content provider组件,请求建立与所述目标进程之间的所述第二跨进程通信连接,包括:
所述主进程调用所述Content provider组件中的call方法,向所述目标进程发送跨进程通信指令,以请求建立所述第二跨进程通信连接。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述目标进程接收到所述跨进程通信指令,则所述目标进程根据所述跨进程通信指令创建第一数据对象,并将所述第一数据对象发送至所述主进程;其中,所述第一数据对象用于所述主进程建立所述第二跨进程通信连接。
4.根据权利要求3所述的方法,其特征在于,所述目标进程将所述第一数据对象发送至所述主进程,包括:
所述目标进程将所述第一数据对象赋值给第二数据对象,以将所述第一数据对象序列化;
所述目标进程将所述第二数据对象赋值给第三数据对象,所述第三数据对象为满足所述call方法对应的数据发送要求的数据对象;
所述目标进程将所述第三数据对象发送至所述主进程。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述主进程接收到所述第三数据对象,并从所述第三数据对象中解析得到所述第一数据对象,则所述主进程根据所述第一数据对象建立所述第二跨进程通信连接,并在所述第二跨进程通信连接建立完成后,确定所述第二跨进程通信连接建立成功。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述第一跨进程通信连接建立成功后,所述主进程缓存用于建立所述第一跨进程通信连接的数据对象;
在所述第二跨进程通信连接建立成功后,所述主进程缓存用于建立所述第二跨进程通信连接的数据对象。
7.一种跨进程发送打点日志的装置,应用于主进程和目标进程之间,其特征在于,包括:
请求连接模块,用于所述主进程先后基于Android接口定义语言AIDL Service组件和Content provider组件,分别请求建立与所述目标进程之间的第一跨进程通信连接和第二跨进程通信连接,所述第一跨进程通信连接比所述第二跨进程通信连接先建立;所述第一跨进程通信连接的建立过程是异步过程;所述第二跨进程通信连接的建立过程是同步过程;
判断模块,用于所述主进程判断所述第二跨进程通信连接是否建立成功;
第一发送模块,用于若所述第二跨进程通信连接建立成功,则所述主进程通过所述第二跨进程通信连接向所述目标进程发送所述打点日志,否则,所述主进程在请求建立所述第一跨进程通信连接后的一段时间后,判断所述第一跨进程通信连接是否建立成功;
第二发送模块,用于若所述第一跨进程通信连接建立成功,则所述主进程通过所述第一跨进程通信连接向所述目标进程发送所述打点日志。
8.根据权利要求7所述的装置,其特征在于,所述请求连接模块,具体用于:
所述主进程调用所述Content provider组件中的call方法,向所述目标进程发送跨进程通信指令,以请求建立所述第二跨进程通信连接。
9.根据权利要求8所述的装置,其特征在于,还包括:
对象发送模块,用于若所述目标进程接收到所述跨进程通信指令,则所述目标进程根据所述跨进程通信指令创建第一数据对象,并将所述第一数据对象发送至所述主进程;其中,所述第一数据对象用于所述主进程建立所述第二跨进程通信连接。
10.根据权利要求9所述的装置,其特征在于,所述对象发送模块,具体用于:
所述目标进程将所述第一数据对象赋值给第二数据对象,以将所述第一数据对象序列化;
所述目标进程将所述第二数据对象赋值给第三数据对象,所述第三数据对象为满足所述call方法对应的数据发送要求的数据对象;
所述目标进程将所述第三数据对象发送至所述主进程。
11.根据权利要求10所述的装置,其特征在于,还包括:
连接结果确定模块,用于若所述主进程接收到所述第三数据对象,并从所述第三数据对象中解析得到所述第一数据对象,则所述主进程根据所述第一数据对象建立所述第二跨进程通信连接,并在所述第二跨进程通信连接建立完成后,确定所述第二跨进程通信连接建立成功。
12.根据权利要求7所述的装置,其特征在于,还包括:
第一缓存模块,用于在所述第一跨进程通信连接建立成功后,所述主进程缓存用于建立所述第一跨进程通信连接的数据对象;
第二缓存模块,用于在所述第二跨进程通信连接建立成功后,所述主进程缓存用于建立所述第二跨进程通信连接的数据对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248245.6A CN108021459B (zh) | 2017-12-01 | 2017-12-01 | 跨进程发送打点日志的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711248245.6A CN108021459B (zh) | 2017-12-01 | 2017-12-01 | 跨进程发送打点日志的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021459A CN108021459A (zh) | 2018-05-11 |
CN108021459B true CN108021459B (zh) | 2022-03-04 |
Family
ID=62078333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711248245.6A Active CN108021459B (zh) | 2017-12-01 | 2017-12-01 | 跨进程发送打点日志的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021459B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377438B (zh) * | 2019-07-22 | 2021-09-03 | 广州小鹏汽车科技有限公司 | 跨进程通信接口的路由方法、装置和系统 |
CN111782188A (zh) * | 2019-09-30 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 集成跨平台移动应用开发框架的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469035A (zh) * | 2010-11-05 | 2012-05-23 | 腾讯科技(深圳)有限公司 | 跨进程通信的方法和装置 |
CN103986762A (zh) * | 2014-05-15 | 2014-08-13 | 京信通信系统(中国)有限公司 | 一种进行进程状态检测的方法及装置 |
CN104376016A (zh) * | 2013-08-15 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 一种浏览器中跨进程渲染方法和装置 |
CN105589807A (zh) * | 2015-12-21 | 2016-05-18 | 中国科学院信息工程研究所 | 一种应用程序间组件能力泄露动态检测方法和系统 |
CN106547631A (zh) * | 2016-09-26 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 基于安卓平台的跨进程通信方法和装置 |
CN107341052A (zh) * | 2017-06-07 | 2017-11-10 | 努比亚技术有限公司 | 一种消息处理方法及装置 |
-
2017
- 2017-12-01 CN CN201711248245.6A patent/CN108021459B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469035A (zh) * | 2010-11-05 | 2012-05-23 | 腾讯科技(深圳)有限公司 | 跨进程通信的方法和装置 |
CN104376016A (zh) * | 2013-08-15 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 一种浏览器中跨进程渲染方法和装置 |
CN103986762A (zh) * | 2014-05-15 | 2014-08-13 | 京信通信系统(中国)有限公司 | 一种进行进程状态检测的方法及装置 |
CN105589807A (zh) * | 2015-12-21 | 2016-05-18 | 中国科学院信息工程研究所 | 一种应用程序间组件能力泄露动态检测方法和系统 |
CN106547631A (zh) * | 2016-09-26 | 2017-03-29 | 腾讯科技(深圳)有限公司 | 基于安卓平台的跨进程通信方法和装置 |
CN107341052A (zh) * | 2017-06-07 | 2017-11-10 | 努比亚技术有限公司 | 一种消息处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108021459A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10193971B2 (en) | Method, server and system for application synchronization | |
CN108833521B (zh) | 消息推送方法、装置、系统、计算机设备和存储介质 | |
CN104756080A (zh) | 扩展主机设备的功能 | |
AU2019256257B2 (en) | Processor core scheduling method and apparatus, terminal, and storage medium | |
CN112422497B (zh) | 消息传递方法、装置及计算机设备 | |
CN110611718A (zh) | 文件传输方法、装置、服务器及存储介质 | |
US11182210B2 (en) | Method for resource allocation and terminal device | |
CN111510493B (zh) | 分布式数据传输方法及装置 | |
CN108021459B (zh) | 跨进程发送打点日志的方法及装置 | |
CN104811485A (zh) | 一种资源分享方法 | |
US20180337922A1 (en) | Method and device for controlling smart device, server and storage medium | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN111327680B (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN110673970B (zh) | 一种基于web应用的跨进程调用系统及方法 | |
CN111756844A (zh) | 一种多语言消息代理方法及装置 | |
CN109308288B (zh) | 数据处理方法及装置 | |
CN108289165B (zh) | 一种基于手机控制相机的实现方法、装置及终端设备 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN112612531A (zh) | 应用程序启动方法、装置、电子设备及存储介质 | |
CN112333262A (zh) | 数据更新提示方法、装置、计算机设备及可读存储介质 | |
CN113765819A (zh) | 资源访问方法、装置、电子设备及存储介质 | |
CN116743728B (zh) | 应用运维方法、系统、设备及存储介质 | |
CN113821248B (zh) | 车机端软件的服务方法、车机端软件及其相关设备 | |
CN111245949A (zh) | 文件归档传输方法、装置及设备 | |
CN117724852B (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 | ||
CB02 | Change of applicant information |
Address after: 100085 information Road No. 2, Haidian District, Beijing (Beijing 1-8, D 2-2), two storey 207A room. Applicant after: QILIN HESHENG NETWORK TECHNOLOGY Inc. Address before: 100085 information Road No. 2, Haidian District, Beijing (Beijing 1-8, D 2-2), two storey 207A room. Applicant before: QILIN HESHENG NETWORK TECHNOLOGY Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |