CN113721933A - 针对应用程序的数据处理方法、装置、计算设备以及介质 - Google Patents

针对应用程序的数据处理方法、装置、计算设备以及介质 Download PDF

Info

Publication number
CN113721933A
CN113721933A CN202010452139.5A CN202010452139A CN113721933A CN 113721933 A CN113721933 A CN 113721933A CN 202010452139 A CN202010452139 A CN 202010452139A CN 113721933 A CN113721933 A CN 113721933A
Authority
CN
China
Prior art keywords
sub
data
script data
script
running
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.)
Granted
Application number
CN202010452139.5A
Other languages
English (en)
Other versions
CN113721933B (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.)
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
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 Qax Technology Group Inc, Secworld Information Technology Beijing Co Ltd filed Critical Qax Technology Group Inc
Priority to CN202010452139.5A priority Critical patent/CN113721933B/zh
Publication of CN113721933A publication Critical patent/CN113721933A/zh
Application granted granted Critical
Publication of CN113721933B publication Critical patent/CN113721933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本公开提供了一种针对应用程序的数据处理方法,包括:获取目标脚本数据,其中,目标脚本数据包括针对应用程序执行预定操作所需要的数据,目标脚本数据包括第一子脚本数据和第二子脚本数据;运行第一子脚本数据,生成请求确认指示;获取用户针对请求确认指示的输入数据;基于输入数据,确定是否运行第二子脚本数据;以及响应于确定运行第二子脚本数据,运行第二子脚本数据,以便对应用程序执行预定操作。本公开还提供了一种针对应用程序的数据处理装置、一种计算设备、一种计算机可读存储介质以及一种计算机程序产品。

Description

