CN108090347B - 一种数据处理方法和系统 - Google Patents

一种数据处理方法和系统 Download PDF

Info

Publication number
CN108090347B
CN108090347B CN201611043345.0A CN201611043345A CN108090347B CN 108090347 B CN108090347 B CN 108090347B CN 201611043345 A CN201611043345 A CN 201611043345A CN 108090347 B CN108090347 B CN 108090347B
Authority
CN
China
Prior art keywords
processing result
request
component
processing
user code
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
Application number
CN201611043345.0A
Other languages
English (en)
Other versions
CN108090347A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201611043345.0A priority Critical patent/CN108090347B/zh
Publication of CN108090347A publication Critical patent/CN108090347A/zh
Application granted granted Critical
Publication of CN108090347B publication Critical patent/CN108090347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本方案实施例提供了一种数据处理方法和系统,所述方法包括:所述第一进程将请求发送给所述第二进程;所述第二进程对所述请求进行处理,得到处理结果;所述第二进程将所述处理结果返回给所述第一进程;所述第一进程接收所述处理结果。在本方案实施例中,实现了用户代码和系统代码在运行时的完全隔离,进一步的,用户代码在运行过程中不会对系统代码造成影响,因此提高了系统的安全性。

Description

一种数据处理方法和系统
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和系统。
【背景技术】
在现有技术中,为了提高用户在使用大数据系统时的灵活度,规定用户可自定义代码,即用户根据自身需求设计代码,然后在大数据系统中直接运行以获得结果。
但是,用户自定义的代码存在安全隐患,如:恶意代码或者用户的误操作生成的代码都会对系统代码的运行造成影响,甚至会对系统造成重大损失,再或者,在运行用户自定义的代码时,会对系统代码运行时的稳定性造成影响等情况。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术中系统的安全性较低。
【发明内容】
有鉴于此,本方案实施例提供了一种数据处理方法和系统,用以解决现有技术中系统安全性较低的问题。
第一方面,本方案实施例提供了一种数据处理方法,应用于包括第一进程和第二进程的系统,所述第一进程运行用户代码,所述第二进程运行系统代码,包括:
所述第一进程将请求发送给所述第二进程;
所述第二进程对所述请求进行处理,得到处理结果;
所述第二进程将所述处理结果返回给所述第一进程;
所述第一进程接收所述处理结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一进程将请求发送给所述第二进程,包括:
所述第一进程通过指定通道将所述请求发送给所述第二进程。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一进程通过指定通道将所述请求发送给所述第二进程之前,所述方法还包括:
所述第二进程根据所述用户代码的类型,创建所述第一进程;
所述第二进程根据所述用户代码的类型,创建所述指定通道。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一进程通过指定通道将所述请求发送给所述第二进程,包括:
所述第一进程通过所述指定通道中的指定接口将所述请求发送给第二进程。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二进程将所述处理结果返回给所述第一进程,包括:
所述第二进程根据所述指定接口的类型,创建新的通道;
所述第二进程通过新的通道将所述处理结果返回给所述第一进程。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二进程包括监听组件、处理组件和响应组件;
所述第二进程对所述请求进行处理,得到处理结果,包括:所述监听组件将接收到的所述请求转发给所述处理组件;所述处理组件对所述请求进行处理,得到处理结果,并将所述处理结果发送给所述响应组件;
所述第二进程将所述处理结果返回给所述第一进程,包括:所述响应组件将所述处理结果发送给所述第一进程。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一进程包括发送组件和接收组件;
所述第一进程将请求发送给所述第二进程,包括:所述发送组件将所述请求发送给所述第二进程;
所述第一进程接收所述处理结果,包括:所述接收组件接收所述处理结果。
上述技术方案中的一个技术方案具有如下有益效果:由于第一进程运行用户代码,第二进程运行系统代码,即用户代码和系统代码运行在不同的进程中,实现了用户代码和系统代码的运行环境的隔离,并且在运行用户代码的过程中,由于第二进程只是根据第一进程发送的请求进行处理,在得到处理结果后并将处理结果返回给第一进程,所以在运行用户代码的过程中,用户代码和系统代码也是分开运行的,即第一进程独自运行用户代码,当需要在系统代码中进行调用时,第一进程将请求发送给第二进程,由第二进程对该请求进行处理,并将得到处理结果返回给第一进程,因此实现了用户代码和系统代码在运行时的隔离,进一步的,用户代码在运行过程中不会对系统代码造成影响,因此提高了系统的安全性。
第二方面,本方案实施例提供了一种数据处理系统,所述系统包括第一进程和第二进程,所述第一进程运行用户代码,所述第二进程运行系统代码,所述系统包括:
发送单元,用于通过所述第一进程将请求发送给所述第二进程;
处理单元,用于通过所述第二进程对所述请求进行处理,得到处理结果;
返回单元,用于通过所述第二进程将所述处理结果返回给所述第一进程;
接收单元,用于通过所述第一进程接收所述处理结果。
上述技术方案中的一个技术方案具有如下有益效果:在本方案实施例中,由于第一进程运行用户代码,第二进程运行系统代码,即用户代码和系统代码运行在不同的进程中,实现了用户代码和系统代码的运行环境的隔离,并且在运行用户代码的过程中,由于第二进程只是根据第一进程发送的请求进行处理,在得到处理结果后并将处理结果返回给第一进程,所以在运行用户代码的过程中,用户代码和系统代码也是分开运行的,即第一进程独自运行用户代码,当需要在系统代码中进行调用时,第一进程将请求发送给第二进程,由第二进程对该请求进行处理,并将得到处理结果返回给第一进程,因此实现了用户代码和系统代码在运行时的隔离,进一步的,用户代码在运行过程中不会对系统代码造成影响,因此提高了系统的安全性。
第三方面,本方案实施例提供了一种存储程序的非易失性计算机可读存储介质,该程序使数据处理系统执行数据处理方法,所述方法包括以下步骤:
所述第一进程将请求发送给所述第二进程;
所述第二进程对所述请求进行处理,得到处理结果;
所述第二进程将所述处理结果返回给所述第一进程;
所述第一进程接收所述处理结果;
其中,所述第一进程运行用户代码,所述第二进程运行系统代码。
上述技术方案中的一个技术方案具有如下有益效果:在本方案实施例中,由于第一进程运行用户代码,第二进程运行系统代码,即用户代码和系统代码运行在不同的进程中,实现了用户代码和系统代码的运行环境的隔离,并且在运行用户代码的过程中,由于第二进程只是根据第一进程发送的请求进行处理,在得到处理结果后并将处理结果返回给第一进程,所以在运行用户代码的过程中,用户代码和系统代码也是分开运行的,即第一进程独自运行用户代码,当需要在系统代码中进行调用时,第一进程将请求发送给第二进程,由第二进程对该请求进行处理,并将得到处理结果返回给第一进程,因此实现了用户代码和系统代码在运行时的隔离,进一步的,用户代码在运行过程中不会对系统代码造成影响,因此提高了系统的安全性。
【附图说明】
为了更清楚地说明本方案实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本方案实施例一中提供的一种数据处理方法的流程示意图;
图2是本方案实施例一中提供的一种第一进程和第二进程的关系示意图;
图3是本方案实施例二中提出的一种创建指定通道的方法流程示意图;
图4是本方案实施例二中提出的一种处理结果返回方法的流程示意图;
图5是本方案实施例四中提供的一种父子进程系统的框架示意图;
图6是本方案实施例五中提供的一种数据处理系统的结构示意图;
图7为本方案实施例六中提出的一种服务器100的简化框图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本方案实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本方案实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本方案实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本方案实施例中可能采用术语第一、第二来描述创建单元,但这些创建单元不应限于这些术语。这些术语仅用来将创建单元彼此区分开。例如,在不脱离本方案实施例范围的情况下,第一创建单元也可以被称为第二创建单元,类似地,第二创建单元也可以被称为第一创建单元。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例一
本方案实施例给出一种数据处理方法,请参考图1,其为本方案实施例所提供的一种数据处理方法的流程示意图,如图所示,该方法应用于包括第一进程和第二进程的系统,所述第一进程运行用户代码,所述第二进程运行系统代码,该方法包括以下步骤:
101、所述第一进程将请求发送给所述第二进程;
102、所述第二进程对所述请求进行处理,得到处理结果;
103、所述第二进程将所述处理结果返回给所述第一进程;
104、所述第一进程接收所述处理结果。
请参考图2,其为本方案实施例所提供的一种包括第一进程和第二进程的系统的示意图,其中,第一进程中运行用户代码,第二进程中运行系统代码,第二进程下包括至少一个第一进程,且每个第一进程都可以独立运行一个用户代码,即第二进程可以为至少一个第一进程提供服务,例如:在第一进程需要使用到第二进程中的数据时,第二进程根据第一进程的请求,将对应的数据返回给第一进程;且每个第一进程可以同时向第二进程发送请求,并且第一进程之间互不影响,实现用户代码的独立运行。
基于该系统架构,当用户代码在第一进程中运行时,当需要使用系统中的某些数据,或者进行系统调用时,需要将请求发送给第二进程,第二进程对接收到的请求内容进行处理,得到处理结果,然后将该处理结果返回给第一进程,以使第一进程根据该处理结果继续运行用户代码。在上述过程中,第一进程和第二进程分别独立运行用户代码和系统代码,并且在第一进程运行用户代码的过程中,会根据用户代码运行的需要向第二进程发送请求,第二进程根据请求得到处理结果,然后将处理结果返回给第一进程,即第一进程在运行用户代码的过程中,不会对第二进程中系统代码产生影响,进一步的,在上述过程中,由于系统代码和用户代码为隔离运行,第二进程中的系统代码只是根据用户代码的请求得到处理结果,因此用户代码不会对系统代码产生实质性的影响,如:对系统代码进行修改,或者,由于用户代码本身的原因而影响到系统代码的运行等情况。
其中,第一进程中的用户代码在进行系统调用时,第二进程在对第一进程发送的系统调用请求进行处理时是在预先设置的沙箱中进行处理的,以避免用户代码可能对系统代码进行攻击的情况。
由于第一进程运行用户代码,第二进程运行系统代码,即用户代码和系统代码运行在不同的进程中,实现了用户代码和系统代码的运行环境的隔离,并且在运行用户代码的过程中,由于第二进程只是根据第一进程发送的请求进行处理,在得到处理结果后并将处理结果返回给第一进程,所以在运行用户代码的过程中,用户代码和系统代码也是分开运行的,即第一进程独自运行用户代码,当需要在系统代码中进行调用时,第一进程将请求发送给第二进程,由第二进程对该请求进行处理,并将得到处理结果返回给第一进程,因此实现了用户代码和系统代码在运行时的隔离,进一步的,用户代码在运行过程中不会对系统代码造成影响,因此提高了系统的安全性。
实施例二
本方案实施例提出了一种针对步骤101的进一步实现方案,所述第一进程将请求发送给所述第二进程,包括:
所述第一进程通过指定通道将所述请求发送给所述第二进程。
第一进程通过指定通道将请求发送给第二进程时,可以提高数据的交互速率,减少跨进程过程中的性能损耗。
如图3所示,所述第一进程通过指定通道将所述请求发送给所述第二进程之前,所述方法还包括以下步骤:
301、所述第二进程根据所述用户代码的类型,创建所述第一进程;
302、所述第二进程根据所述用户代码的类型,创建所述指定通道。
具体的,第二进程能够对第一进程进行创建和管理,在系统接收到用户代码后,由第二进程负责分配。由于用户代码可能是由不同类型的编辑语言编辑而成,而运行用户代码的进程为第一进程,因此第一进程必须为能够为该用户代码提供运行环境的进程,所以在第二进程分配该用户代码时,需要识别该用户代码的类型,然后根据该类型创建对应的第一进程,以使创建后的第一进程可以识别该用户代码,或者当存在空闲的第一进程时,第二进程识别出该用户代码的类型后,判断该空闲的第一进程是否能够运行该类型的用户代码,如果能够运行,则将该用户代码发送给该第一进程,如果不能运行,则根据需要创建一个可以运行该类型用户代码的第一进程。
同理,为了能够让指定通道运行该用户代码发送的请求,需要第二进程根据用户代码的类型建立该指定通道。
进一步的,由于系统代码和用户代码的类型可能是不同的,即第一进程和第二进程运行的语言类型是不同的,并且第一进程和第二进程之间的指定通道能够运行第一进程发送的请求,因此该系统实现了跨语言支持。
所述第一进程通过指定通道将所述请求发送给所述第二进程,包括:
所述第一进程通过所述指定通道中的指定接口将所述请求发送给第二进程。
具体的,为了进一步提高数据的交互速率,第一进程在发送请求时,需要预先识别该请求的函数类型,在识别出该请求的函数类型后,通过与该函数类型对应的指定接口将该请求发送给第二进程。
进一步的,指定通道中包含多个指定接口,每个指定接口针对一种函数类型或针对一类函数类型进行发送,并且不同类型的指定接口具有不同的功能,例如:指定接口包括:RPC(Remote Procedure Call Protocol,远程过程调用协议)接口,RPC接口能够实现同步调用,或者异步调用,同步调用是指在第一进程发送请求后,会等待第二进程的返回结果,其中返回结果包括:处理成功后的处理结果,或者是处理失败后的处理结果,异步调用是指第一进程发送请求后,会获得第二进程发送的响应对象,第一进程可以根据该响应对象来获取第二进程的处理结果;还可以包括流式接口,流式接口能够满足大批量的数据传输,并且流式接口能够满足数据的直接读写需求。
再进一步的,由于指定通道和指定接口具有上述特点,在第一进程发送请求时,根据该请求的函数类型,以及获取处理结果的方式来选择对应的指定通道,以及该指定通道中的指定接口。
如图4所示,当发送请求的指定接口为流式接口,在第一进程将所述处理结果返回给所述第一进程时,包括以下步骤:
401、所述第二进程根据所述指定接口的类型,创建新的通道;
402、所述第二进程通过新的通道将所述处理结果返回给所述第一进程。
具体的,在第二进程根据请求获得处理结果后,第二进程需要发送该请求的指定接口的类型返回该处理结果,以满足第一进程对返回的处理结果的需求,并且,在大数据场景下,第一进程和第二进程之间会需要交互大批量数据,为了提高大批量数据传输场景下的系统性能,以及为了进一步提高数据交互的速率,需要根据接收该请求的指定接口的类型创建新的通道,并通过该通道将处理结果返回给第一进程,当发送请求的指定接口为RPC接口时,则无需创建新的通道,可以通过原有通道将处理结果返回给第一进程。
实施例三
本方案实施例提出了一种针对实施例一的具体实现方法,其中,所述第二进程包括监听组件、处理组件和响应组件;所述第一进程包括发送组件和接收组件;
所述第一进程通过所述发送组件将请求发送给所述第二进程;
所述第二进程通过所述监听组件将接收到的所述请求转发给所述处理组件;通过所述处理组件对所述请求进行处理,得到处理结果,并将所述处理结果发送给所述响应组件;
所述第二进程通过所述响应组件将所述处理结果发送给所述第一进程;
所述第一进程通过所述接收组件接收所述处理结果。
具体的,由于第一进程和第二进程具有不同功能的组件,对数据进行处理时实现了分区域处理,提高了数据处理的速度。
实施例四
为了进一步阐述本方案实施例的技术思想,现结合具体的应用场景,对本申请的技术方案进行说明,具体的,如图5所示,为本方案实施例中的一种父子进程系统框架示意图,其中,系统代码运行在父进程中,用户代码运行在各子进程中。
在该父子进程系统中,父进程中包括:一个控制组件,一个监听组件,以及若干个响应组件和处理组件,其中,控制组件具有创建、监听和关闭子进程的功能,监听组件具有监听子进程发送的请求的功能,处理组件具有对请求进行处理,得到处理结果的功能,响应组件具有将处理结果发送给对应子进程的功能。子进程中包括:一个接收组件和一个发送组件,其中,发送组件具有发送请求的功能,接收组件具有接收父进程发送的处理结果的功能。
如图5所示,控制组件接收到用户代码后,具体包括以下步骤:
1、判断该用户代码的语言类型。
2、在判断出该用户代码的语言类型后,根据该语言类型创建能够运行该用户代码的子进程,并根据该语言类型创建第一指定通道。其中,创建的第一指定通道为监听组件和发送组件之间的第一指定通道,该第一指定通道中包括若干个指定接口,该指定接口包括但不限于:RPC接口和流式接口。
3、在子进程运行该用户代码需要用到父进程中的数据时,根据请求的函数类型在该第一指定通道中对应的指定接口将该请求发送给父进程中的监听组件。
其中,在发送该请求时,将该请求按照通道协议进行序列化后写入该指定接口上进行发送。
4、在监听组件接收到该请求后,选择一组空闲的处理组件和响应组件对该请求进行处理。
其中,在监听组件接收到该请求后,根据通道协议对该请求进行反序列化,然后再对该请求进行处理,在对该请求进行处理时,监听组件将该请求发送给该处理组件,该处理组件对该请求进行处理,得到处理结果。
5、处理组件将该处理结果发送给响应组件,当该第一指定通道的该指定接口时,该响应组件创建第二指定通道。
6、该响应组件根据该处理结果的类型在第二指定通道中选择对应的指定接口将该处理结果发送给对应子进程的接收组件。
其中,在发送该处理结果时,根据第二指定通道的协议对该处理结果进行序列化,将序列化后的处理结果通过该指定接口发送给该接收组件,在接收组件接收到该处理结果后,对该处理结果进行反序列化,得到能够让子进程能够识别的处理结果,以进行后续处理。
在步骤3和步骤6中,通过通道协议对数据进行序列化的目的是为了保证父子进程在进行数据交互时可以转换为父进程或子进程能够读取的数据,实现了在代码隔离运行时的跨语言支持。
在父进程获得用户代码后,如果父进程确定第一子进程为运行该用户代码语言的子进程,且该第一子进程为空进程,父进程可以将该用户代码发送给该第一子进行,以使该第一子进程运行该用户代码。
实施例五
本方案实施例还提供了一种数据处理系统,如图6所示,该系统包括第一进程和第二进程,第一进程运行用户代码,第二进程运行系统代码,该系统可用于实现前述各方法流程,所述系统包括:
发送单元61,用于通过所述第一进程将请求发送给所述第二进程;
处理单元62,用于通过所述第二进程对所述请求进行处理,得到处理结果;
返回单元63,用于通过所述第二进程将所述处理结果返回给所述第一进程;
接收单元64,用于通过所述第一进程接收所述处理结果。
发送单元61,具体用于:
通过所述第一进程通过指定通道将所述请求发送给所述第二进程。
所述系统还包括:
第一创建单元65,用于通过所述第二进程根据所述用户代码的类型,创建所述第一进程;
第二创建单元66,用于通过所述第二进程根据所述用户代码的类型,创建所述指定通道。
所述发送单元61,还用于:
通过所述第一进程通过所述指定通道中的指定接口将所述请求发送给第二进程。
所述返回单元63,具体用于:
通过所述第二进程根据所述指定接口的类型,创建新的通道;
通过所述第二进程通过新的通道将所述处理结果返回给所述第一进程。
所述第二进程包括监听组件、处理组件和响应组件;
所述处理单元62用于通过所述第二进程对所述请求进行处理,得到处理结果时,包括:通过所述监听组件将接收到的所述请求转发给所述处理组件;通过所述处理组件对所述请求进行处理,得到处理结果,并将所述处理结果发送给所述响应组件;
所述返回单元63用于通过所述第二进程将所述处理结果返回给所述第一进程时,包括:通过所述响应组件将所述处理结果发送给所述第一进程。
所述第一进程包括发送组件和接收组件;
所述发送单元61用于通过所述第一进程将请求发送给所述第二进程时,包括:通过所述发送组件将所述请求发送给所述第二进程;
所述接收单元64用于通过所述第一进程接收所述处理结果时,包括:通过所述接收组件接收所述处理结果。
由于第一进程运行用户代码,第二进程运行系统代码,即用户代码和系统代码运行在不同的进程中,实现了用户代码和系统代码的运行环境的隔离,并且在运行用户代码的过程中,由于第二进程只是根据第一进程发送的请求进行处理,在得到处理结果后并将处理结果返回给第一进程,所以在运行用户代码的过程中,用户代码和系统代码也是分开运行的,即第一进程独自运行用户代码,当需要在系统代码中进行调用时,第一进程将请求发送给第二进程,由第二进程对该请求进行处理,并将得到处理结果返回给第一进程,因此实现了用户代码和系统代码在运行时的隔离,进一步的,用户代码在运行过程中不会对系统代码造成影响,因此提高了系统的安全性。
实施例六
图7为服务器100的简化框图。该服务器100可以包括与一个或多个数据存储工具连接的处理器101,该数据存储工具可以包括存储介质106和内存单元104。服务器100还可以包括输入接口105和输出接口107,用于与另一装置或系统进行通信。被处理器101的CPU执行的程序代码可存储在内存单元104或存储介质106中。
服务器100中的处理器101调用存储在内存单元104或存储介质106的程序代码,以执行下面各步骤:
通过所述第一进程将请求发送给所述第二进程;
通过所述第二进程对所述请求进行处理,得到处理结果;
通过所述第二进程将所述处理结果返回给所述第一进程;
通过所述第一进程接收所述处理结果。
其中,服务器100中包括第一进程和第二进程,第一进程运行用户代码,第二进程运行系统代码。
在一个可选的实现方案中,所述处理器101还用于通过所述第一进程通过指定通道将所述请求发送给所述第二进程。
在一个可选的实现方案中,所述处理器101还用于通过所述第二进程根据所述用户代码的类型,创建所述第一进程;通过所述第二进程根据所述用户代码的类型,创建所述指定通道。
在一个可选的实现方案中,所述处理器101还用于通过所述第一进程通过所述指定通道中的指定接口将所述请求发送给第二进程。
在一个可选的实现方案中,所述处理器101还用于通过所述第二进程根据所述指定接口的类型,创建新的通道;通过所述第二进程通过新的通道将所述处理结果返回给所述第一进程。
在一个可选的实现方案中,所述处理器101还用于通过所述监听组件将接收到的所述请求转发给所述处理组件;通过所述处理组件对所述请求进行处理,得到处理结果,并将所述处理结果发送给所述响应组件;通过所述响应组件将所述处理结果发送给所述第一进程。
在一个可选的实现方案中,所述处理器101还用于通过所述发送组件将所述请求发送给所述第二进程;通过所述接收组件接收所述处理结果。
上述实施例六中,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。内存单元可为随机存取存储器(Random Access Memory,RAM)。内存单元可与处理器物理集成或集成在存储器中或构建为单独的单元。
处理器为上述服务器的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。可选地,处理器包括一个或多个中央处理单元(CPU),例如图7中示出的CPU 0和CPU 1。上述设备中包括一个或者多个的处理器。处理器可为单核(单CPU)处理器或多核(多CPU)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。
被处理器的CPU执行的程序代码可存储在内存单元或存储介质中。可选地,存储在存储介质中的程序代码可以被复制入内存单元以便处理器的CPU执行。处理器可执行至少一个内核(例如LINUXTM、UNIXTM、WINDOWSTM、ANDROIDTM、IOSTM),众所周知,该内核用于通过控制其他程序或过程的执行、控制与外围装置的通信以及控制计算机设备资源的使用来控制上述设备的操作。
上述设备中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
实施例七
本方案实施例还提供了一种存储程序的非易失性计算机可读存储介质,该程序使数据处理系统执行数据处理方法,所述方法包括以下步骤:
所述第一进程将请求发送给所述第二进程。
所述第二进程对所述请求进行处理,得到处理结果。
所述第二进程将所述处理结果返回给所述第一进程。
所述第一进程接收所述处理结果。
其中,所述第一进程运行用户代码,所述第二进程运行系统代码。
在本方案所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本方案各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述仅为本方案的较佳实施例而已,并不用以限制本方案,凡在本方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本方案保护的范围之内。

