CN111913759B - 控制应用程序执行的方法、装置、计算设备和介质 - Google Patents
控制应用程序执行的方法、装置、计算设备和介质 Download PDFInfo
- Publication number
- CN111913759B CN111913759B CN202010764853.8A CN202010764853A CN111913759B CN 111913759 B CN111913759 B CN 111913759B CN 202010764853 A CN202010764853 A CN 202010764853A CN 111913759 B CN111913759 B CN 111913759B
- Authority
- CN
- China
- Prior art keywords
- data
- task
- application program
- starting
- stage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 10
- 230000006399 behavior Effects 0.000 claims description 9
- 230000015556 catabolic process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000005457 optimization Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000010970 precious metal Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/3447—Performance evaluation by modeling
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本公开提供了一种控制应用程序执行的方法,可以用于互联网金融或人工智能领域。该方法包括:获取用户数据和客户端设备的设备数据,其中,设备数据包括应用程序的至少一个启动任务的任务数据;利用经训练的深度网络模型,基于用户数据和设备数据,确定应用程序的每个启动任务对性能的影响程度;根据影响程度,生成配置文件,配置文件用于调整每个启动任务的加载阶段;以及将配置文件发送至客户端设备,以指示客户端设备根据配置文件执行应用程序。本公开还提供了一种控制应用程序执行的装置、一种计算设备以及一种计算机存储介质。
Description
技术领域
本公开涉及互联网金融或人工智能领域。更具体地,涉及一种控制应用程序执行的方法、装置、计算设备和计算机可读存储介质。
背景技术
现有的移动应用程序(APP)启动速度的优化方法依靠开发人员对应用程序的启动任务进行编排,即将所有的启动任务进行梳理,剔除其中不再使用的启动任务,将其他启动任务按照优先级进行分块分层,将比较大的启动任务拆分成多个小任务,将这些小任务按照优先级进行编排并按照编排顺序执行。对于开发人员无法完全确定优先级顺序的启动任务,需要与业务部门进行沟通,以明确其优先级。
现有的启动速度的优化方法至少具有以下缺点:1.启动任务的编排根据人为决策而非数据决策,缺乏合理性与客观性;2.易形成业务盲点,增加维护成本;3.重新编排时需要找所有业务部门沟通,增加成本,降低效率。
发明内容
本公开的一个方面提供了一种控制应用程序执行的方法,包括:获取用户数据和客户端设备的设备数据,其中,所述设备数据包括应用程序的至少一个启动任务的任务数据;利用经训练的深度网络模型,基于所述用户数据和所述设备数据,确定所述应用程序的每个启动任务对性能的影响程度;根据所述影响程度,生成配置文件,所述配置文件用于调整所述每个启动任务的加载阶段;以及将所述配置文件发送至客户端设备,以指示所述客户端设备根据所述配置文件执行所述应用程序。
可选地,所述用户数据包括以下数据中的至少一种:基础数据、用户活跃度、业务数据和行为数据。
可选地,所述设备数据还包括以下数据中的至少一种:品牌型号和设备性能。
可选地,所述深度网络模型通过以下操作进行训练:获取多个数据样本,其中每个数据样本与一个客户端设备对应;根据客户端设备中启动任务在预设加载阶段被调用的次数,为所述客户端设备所对应的数据样本设置标注;以及将所述数据样本和所述标注输入模型进行训练。
可选地,所述方法还包括:记录所述应用程序发生异常崩溃的次数;以及在所述应用程序发生异常崩溃的次数大于预设次数的情况下,指示所述客户端设备还原针对所述启动任务的加载阶段的调整。
本公开的另一个方面提供了一种控制应用程序执行的装置,包括:数据获取模块,用于获取用户数据和客户端设备的设备数据,其中,所述设备数据包括应用程序的至少一个启动任务的任务数据;确定模块,用于利用经训练的深度网络模型,基于所述用户数据和所述设备数据,确定所述应用程序的每个启动任务对性能的影响程度;生成模块,用于根据所述影响程度,生成配置文件,所述配置文件用于调整所述每个启动任务的加载阶段;以及发送模块,用于将所述配置文件发送至客户端设备,以指示所述客户端设备根据所述配置文件执行所述应用程序。
可选地,所述装置还包括:样本获取模块,用于获取多个数据样本,其中每个数据样本与一个客户端设备对应;标注设置模块,用于根据客户端设备中启动任务在预设加载阶段被调用的次数,为所述客户端设备所对应的数据样本设置标注;以及训练模块,用于将所述数据样本和所述标注输入模型进行训练。
可选地,所述装置还包括:记录模块,用于记录所述应用程序发生异常崩溃的次数;以及还原模块,用于在所述应用程序发生异常崩溃的次数大于预设次数的情况下,指示所述客户端设备还原针对所述启动任务的加载阶段的调整。
本公开的另一个方面提供了一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例的控制应用程序执行的方法基于用户数据和设备数据来优化启动任务的加载阶段,优化方案更为合理和客观,相比人为制定启动任务的加载规则,可以发现不易察觉的启动任务优化空间,有效提升优化效率,改善用户体验,并且能够降低人工成本和沟通成本。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的控制应用程序执行的方法和控制应用程序执行的装置的应用场景;
图2示意性示出了根据本公开的实施例的控制应用程序执行的方法的流程图;
图3示意性示出了根据本公开另一实施例的控制应用程序执行的方法的流程图;
图4示意性示出了根据本公开另一实施例的调用阶段的示意图;
图5示意性示出了根据本公开另一实施例的特征数据的示意图;
图6示意性示出了根据本公开的实施例的控制应用程序执行的装置的框图;以及
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种控制应用程序执行的方法以及能够应用该方法的控制应用程序执行的装置。该方法包括获取用户数据和客户端设备的设备数据,其中,设备数据包括应用程序的至少一个启动任务的任务数据;利用经训练的深度网络模型,基于用户数据和设备数据,确定应用程序的每个启动任务对性能的影响程度;根据影响程度,生成配置文件,配置文件用于调整每个启动任务的加载阶段;以及将配置文件发送至客户端设备,以指示客户端设备根据配置文件执行应用程序。
需要说明的是,本公开控制应用程序执行方法和装置可用于互联网金融或人工智能领域,也可用于除互联网金融或人工智能领域领域之外的任意领域,本公开对应用程序执行的方法和装置的应用领域不做限定。
图1示意性示出了根据本公开的实施例的控制应用程序执行的方法和控制应用程序执行的装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备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且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的控制应用程序执行的装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开的实施例的控制应用程序执行的方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,获取用户数据和客户端设备的设备数据,其中,设备数据包括应用程序的至少一个启动任务的任务数据。
根据本公开的实施例,用户数据可以为用于表示用户特征的数据,例如可以包括以下数据中的至少一种:基础数据、用户活跃度、业务数据和行为数据。
其中,基础数据例如可以包括用户编号、姓名、年龄、性别、地区、星级等。对于每个登录用户,有唯一的用户编号,可以在用户基本信息表中使用用户编号作为主键查询该用户的基础数据。
用户活跃度例如可以包括忠诚用户、活跃用户、不活跃用户和流失用户。若用户近7天每天都有日志记录,则属于忠诚用户;若近30天有日志记录的天数大于15,则属于活跃用户;若近30天有日志记录的天数小于5,则属于不活跃用户;若近60天无日志记录,则属于流失用户。用户活跃度可以在用户埋点日志表中通过统计得到。
业务数据例如可以包括业务偏好数据,业务偏好数据可以用于表示用户对于各种业务的偏好。例如手机银行应用中的业务一般有转账汇款、投资理财、信用卡、贵金属、生活缴费、账户管理等,可以通过分析埋点日志表中的业务标签字段,得到用户的业务数据,如近30天操作转账汇款业务100次,投资理财10次,其他0次等,这些数据即构成业务偏好数据。
行为数据例如可以包括用户的点击行为数据和浏览行为数据。点击行为数据例如可以包括用户点击了某个菜单的时间、次数,浏览行为数据例如可以包括用户浏览某个页面的时长、次数。行为数据可以从用户埋点日志表中通过统计得到。
根据本公开的实施例,设备数据可以为用于表示设备特征的数据,设备数据至少包括任务数据。除了任务数据之外,设备数据还可以包括以下数据中的至少一种:品牌型号和设备性能。
其中,任务例如可以为启动项任务(简称启动任务),即在程序代码中执行的任务,如初始化某资源、加载某资源、加载某网络请求等任务。任务数据例如可以包括启动任务的调度时机、实际执行时长等数据。可以通过读取任务埋点表中的记录获取任务数据。
品牌型号例如可以包括客户端设备的品牌与型号。埋点日志中记录了当前用户使用客户端设备的品牌与型号,可以通过可以通过读取任务埋点表中的记录获取品牌型号。
设备性能例如可以包括客户端设备的性能数据。可以根据机型确定该设备的CPU、内存等硬件型号,根据硬件型号确定设备性能。
启动任务例如可以为应用程序启动时加载的任务。需要说明的是,上述用户数据和设备数据仅为示例,在实际应用中,还可以采用其他类型的用户数据和设备数据。
在操作S220,将用户数据、设备数据和任务数据输入经训练的深度网络模型,以确定应用程序的每个启动任务对性能的影响程度。
根据本公开的实施例,深度网络模型的输入是用户数据和设备数据,深度网络模型的输出是影响程度。本实施例中,影响程度以打分值来表示,分值越高,表示启动任务对性能的影响程度越大,分值越低,表示启动任务对性能的影响程度越小。
根据本公开的实施例,深度网络模型例如可以通过以下操作进行训练:获取多个数据样本,其中每个数据样本与一个客户端设备对应。每个数据样本包括一组用户数据和设备数据。根据启动任务在预设阶段被调用的次数,为数据样本设置标注。然后将用户数据、设备数据和标注输入模型进行训练。
在操作S230,根据影响程度,生成配置文件,配置文件用于调整每个启动任务的加载阶段。
根据本公开的实施例,对于影响程度较大的启动任务,在客户端设备上可以推迟该任务的加载,对于影响程度较小的启动任务,该任务的加载阶段可以维持不变。
根据本公开的实施例,可以通过配置文件记录对每个启动任务的加载阶段进行的调整。
在操作S240,将配置文件发送至客户端设备,以指示客户端设备根据配置文件执行应用程序。
根据本公开的实施例,客户端设备在接收到配置文件后,将配置文件保存在本地,在客户端设备下次启动应用程序时,读取相关配置文件,根据配置文件,在相应的加载阶段加载应用程序的各个启动任务。
根据本公开的实施例的控制应用程序执行的方法基于用户数据和设备数据来优化启动任务的加载阶段,优化方案更为合理和客观,相比人为制定启动任务的加载规则,可以发现不易察觉的启动任务优化空间,有效提升优化效率,改善用户体验,并且能够降低人工成本和沟通成本。
根据本公开的另一实施例,为了防止启动任务动态下发可能导致的程序异常崩溃问题,可以对应用程序的异常崩溃情况进行监测,记录应用程序发生异常崩溃的次数,在应用程序发生异常崩溃的次数大于预设次数的情况下,指示客户端设备还原针对启动任务的加载阶段的调整。示例性地,本实施例中,可以在客户端设备有三次崩溃时回退到旧的启动方案。
图3示意性示出了根据本公开另一实施例的控制应用程序执行的方法的流程图。
下面参考图3,结合具体实施例对图2所示的方法做进一步说明。本领域技术人员可以理解,以下示例实施例仅用于理解本公开,本公开并不局限于此。
应用程序的启动速度依赖于启动任务,启动任务都是在APP启动阶段进行初始化加载。对于在启动过程中完成初始化加载,但是在加载后经过较长时间都没有被用户调用的任务,会占用系统资源,增加启动耗时。如果将所有的启动任务均推迟至用户交互阶段的闲时进行加载,虽然可以降低设备的启动耗时,但也会影响用户体验。
本方案首先根据移动应用中启动任务的启动时机,将启动任务的加载调用过程划分为三种调用阶段:1.应用启动阶段调用:此时应用启动尚未完成;2.应用闲时阶段一调用:应用启动完成后,用户交互阶段调用任务,但是调用时间较早;3.应用闲时阶段二调用:应用启动完成后,用户交互阶段调用任务,但是调用时间较晚甚至不调用任务。三种调用阶段如图4所示。示例性地,本实施例中,闲时阶段一的时间范围是APP启动完成5秒后,闲时阶段二的时间范围是APP启动完成后0-5秒内。
由于在实际使用场景中,同一启动任务在不同设备上的调用情况不同,基于以上三种情况的分析,可以确定对于同一启动任务,在所有设备上都推迟至闲时阶段加载并非最优选择。对于启动阶段调用和闲时阶段一调用的两种情况,若推迟任务至闲时阶段加载,会在调用任务时出现等待任务加载的情况,对用户体验造成不良影响。因此,本实施例中,挖掘符合闲时阶段二调用情况的设备,只将这部分设备中的任务推迟,以实现启动任务加载的千人千面。
另外,每个用户对于应用程序有不同的使用习惯。以手机银行应用为例,有的用户打开手机银行应用会先操作转账,有的人会先浏览基金理财等页面。不同的使用习惯,会导致启动任务在不同时机被调用。另一方面,不同品牌的客户端设备性能不同,客户端设加载应用程序的机制和效率存在差异。例如,对于高性能的客户端设备,无需推迟任务即可实现快速启动,而对于低性能的客户端设备需要更快的启动时间来保证用户体验。综上,本方案从任务的两个维度构建了特征数据,涵盖了用户的基础信息、行为数据、业务数据、设备性能、任务埋点数据等。特征数据例如图5所示。
接下来,通过上述特征数据训练训练深度神经网络模型。举例说明,对于某一客户端设备,得到A任务在该设备的日志采集周期内的调用次数c,以及在三个不同阶段的调用次数s1、s2、s3,s3/c的值越大代表该任务在闲时阶段2调用的越多,s1/c的值越大标识该任务在启动阶段调用的越多。因此当s3/c的值大于第一次数阈值时,该设备被标注为需要推迟的设备,当s1/c大于第二次数阈值时,该设备被标注为无需推迟的设备。其中,第一次数阈值和第二次数阈值可以根据实际需要进行设置。将任务数据、用户数据、设备数据、设备的标注输入模型进行训练。
然后,可以利用训练完成的模型预测启动任务对于性能的影响程度。模型的输入是以上两个维度的数据,模型的输出是打分值,分值高于分数阈值,在配置文件中推迟该任务的加载,分值低于分数阈值,在配置文件中不对该任务的加载进行调整。示例性地,本实施例中,模型的输出是0-1的分值,分数阈值为0.8。分值大于0.8即推迟任务至闲时阶段二,即推迟任务至APP启动完成5秒后。模型预测之后将结果上传至服务端,服务端会向客户端设备下发新的任务编排项,以指示客户端设备在闲时阶段二的随机时刻启动该任务,其中随机时刻由后台生成的伪随机数控制。
根据本公开的另一些实施例,除了用户维度与设备维度的特征之外,还可加入启动业务本身的特征,例如启动任务在业务逻辑中所占的权重等属性,使得启动任务的编排更智能。
图6示意性示出了根据本公开的实施例的控制应用程序执行的装置的框图。
如图6所示,控制应用程序执行的装置600包括数据获取模块610、确定模块620、生成模块630和发送模块640。该控制应用程序执行的装置600可以执行上面参考图2~图3描述的方法。
具体地,数据获取模块610,用于获取用户数据和客户端设备的设备数据,其中,设备数据包括应用程序的至少一个启动任务的任务数据。
确定模块620,用于利用经训练的深度网络模型,基于用户数据和设备数据,确定应用程序的每个启动任务对性能的影响程度。
生成模块630,用于根据影响程度,生成配置文件,配置文件用于调整每个启动任务的加载阶段。
发送模块640,用于将配置文件发送至客户端设备,以指示客户端设备根据配置文件执行应用程序。
根据本公开的实施例,用户数据包括以下数据中的至少一种:基础数据、用户活跃度、业务数据和行为数据。
根据本公开的实施例,设备数据还包括以下数据中的至少一种:品牌型号和设备性能。
根据本公开的实施例的控制应用程序执行的装置基于用户数据和设备数据来优化启动任务的加载阶段,优化方案更为合理和客观,相比人为制定启动任务的加载规则,可以发现不易察觉的启动任务优化空间,有效提升优化效率,改善用户体验,并且能够降低人工成本和沟通成本。
根据本公开的另一实施例,控制应用程序执行的装置还可以包括样本获取模块,用于获取多个数据样本,其中每个数据样本与一个客户端设备对应;标注设置模块,用于根据客户端设备中启动任务在预设加载阶段被调用的次数,为客户端设备所对应的数据样本设置标注;以及训练模块,用于将数据样本和标注输入模型进行训练。
根据本公开的另一实施例,控制应用程序执行的装置还可以包括:记录模块,用于记录应用程序发生异常崩溃的次数;以及还原模块,用于在应用程序发生异常崩溃的次数大于预设次数的情况下,指示客户端设备还原针对启动任务的加载阶段的调整。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,数据获取模块610、确定模块620、生成模块630和发送模块640中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,数据获取模块610、确定模块620、生成模块630和发送模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据获取模块610、确定模块620、生成模块630和发送模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图7示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括处理器710以及计算机可读存储介质720。该计算机系统700可以执行根据本公开实施例的方法。
具体地,处理器710例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器710还可以包括用于缓存用途的板载存储器。处理器710可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质720,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质720可以包括计算机程序721,该计算机程序721可以包括代码/计算机可执行指令,其在由处理器710执行时使得处理器710执行根据本公开实施例的方法或其任何变形。
计算机程序721可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序721中的代码可以包括一个或多个程序模块,例如包括721A、模块721B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器710执行时,使得处理器710可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,数据获取模块610、确定模块620、生成模块630和发送模块640中的至少一个可以实现为参考图7描述的计算机程序模块,其在被处理器710执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (8)
1.一种控制应用程序执行的方法,包括:
获取用户数据和客户端设备的设备数据,其中,所述设备数据包括应用程序的至少一个启动任务的任务数据;
利用经训练的深度网络模型,基于所述用户数据和所述设备数据,确定所述应用程序的每个启动任务对性能的影响程度;
根据所述影响程度,生成配置文件,所述配置文件用于调整所述每个启动任务的加载阶段,其中,所述加载阶段包括以下至少一项:所述应用程序启动阶段、应用程序启动完成后的第一阶段以及应用程序启动完成后的第二阶段,所述第一阶段所处的时间与所述第二阶段所处的时间之间存在为目标值的时间差;
将所述配置文件发送至客户端设备,以指示所述客户端设备根据所述配置文件执行所述应用程序;其中,所述启动任务包括所述应用程序启动阶段加载的任务;所述用户数据包括以下数据中的至少一种:基础数据、用户活跃度、业务数据和行为数据;以及
所述设备数据还包括以下数据中的至少一种:品牌型号和设备性能。
2.根据权利要求1所述的方法,所述深度网络模型通过以下操作进行训练:
获取多个数据样本,其中每个数据样本与一个客户端设备对应;
根据客户端设备中启动任务在预设加载阶段被调用的次数,为所述客户端设备所对应的数据样本设置标注;以及
将所述数据样本和所述标注输入模型进行训练。
3.根据权利要求1所述的方法,还包括:
记录所述应用程序发生异常崩溃的次数;以及
在所述应用程序发生异常崩溃的次数大于预设次数的情况下,指示所述客户端设备还原针对所述启动任务的加载阶段的调整。
4.一种控制应用程序执行的装置,包括:
数据获取模块,用于获取用户数据和客户端设备的设备数据,其中,所述设备数据包括应用程序的至少一个启动任务的任务数据;
确定模块,用于利用经训练的深度网络模型,基于所述用户数据和所述设备数据,确定所述应用程序的每个启动任务对性能的影响程度;
生成模块,用于根据所述影响程度,生成配置文件,所述配置文件用于调整所述每个启动任务的加载阶段,其中,所述加载阶段包括以下至少一项:所述应用程序启动阶段、应用程序启动完成后的第一阶段以及应用程序启动完成后的第二阶段,所述第一阶段所处的时间与所述第二阶段所处的时间之间存在为目标值的时间差;以及
发送模块,用于将所述配置文件发送至客户端设备,以指示所述客户端设备根据所述配置文件执行所述应用程序;其中,所述启动任务包括所述应用程序启动阶段加载的任务;所述用户数据包括以下数据中的至少一种:基础数据、用户活跃度、业务数据和行为数据;所述设备数据还包括以下数据中的至少一种:品牌型号和设备性能。
5.根据权利要求4所述的装置,还包括:
样本获取模块,用于获取多个数据样本,其中每个数据样本与一个客户端设备对应;
标注设置模块,用于根据客户端设备中启动任务在预设加载阶段被调用的次数,为所述客户端设备所对应的数据样本设置标注;以及
训练模块,用于将所述数据样本和所述标注输入模型进行训练。
6.根据权利要求5所述的装置,还包括:
记录模块,用于记录所述应用程序发生异常崩溃的次数;以及
还原模块,用于在所述应用程序发生异常崩溃的次数大于预设次数的情况下,指示所述客户端设备还原针对所述启动任务的加载阶段的调整。
7.一种计算设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序,
其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现权利要求1至3中任一项的方法。
8.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至3中任一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010764853.8A CN111913759B (zh) | 2020-07-31 | 2020-07-31 | 控制应用程序执行的方法、装置、计算设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010764853.8A CN111913759B (zh) | 2020-07-31 | 2020-07-31 | 控制应用程序执行的方法、装置、计算设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913759A CN111913759A (zh) | 2020-11-10 |
CN111913759B true CN111913759B (zh) | 2024-02-02 |
Family
ID=73287035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010764853.8A Active CN111913759B (zh) | 2020-07-31 | 2020-07-31 | 控制应用程序执行的方法、装置、计算设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913759B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626099A (zh) * | 2021-07-26 | 2021-11-09 | 北京达佳互联信息技术有限公司 | 应用程序的启动方法、装置及电子设备 |
CN114579196A (zh) * | 2022-05-06 | 2022-06-03 | 成都前锋信息技术股份有限公司 | 基于自学习的计算机启动盘启动顺序控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204917A (zh) * | 2015-11-05 | 2015-12-30 | 北京奇虎科技有限公司 | 在应用程序启动时加载配置文件的方法及装置 |
CN108762844A (zh) * | 2018-05-29 | 2018-11-06 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN109739672A (zh) * | 2018-11-23 | 2019-05-10 | 惠州Tcl移动通信有限公司 | 应用程序崩溃的处理方法、计算机存储介质及移动终端 |
CN110633134A (zh) * | 2018-06-22 | 2019-12-31 | 中兴通讯股份有限公司 | 应用程序管理方法、装置及移动终端、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495480B2 (en) * | 2007-09-18 | 2016-11-15 | Oracle International Corporation | Compact focused search interface |
-
2020
- 2020-07-31 CN CN202010764853.8A patent/CN111913759B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204917A (zh) * | 2015-11-05 | 2015-12-30 | 北京奇虎科技有限公司 | 在应用程序启动时加载配置文件的方法及装置 |
CN108762844A (zh) * | 2018-05-29 | 2018-11-06 | Oppo广东移动通信有限公司 | 应用程序预加载方法、装置、存储介质及终端 |
CN110633134A (zh) * | 2018-06-22 | 2019-12-31 | 中兴通讯股份有限公司 | 应用程序管理方法、装置及移动终端、存储介质 |
CN109739672A (zh) * | 2018-11-23 | 2019-05-10 | 惠州Tcl移动通信有限公司 | 应用程序崩溃的处理方法、计算机存储介质及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111913759A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9489686B2 (en) | System and method based on use information obtained from a user terminal | |
CN112000348A (zh) | 服务灰度发布的控制方法、装置、计算机设备 | |
US11010215B2 (en) | Recommending applications based on call requests between applications | |
US20120143694A1 (en) | Using behavioral data to manage computer services | |
US10262265B2 (en) | Systems and methods for generating and communicating application recommendations at uninstall time | |
CN111913759B (zh) | 控制应用程序执行的方法、装置、计算设备和介质 | |
US10313219B1 (en) | Predictive intelligent processor balancing in streaming mobile communication device data processing | |
US11669377B2 (en) | Providing application programming interface endpoints for machine learning models | |
CN111666497A (zh) | 应用程序的加载方法、装置、电子设备及可读存储介质 | |
JP2017532664A (ja) | マルチソース検索 | |
CN111782988B (zh) | 确定应用程序来源的方法、装置、计算机系统和存储介质 | |
US11954162B2 (en) | Recommending information to present to users without server-side collection of user data for those users | |
CN113656087A (zh) | 小程序启动方法、装置、设备及存储介质 | |
US11146860B2 (en) | Service processing method, device, and intelligent terminal for obtaining and displaying data based on texture data corresponding to a target service | |
CN111783018A (zh) | 一种页面处理方法、装置及设备 | |
US9717985B2 (en) | Fragment-based mobile device application streaming utilizing crowd-sourcing | |
US11297156B1 (en) | System for processing data using distributed messaging system and data processing method thereof | |
US20190327303A1 (en) | Method, device and computer program product for scheduling multi-cloud system | |
US20240062263A1 (en) | Managing transaction state data | |
CN116467704A (zh) | 资源的调用方法及装置 | |
WO2022183940A1 (zh) | 推荐内容资源的获取方法、装置、设备、介质及程序产品 | |
CN112115738A (zh) | 一种应用于浏览器端的图像识别方法和装置 | |
US9971637B1 (en) | Big data propagation agent framework | |
CN110858238B (zh) | 一种数据处理的方法和装置 | |
WO2016195594A1 (en) | Method and apparatus for selectively allocating data to different online delivery platforms |
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 |