针对应用程序的数据处理方法、装置、计算设备以及介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种针对应用程序的数据处理方法、一种针对应用程序的数据处理装置、一种计算设备以及一种计算机可读存储介质。
背景技术
在GNU/Linux(本文中简称Linux)操作系统中,RPM(Red-Hat Package Manager)为常见的软件包管理工具。RPM软件包管理工具提供了在操作系统中卸载、安装、升级相关应用程序的方法。其中,通过RPM软件包管理工具在Linux操作系统中执行预定操作的过程中,父进程通过创建子进程来执行该预定操作,预定操作包括对应用程序执行的卸载、安装、升级等操作。在通过子进程执行预定操作时,子进程的输入数据为由父进程所开辟出的管道中所存储的数据,管道为父进程开辟的缓冲区,父进程和子进程可以从该缓冲区中读写数据。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题。
通过RPM软件包管理工具在Linux操作系统中执行预定操作的过程中,通过父进程所创建的子进程在执行预定操作时,子进程的输入数据是来自管道中的数据,导致子进程无法直接获取用户通过终端输入的数据,从而使得子进程在执行预定操作时难以和用户进行交互,用户无法实时控制预定操作的执行过程。另外,子进程在执行预定操作时,虽然RPM软件包管理工具具有终止当前子进程运行的功能,但是,父进程会继续创建其他子进程来执行预定操作,导致无法终止预定操作的执行。
发明内容
有鉴于此,本公开提供了一种优化的针对应用程序的数据处理方法、针对应用程序的数据处理装置、计算设备和计算机可读存储介质。
本公开的一个方面提供了一种针对应用程序的数据处理方法,包括:获取目标脚本数据,其中,所述目标脚本数据包括针对所述应用程序执行预定操作所需要的数据,所述目标脚本数据包括第一子脚本数据和第二子脚本数据,运行所述第一子脚本数据,生成请求确认指示,获取用户针对所述请求确认指示的输入数据,基于所述输入数据,确定是否运行所述第二子脚本数据,响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据,以便对所述应用程序执行所述预定操作。
根据本公开实施例,上述方法还包括:通过父进程创建第一子进程,所述父进程用于控制所述目标脚本数据的运行。其中,所述运行所述第一子脚本数据包括:通过所述第一子进程运行所述第一子脚本数据。
根据本公开实施例,上述方法还包括:创建所述第一子进程和终端输入窗口之间的交互通道。其中,所述获取用户针对所述请求确认指示的输入数据包括:通过所述第一子进程经由所述交互通道获取所述输入数据,其中,所述输入数据是所述用户通过所述终端输入窗口输入的数据。
根据本公开实施例,上述创建所述第一子进程和终端输入窗口之间的交互通道包括以下至少一项:运行所述第一子脚本数据中的目标数据,创建所述交互通道,运行所述第一子脚本数据,以调用目标程序创建所述交互通道。
根据本公开实施例,上述基于所述输入数据,确定是否运行所述第二子脚本数据包括:获取验证数据,确定所述输入数据与所述验证数据是否一致以得到验证结果,基于所述验证结果,确定是否运行所述第二子脚本数据。
根据本公开实施例,上述方法还包括:响应于所述验证结果表征所述输入数据与所述验证数据不一致,禁止运行所述第二子脚本数据。
根据本公开实施例,上述禁止运行所述第二子脚本数据包括:终止所述父进程,以便禁止所述父进程创建用于运行所述第二子脚本数据的第二子进程。
根据本公开实施例,上述响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据包括:响应于确定运行所述第二子脚本数据,通过所述父进程创建所述第二子进程,通过所述第二子进程运行所述第二子脚本数据。
根据本公开实施例,上述运行所述第一子脚本数据包括:在目标操作系统环境中运行所述第一子脚本数据。所述运行所述第二子脚本数据包括:在目标操作系统环境中运行所述第二子脚本数据。其中,所述目标操作系统环境包括Linux操作系统环境。
本公开的另一个方面提供了一种针对应用程序的数据处理装置,包括:第一获取模块、生成模块、第二获取模块、确定模块以及运行模块。其中,第一获取模块,获取目标脚本数据,其中,所述目标脚本数据包括针对所述应用程序执行预定操作所需要的数据,所述目标脚本数据包括第一子脚本数据和第二子脚本数据。生成模块,运行所述第一子脚本数据,生成请求确认指示。第二获取模块,获取用户针对所述请求确认指示的输入数据。确定模块,基于所述输入数据,确定是否运行所述第二子脚本数据。运行模块,响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据,以便对所述应用程序执行所述预定操作。
根据本公开实施例,上述装置还包括:第一创建模块,通过父进程创建第一子进程,所述父进程用于控制所述目标脚本数据的运行。其中,所述运行所述第一子脚本数据包括:通过所述第一子进程运行所述第一子脚本数据。
根据本公开实施例,上述装置还包括:第二创建模块,创建所述第一子进程和终端输入窗口之间的交互通道。其中,所述获取用户针对所述请求确认指示的输入数据包括:通过所述第一子进程经由所述交互通道获取所述输入数据,其中,所述输入数据是所述用户通过所述终端输入窗口输入的数据。
根据本公开实施例,上述创建所述第一子进程和终端输入窗口之间的交互通道包括以下至少一项:运行所述第一子脚本数据中的目标数据,创建所述交互通道,运行所述第一子脚本数据,以调用目标程序创建所述交互通道。
根据本公开实施例,上述基于所述输入数据,确定是否运行所述第二子脚本数据包括:获取验证数据,确定所述输入数据与所述验证数据是否一致以得到验证结果,基于所述验证结果,确定是否运行所述第二子脚本数据。
根据本公开实施例,上述装置还包括:禁止模块,响应于所述验证结果表征所述输入数据与所述验证数据不一致,禁止运行所述第二子脚本数据。
根据本公开实施例,上述禁止运行所述第二子脚本数据包括:终止所述父进程,以便禁止所述父进程创建用于运行所述第二子脚本数据的第二子进程。
根据本公开实施例,上述响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据包括:响应于确定运行所述第二子脚本数据,通过所述父进程创建所述第二子进程,通过所述第二子进程运行所述第二子脚本数据。
根据本公开实施例,上述运行所述第一子脚本数据包括:在目标操作系统环境中运行所述第一子脚本数据。所述运行所述第二子脚本数据包括:在目标操作系统环境中运行所述第二子脚本数据。其中,所述目标操作系统环境包括Linux操作系统环境。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,利用上述针对应用程序的数据处理方法可以至少部分地解决相关技术中子进程无法直接获取用户通过终端输入的数据,从而使得子进程在执行预定操作时难以和用户进行交互,用户无法实时控制预定操作的执行过程的问题,并因此可以实现在针对应用程序执行预定操作的过程中可以和用户进行交互,以便用户可以控制预定操作的执行过程,提高了针对应用程序执行预定操作的灵活性的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1A~图1B示意性示出了根据本公开实施例的针对应用程序的数据处理方法和针对应用程序的数据处理装置的应用场景;
图2示意性示出了根据本公开实施例的针对应用程序的数据处理方法的流程图;
图3示意性示出了根据本公开另一实施例的针对应用程序的数据处理方法的流程图;
图4示意性示出了根据本公开实施例的针对应用程序的数据处理装置的框图;
图5示意性示出了根据本公开另一实施例的针对应用程序的数据处理装置的框图;以及
图6示意性示出了根据本公开实施例的适于针对应用程序的数据处理的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种针对应用程序的数据处理方法,包括:获取目标脚本数据,其中,目标脚本数据包括针对应用程序执行预定操作所需要的数据,目标脚本数据包括第一子脚本数据和第二子脚本数据,运行第一子脚本数据,生成请求确认指示。然后,获取用户针对请求确认指示的输入数据,基于输入数据,确定是否运行第二子脚本数据。接下来,响应于确定运行第二子脚本数据,运行第二子脚本数据,以便对应用程序执行预定操作。
图1A~图1B示意性示出了根据本公开实施例的针对应用程序的数据处理方法和针对应用程序的数据处理装置的应用场景。需要注意的是,图1A~图1B所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1A和图1B所示,根据该实施例的应用场景100例如可以包括终端110、父进程120以及子进程130。
如图1A所示,例如在Linux操作系统中,RPM(Red-Hat Package Manager)为常见的软件包管理工具。RPM软件包管理工具可以提供在操作系统中卸载、安装、升级相关应用程序的方法。其中,通过RPM软件包管理工具在Linux操作系统中执行预定操作的过程中,通常可以通过父进程120创建子进程130来执行预定操作,预定操作包括对相关应用程序的卸载、安装、升级等操作。
根据本公开实施例,在执行预定操作的过程中,终端110、父进程120以及子进程130之间的数据流例如如图1A所示。例如,终端110和父进程120之间的传输的数据为数据a和数据c。父进程120和子进程130之间传输的数据例如为数据b。子进程130和终端110之间传输的数据例如为数据d。
在一种实施例中,由于RPM软件包管理工具的功能限定,子进程130可以向终端110发送数据d,但是,子进程130无法直接从终端110获取用户由终端110的输入的输入数据。
如图1B所示,为了实现子进程130在执行预定操作时可以和用户进行交互,可以通过创建子进程130和终端110之间的交互通道,使得子进程130可以直接获取用户由终端110输入的输入数据e,实现子进程130在执行预定操作时可以和用户进行交互,以便用户可以控制预定操作的执行过程。
图2示意性示出了根据本公开实施例的针对应用程序的数据处理方法的流程图。
如图2所示,本公开实施例的方法例如可以包括以下操作S210~操作S250。
在操作S210,获取目标脚本数据,其中,目标脚本数据包括针对应用程序执行预定操作所需要的数据,目标脚本数据包括第一子脚本数据和第二子脚本数据。
根据本公开实施例,目标脚本数据例如可以是能够在目标操作系统环境中运行的脚本数据,目标操作系统环境例如可以是Linux操作系统环境。针对应用程序执行预定操作例如可以包括在目标操作系统环境中对应用程序进行卸载、安装或升级等操作。例如,可以通过运行该目标脚本数据来实现在Linux操作系统中卸载、安装或升级应用程序。
在本公开实施例中,目标脚本数据例如可以包括多个子脚本数据,本公开实施例例如可以通过运行多个子脚本数据来实现卸载、安装或升级应用程序的功能。
在操作S220,运行第一子脚本数据,生成请求确认指示。
在本公开实施例中,运行第一子脚本数据例如包括在目标操作系统环境中运行第一子脚本数据。例如,在针对应用程序执行预定操作时,可以通过运行第一子脚本数据来生成请求确认指示。然后,可以将该请求确认指示发送至终端,以便通过终端提醒用户确认是否需要继续针对应用程序执行预定操作。
例如,以预定操作为卸载操作为例,当运行目标脚本数据来实现卸载应用程序时,在运行第一子脚本数据的过程中能够生成请求确认指示,该请求确认指示例如可以用于提醒用户确定是否要继续卸载该应用程序,或者还可以用于提醒用户输入卸载应用程序所需的卸载密码。
在操作S230,获取用户针对请求确认指示的输入数据。
根据本公开实施例,当将请求确认指示发送至终端进行显示后,用户可以通过终端输入针对该请求确认指示的输入数据。其中,用户的输入数据例如可以包括确定继续卸载该应用程序,或者,用户的输入数据还可以是卸载应用程序所需的卸载密码。
在操作S240,基于输入数据,确定是否运行第二子脚本数据。
接下来,在操作S250,响应于确定运行第二子脚本数据,运行第二子脚本数据,以便对应用程序执行预定操作。
根据本公开实施例,运行第二子脚本数据可以包括在目标操作系统环境中运行第二子脚本数据。例如,可以根据用户的输入数据来确定是否运行第二子脚本数据以实现继续对应用程序执行预定操作。例如,如果用户的输入数据表征用户确定继续卸载应用程序,则可以运行第二子脚本数据来继续卸载应用程序。或者,当用户的输入数据为正确的卸载密码,则可以运行第二子脚本数据来继续卸载应用程序,如果用户的输入数据为错误的卸载密码,则可以禁止运行第二子脚本数据,以便停止继续卸载应用程序。
可以理解,本公开实施例在执行目标脚本数据来实现针对应用程序执行预定操作时,可以通过获取用户的输入数据,并基于输入数据来确定是否要继续针对应用程序执行预定操作。例如,通过运行第一子脚本数据生成请求确认指示,并将请求确认指示发送至终端。然后,接收用户通过终端输入针对该请求确认指示的输入数据,便于基于输入数据确定是否继续运行第二子脚本数据来实现针对应用程序执行预定操作。可见,通过本公开实施例的技术方案,实现了在针对应用程序执行预定操作的过程中可以和用户进行交互,以便用户可以通过输入数据来控制预定操作的执行过程,提高了针对应用程序执行预定操作的灵活性。
图3示意性示出了根据本公开另一实施例的针对应用程序的数据处理方法的流程图。
如图3所示,本公开实施例的方法例如可以包括操作S210~操作S250以及以下操作S310~操作S320。
在本公开实施例中,例如可以通过父进程来控制目标脚本数据的运行过程。例如,当目标脚本数据包括多个子脚本数据时,可以通过父进程依次创建多个子进程来运行多个子脚本数据。例如,当多个子脚本数据包括子脚本数据1、子脚本数据2、子脚本数据3时,父进程例如首先创建子进程1来运行子脚本数据1。当子脚本数据1运行完成后,父进程可以继续创建子进程2来运行子脚本数据2。当子脚本数据2运行完成后,父进程可以继续创建子进程3来运行子脚本数据3。
在操作S310,通过父进程创建第一子进程。
根据本公开实施例,上述操作S220中关于运行第一子脚本数据例如可以包括:通过第一子进程运行第一子脚本数据,生成请求确认指示。
接下来,在操作S320,创建第一子进程和终端输入窗口之间的交互通道。
根据本公开实施例,上述操作S230中关于获取用户针对请求确认指示的输入数据例如可以包括:通过第一子进程经由交互通道获取用户针对请求确认指示的输入数据,输入数据是用户通过终端输入窗口输入的数据。
例如,在运行第一子脚本数据生成请求确认指示时,将生成的请求确认指示发送至终端,用户可以通过终端输入窗口属于针对该请求确认指示的输入数据,第一子进程可以经由交互通道从终端输入窗口中获取用户的输入数据。
根据本公开实施例,创建第一子进程和终端输入窗口之间的交互通道可以包括以下(1)~(2)中的至少一种方式。
(1)运行第一子脚本数据中的目标数据,创建交互通道。
例如,在第一子脚本数据中配置相关的目标数据,目标数据例如可以是程序语句或相关函数。其中,第一子脚本数据例如可以包括卸载前脚本数据,例如在开始卸载应用程序之前,首先运行第一子脚本数据,当运行到第一子脚本数据中的目标数据时,可以创建第一子进程和终端输入窗口之间的交互通道,便于第一子进程通过交互通道获取用户通过终端输入窗口所输入的输入数据。
(2)运行第一子脚本数据,以调用目标程序创建交互通道。其中,目标程序例如是独立于第一子脚本数据的程序,第一子脚本数据中例如包括调用信息,在运行第一子脚本数据的调用信息时可以调用目标程序,以利用目标程序来创建交互通道。
根据本公开实施例,第二子脚本数据例如可以包括卸载中脚本数据、卸载后脚本数据,当运行到卸载中脚本数据时可以表示应用程序正在被卸载。卸载后脚本数据中例如包括卸载应用程序后执行相关配置操作时所需的数据,例如,当运行到卸载后脚本数据时可以表示应用程序已被卸载,此时正在进行卸载后的相关配置操作。例如,在用户的输入数据表征需要继续卸载应用程序时,可以继续运行第二子脚本数据来实现卸载应用程序。
根据本公开实施例,上述操作S240中关于基于输入数据,确定是否运行第二子脚本数据例如可以包括:获取验证数据,确定输入数据与验证数据是否一致以得到验证结果,并基于验证结果,确定是否运行第二子脚本数据。
如果验证结果表征输入数据与验证数据一致,可以运行第二子脚本数据。如果验证结果表征输入数据与验证数据不一致,可以禁止运行第二子脚本数据。
其中,验证数据例如可以是预先存储的正确的卸载密码。如果用户输入数据中包括卸载密码,可以将用户输入的卸载密码和预先存储的卸载密码进行比对,如果一致,则表征用户具有卸载应用程序的权限,此时可以继续运行第二子脚本数据来实现卸载应用程序。如果不一致,则表明用户不具有卸载应用程序的权限,此时可以禁止运行第二子脚本数据,以便停止继续卸载应用程序。
根据本公开实施例,上述操作S250中关于响应于确定运行第二子脚本数据,运行第二子脚本数据例如包括:响应于确定运行第二子脚本数据,通过父进程创建第二子进程,并通过第二子进程运行第二子脚本数据。
根据本公开实施例,在验证结果表征输入数据与验证数据不一致时,禁止运行第二子脚本数据。例如,可以终止父进程,以便禁止父进程创建用于运行第二子脚本数据的第二子进程。
可以理解,本公开实施例通过创建第一子进程和终端输入窗口之间的交互通道,便于第一子进程通过交互通道获取用户在终端输入窗口中的输入数据,以便基于输入数据来确定是否禁止运行第二子脚本数据。在需要禁止运行第二子脚本数据时,可以终止父进程来实现终止预定操作的执行流程,使得用户可以在预定操作执行过程中根据需要来终止预定操作的执行,提高了程序卸载过程中的灵活性。
图4示意性示出了根据本公开实施例的针对应用程序的数据处理装置的框图。
如图4所示,针对应用程序的数据处理装置400例如可以包括第一获取模块410、生成模块420、第二获取模块430、确定模块440以及运行模块450。
第一获取模块410可以用于获取目标脚本数据,其中,目标脚本数据包括针对应用程序执行预定操作所需要的数据,目标脚本数据包括第一子脚本数据和第二子脚本数据。根据本公开实施例,第一获取模块410例如可以执行上文参考图2描述的操作S210,在此不再赘述。
生成模块420可以用于运行第一子脚本数据,生成请求确认指示。根据本公开实施例,生成模块420例如可以执行上文参考图2描述的操作S220,在此不再赘述。
第二获取模块430可以用于获取用户针对请求确认指示的输入数据。根据本公开实施例,第二获取模块430例如可以执行上文参考图2描述的操作S230,在此不再赘述。
确定模块440可以用于基于输入数据,确定是否运行第二子脚本数据。根据本公开实施例,确定模块440例如可以执行上文参考图2描述的操作S240,在此不再赘述。
运行模块450可以用于响应于确定运行第二子脚本数据,运行第二子脚本数据,以便对应用程序执行预定操作。根据本公开实施例,运行模块450例如可以执行上文参考图2描述的操作S250,在此不再赘述。
图5示意性示出了根据本公开另一实施例的针对应用程序的数据处理装置的框图。
如图5所示,针对应用程序的数据处理装置500例如可以包括第一获取模块410、生成模块420、第二获取模块430、确定模块440以及运行模块450、第一创建模块510以及第二创建模块520。其中,第一获取模块410、生成模块420、第二获取模块430、确定模块440以及运行模块450例如与上参考图4描述的模块相同或类似,在此不再赘述。
第一创建模块510可以用于通过父进程创建第一子进程。根据本公开实施例,第一创建模块510例如可以执行上文参考图3描述的操作S310,在此不再赘述。
根据本公开实施例,运行第一子脚本数据包括:通过第一子进程运行第一子脚本数据。
第二创建模块520可以用于创建第一子进程和终端输入窗口之间的交互通道。根据本公开实施例,第二创建模块520例如可以执行上文参考图3描述的操作S320,在此不再赘述。
根据本公开实施例,获取用户针对请求确认指示的输入数据包括:通过第一子进程经由交互通道获取输入数据,其中,输入数据是用户通过终端输入窗口输入的数据。
根据本公开实施例,创建第一子进程和终端输入窗口之间的交互通道包括以下至少一项:运行第一子脚本数据中的目标数据,创建交互通道,运行第一子脚本数据,以调用目标程序创建交互通道。
根据本公开实施例,基于输入数据,确定是否运行第二子脚本数据包括:获取验证数据,确定输入数据与验证数据是否一致以得到验证结果,基于验证结果,确定是否运行第二子脚本数据。
根据本公开实施例,装置400或装置500例如还包括:禁止模块,响应于验证结果表征输入数据与验证数据不一致,禁止运行第二子脚本数据。
根据本公开实施例,禁止运行第二子脚本数据包括:终止父进程,以便禁止父进程创建用于运行第二子脚本数据的第二子进程。
根据本公开实施例,响应于确定运行第二子脚本数据,运行第二子脚本数据包括:响应于确定运行第二子脚本数据,通过父进程创建第二子进程,通过第二子进程运行第二子脚本数据。
根据本公开实施例,运行第一子脚本数据包括:在目标操作系统环境中运行第一子脚本数据。运行第二子脚本数据包括:在目标操作系统环境中运行第二子脚本数据。其中,目标操作系统环境包括Linux操作系统环境。
根据本公开实施例,本公开还提供了一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行图2~图3中描述的方法。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及同件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块410、生成模块420、第二获取模块430、确定模块440以及运行模块450、第一创建模块510以及第二创建模块520中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块410、生成模块420、第二获取模块430、确定模块440以及运行模块450、第一创建模块510以及第二创建模块520中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块410、生成模块420、第二获取模块430、确定模块440以及运行模块450、第一创建模块510以及第二创建模块520中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于针对应用程序的数据处理的计算机系统的方框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是计算机非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (13)