Claims (7)

1.一种数据处理方法,其特征在于,应用于包括第一进程和第二进程的系统,所述第一进程运行用户代码,所述第二进程运行系统代码,所述第一进程由所述第二进程根据所述用户代码的类型创建;
所述方法包括:
所述第一进程通过指定通道将请求发送给所述第二进程;其中,所述指定通道由所述第二进程根据所述用户代码的类型创建;
所述第二进程对所述请求进行处理,得到处理结果;
所述第二进程将所述处理结果返回给所述第一进程;
所述第一进程接收所述处理结果。
2.根据权利要求1所述的方法,其特征在于,所述第一进程通过指定通道将所述请求发送给所述第二进程,包括:
所述第一进程通过所述指定通道中的指定接口将所述请求发送给第二进程。
3.根据权利要求2所述的方法,其特征在于,所述第二进程将所述处理结果返回给所述第一进程,包括:
所述第二进程根据所述指定接口的类型,创建新的通道;
所述第二进程通过新的通道将所述处理结果返回给所述第一进程。
4.根据权利要求1所述的方法,其特征在于,所述第二进程包括监听组件、处理组件和响应组件;
所述第二进程对所述请求进行处理,得到处理结果,包括:所述监听组件将接收到的所述请求转发给所述处理组件;所述处理组件对所述请求进行处理,得到处理结果,并将所述处理结果发送给所述响应组件;
所述第二进程将所述处理结果返回给所述第一进程,包括:所述响应组件将所述处理结果发送给所述第一进程。
5.根据权利要求1所述的方法,其特征在于,所述第一进程包括发送组件和接收组件;
所述第一进程通过指定通道将所述请求发送给所述第二进程,包括:所述发送组件通过指定通道将所述请求发送给所述第二进程;
所述第一进程接收所述处理结果,包括:所述接收组件接收所述处理结果。
6.一种数据处理系统,其特征在于,所述系统包括第一进程和第二进程,第一进程运行用户代码,第二进程运行系统代码,所述第一进程由所述第二进程根据所述用户代码的类型创建;
所述系统包括:
发送单元,用于通过所述第一进程通过指定通道将请求发送给所述第二进程;其中,所述指定通道由所述第二进程根据所述用户代码的类型创建;
处理单元,用于通过所述第二进程对所述请求进行处理,得到处理结果;
返回单元,用于通过所述第二进程将所述处理结果返回给所述第一进程;
接收单元,用于通过所述第一进程接收所述处理结果。
7.一种存储程序的非易失性计算机可读存储介质,该程序使数据处理系统执行数据处理方法,所述方法包括以下步骤:
第一进程通过指定通道将请求发送给第二进程;其中,所述指定通道由所述第二进程根据用户代码的类型创建;
所述第二进程对所述请求进行处理,得到处理结果;
所述第二进程将所述处理结果返回给所述第一进程;
所述第一进程接收所述处理结果;
其中,所述第一进程运行用户代码,所述第二进程运行系统代码,所述第一进程由所述第二进程根据所述用户代码的类型创建。
CN201611043345.0A 2016-11-23 2016-11-23 一种数据处理方法和系统 Active CN108090347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611043345.0A CN108090347B (zh) 2016-11-23 2016-11-23 一种数据处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611043345.0A CN108090347B (zh) 2016-11-23 2016-11-23 一种数据处理方法和系统