1.一种针对应用程序的数据处理方法,包括:
获取目标脚本数据,其中,所述目标脚本数据包括针对所述应用程序执行预定操作所需要的数据,所述目标脚本数据包括第一子脚本数据和第二子脚本数据;
运行所述第一子脚本数据,生成请求确认指示;
获取用户针对所述请求确认指示的输入数据;
基于所述输入数据,确定是否运行所述第二子脚本数据;以及
响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据,以便对所述应用程序执行所述预定操作。
2.根据权利要求1所述的方法,还包括:通过父进程创建第一子进程,所述父进程用于控制所述目标脚本数据的运行;
其中,所述运行所述第一子脚本数据包括:通过所述第一子进程运行所述第一子脚本数据。
3.根据权利要求2所述的方法,还包括:创建所述第一子进程和终端输入窗口之间的交互通道;
其中,所述获取用户针对所述请求确认指示的输入数据包括:通过所述第一子进程经由所述交互通道获取所述输入数据,其中,所述输入数据是所述用户通过所述终端输入窗口输入的数据。
4.根据权利要求3所述的方法,其中,所述创建所述第一子进程和终端输入窗口之间的交互通道包括以下至少一项:
运行所述第一子脚本数据中的目标数据,创建所述交互通道;以及
运行所述第一子脚本数据,以调用目标程序创建所述交互通道。
5.根据权利要求2所述的方法,其中,所述基于所述输入数据,确定是否运行所述第二子脚本数据包括:
获取验证数据;
确定所述输入数据与所述验证数据是否一致以得到验证结果;以及
基于所述验证结果,确定是否运行所述第二子脚本数据。
6.根据权利要求5所述的方法,还包括:
响应于所述验证结果表征所述输入数据与所述验证数据不一致,禁止运行所述第二子脚本数据。
7.根据权利要求6所述的方法,其中,所述禁止运行所述第二子脚本数据包括:
终止所述父进程,以便禁止所述父进程创建用于运行所述第二子脚本数据的第二子进程。
8.根据权利要求7所述的方法,其中,所述响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据包括:
响应于确定运行所述第二子脚本数据,通过所述父进程创建所述第二子进程;以及
通过所述第二子进程运行所述第二子脚本数据。
9.根据权利要求1所述的方法,其中:
所述运行所述第一子脚本数据包括:在目标操作系统环境中运行所述第一子脚本数据;
所述运行所述第二子脚本数据包括:在目标操作系统环境中运行所述第二子脚本数据;
其中,所述目标操作系统环境包括Linux操作系统环境。
10.一种针对应用程序的数据处理装置,包括:
第一获取模块,获取目标脚本数据,其中,所述目标脚本数据包括针对所述应用程序执行预定操作所需要的数据,所述目标脚本数据包括第一子脚本数据和第二子脚本数据;
生成模块,运行所述第一子脚本数据,生成请求确认指示;
第二获取模块,获取用户针对所述请求确认指示的输入数据;
确定模块,基于所述输入数据,确定是否运行所述第二子脚本数据;以及
运行模块,响应于确定运行所述第二子脚本数据,运行所述第二子脚本数据,以便对所述应用程序执行所述预定操作。
11.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~9中任一项所述的方法。
13.一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现根据权利要求1~9中任一项所述的方法。
CN202010452139.5A 2020-05-25 2020-05-25 针对应用程序的数据处理方法、装置、计算设备以及介质 Active CN113721933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010452139.5A CN113721933B (zh) 2020-05-25 2020-05-25 针对应用程序的数据处理方法、装置、计算设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010452139.5A CN113721933B (zh) 2020-05-25 2020-05-25 针对应用程序的数据处理方法、装置、计算设备以及介质

Publications (2)

Publication Number Publication Date
CN113721933A true CN113721933A (zh) 2021-11-30
CN113721933B CN113721933B (zh) 2024-08-23

Family

ID=78671153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010452139.5A Active CN113721933B (zh) 2020-05-25 2020-05-25 针对应用程序的数据处理方法、装置、计算设备以及介质

Country Status (1)

Country Link
CN (1) CN113721933B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022281A1 (en) * 2006-07-19 2008-01-24 Microsoft Corporation Trusted communications with child processes
CN106020957A (zh) * 2016-04-27 2016-10-12 青岛海信移动通信技术股份有限公司 移动通信终端进程创建方法和移动通信终端
CN106095602A (zh) * 2016-06-22 2016-11-09 东软集团股份有限公司 控制进程运行的方法及装置
CN108241496A (zh) * 2016-12-23 2018-07-03 北京奇虎科技有限公司 应用程序的平滑升级方法及装置
CN110704304A (zh) * 2019-09-06 2020-01-17 平安普惠企业管理有限公司 一种应用程序测试方法、装置、存储介质和服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022281A1 (en) * 2006-07-19 2008-01-24 Microsoft Corporation Trusted communications with child processes
CN106020957A (zh) * 2016-04-27 2016-10-12 青岛海信移动通信技术股份有限公司 移动通信终端进程创建方法和移动通信终端
CN106095602A (zh) * 2016-06-22 2016-11-09 东软集团股份有限公司 控制进程运行的方法及装置
CN108241496A (zh) * 2016-12-23 2018-07-03 北京奇虎科技有限公司 应用程序的平滑升级方法及装置
CN110704304A (zh) * 2019-09-06 2020-01-17 平安普惠企业管理有限公司 一种应用程序测试方法、装置、存储介质和服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张虎;黄海于;: "基于分布式环境的子进程监控软件设计与实现", 微型机与应用, no. 07, 10 April 2013 (2013-04-10) *