Publications (2)

Publication Number Publication Date
CN108090347A CN108090347A (zh) 2018-05-29
CN108090347B true CN108090347B (zh) 2022-01-14

Family

ID=62170213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611043345.0A Active CN108090347B (zh) 2016-11-23 2016-11-23 一种数据处理方法和系统

Country Status (1)

Country Link
CN (1) CN108090347B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423765A (zh) * 2000-03-31 2003-06-11 英特尔公司 用于隔离执行的隔离指令
CN101055623A (zh) * 2007-05-30 2007-10-17 张盛 一种实现多业务软件智能卡芯片的方法与装置
CN102460389A (zh) * 2009-05-02 2012-05-16 思杰系统有限公司 用于将应用启动到现有的隔离环境中的系统和方法
CN105159786A (zh) * 2015-07-03 2015-12-16 北京奇虎科技有限公司 一种进程间通信的方法和装置
CN105893838A (zh) * 2016-05-11 2016-08-24 北京鼎源科技有限公司 一种针对安卓操作系统关键驱动程序的加固方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101297277B (zh) * 2005-10-26 2012-07-04 微软公司 静态可验证进程间通信隔离进程
CN100487667C (zh) * 2005-12-14 2009-05-13 中兴通讯股份有限公司 一种软件单元测试自动化系统及其方法
CN100342353C (zh) * 2006-04-07 2007-10-10 浙江大学 嵌入式操作系统中进程映射实现方法
US8307443B2 (en) * 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US20130232576A1 (en) * 2011-11-18 2013-09-05 Vinsula, Inc. Systems and methods for cyber-threat detection
CN102902920A (zh) * 2012-09-13 2013-01-30 西北工业大学 一种虚拟化用户准入安全检测和隔离方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423765A (zh) * 2000-03-31 2003-06-11 英特尔公司 用于隔离执行的隔离指令
CN101055623A (zh) * 2007-05-30 2007-10-17 张盛 一种实现多业务软件智能卡芯片的方法与装置
CN102460389A (zh) * 2009-05-02 2012-05-16 思杰系统有限公司 用于将应用启动到现有的隔离环境中的系统和方法
CN105159786A (zh) * 2015-07-03 2015-12-16 北京奇虎科技有限公司 一种进程间通信的方法和装置
CN105893838A (zh) * 2016-05-11 2016-08-24 北京鼎源科技有限公司 一种针对安卓操作系统关键驱动程序的加固方法

Also Published As

Publication number Publication date
CN108090347A (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
US9244817B2 (en) Remote debugging in a cloud computing environment
US8219990B2 (en) Techniques for managing virtual machine (VM) states
WO2019179453A1 (zh) 虚拟机创建方法及装置
US7818623B2 (en) Kernel debugging in a cluster computing system
CN107707622B (zh) 一种访问桌面云虚拟机的方法、装置及桌面云控制器
US9507653B2 (en) Inter-process communication channel
CN115988217B (zh) 一种虚拟化视频编解码系统、电子设备和存储介质
WO2022021896A1 (zh) 一种进程间通信的方法及装置
CN115988218B (zh) 一种虚拟化视频编解码系统、电子设备和存储介质
US20140068165A1 (en) Splitting a real-time thread between the user and kernel space
WO2018076882A1 (zh) 存储设备的操作方法及物理服务器
CN114691286A (zh) 服务器系统、虚拟机创建方法及装置
CN114979286A (zh) 容器服务的访问控制方法、装置、设备及计算机存储介质
US20150127931A1 (en) Information processing apparatus, boot up method, and computer-readable storage medium storing boot up program
KR102304091B1 (ko) 자원 재구성을 위한 방법 및 디바이스
CN110581800B (zh) 一种创建虚拟路由器接口的方法及装置、存储介质和设备
CN108090347B (zh) 一种数据处理方法和系统
CN112417402B (zh) 权限控制方法、权限控制装置、权限控制设备及存储介质
CN111195919B (zh) 一种机器人示教平台及其架构方法
KR20130104958A (ko) 다중 운영체제들을 실행하는 장치 및 방법
CN109634721B (zh) 一种虚拟机与主机的启动通信方法及相关装置
CN113760490A (zh) 对微服务处理的方法、装置、电子设备及存储介质
CN111400079B (zh) 一种隔离器及其适用的软件复位方法、装置和存储介质
US20130212601A1 (en) Method and system for maintaining game functionality for a plurality of game instances running on a computer system
CN112711602A (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
GR01 Patent grant
GR01 Patent grant