Also Published As

Publication number Publication date
CN113721933B (zh) 2024-08-23

Similar Documents

Publication Publication Date Title
US8566799B2 (en) Resuming a prior debug session
US9250889B2 (en) Assigning severity to a software update
WO2017145300A1 (ja) テストケース生成装置及びテストケース生成プログラム
US10564889B2 (en) Method and apparatus for processing data based on physical host
JP2021508880A (ja) 端末のアプリケーション管理方法、アプリケーションサーバー及び端末
US9424169B1 (en) Method of integrating heterogeneous test automation frameworks
CN108121650B (zh) 一种对于页面用户界面的测试方法及装置
CN113268684A (zh) 数据处理方法、装置、终端设备以及存储介质
CN111177732B (zh) 系统调试模式的控制方法、系统及电子设备
US11385923B2 (en) Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container
CN110399209B (zh) 数据处理方法、系统、电子设备和存储介质
CN113591002A (zh) 数据处理方法、数据处理装置、电子设备和存储介质
CN111611086A (zh) 信息处理方法、装置、电子设备和介质
CN113515448A (zh) 应用程序启动时间信息的获取方法及装置
CN105893233B (zh) 用于自动测试固件的方法和系统
CN108139901B (zh) 使用外部设备的运行时间验证
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
EP3321808A1 (en) Verification system and verification method
CN110417597B (zh) 用于监控证书的方法及装置、电子设备和可读存储介质
CN113721933A (zh) 针对应用程序的数据处理方法、装置、计算设备以及介质
WO2023226421A1 (zh) 一种安全加固方法、装置、设备及介质
CN114791885A (zh) 接口测试方法、装置、设备及介质
CN113127082A (zh) 数据处理方法、服务器、服务节点、系统和存储介质
CN111859403A (zh) 依赖关系漏洞的确定方法、装置、电子设备及存储介质
US8561027B2 (en) Reflection capability in static programming languages

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

Country or region after: China

Address after: 100044 2nd floor, building 1, yard 26, Xizhimenwai South Road, Xicheng District, Beijing

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Applicant after: QAX Technology Group Inc.

Address before: 100097 No. 202, 203, 205, 206, 207, 208, 2nd floor, block D, No. 51, Kunming Hunan Road, Haidian District, Beijing

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

Country or region before: China

Applicant before: QAX Technology Group Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant