一种限制系统资源占用的方法、语音交互系统及存储介质与流程

文档序号:17089241发布日期:2019-03-13 23:14阅读:379来源:国知局
一种限制系统资源占用的方法、语音交互系统及存储介质与流程

本发明实施例涉及计算机技术领域,具体涉及一种限制系统资源占用的方法、语音交互系统及存储介质。



背景技术:

在语音开放平台上,非工作人员也可以自己开发程序代码,并在语音交互系统中被调用运行。而且,多个开发人员的代码均在统一宿主机上面执行,系统资源的分配并没有明确的规定。一旦存在开发人员撰写恶意代码的情况下,例如如下恶意代码:

while(true){

i++;

}

那么,系统的系统资源将会被该段程序代码占用且无线循环,从而导致语音开放平台中其他程序代码,没有过多剩余系统资源执行或者根本就没有剩余系统资源执行。从而使得使用语音交互系统的消费者的操作指令无法执行,工作效率低下,而系统资源也将会被无限浪费。

那么,如何才能有效控制系统资源的有效使用,避免系统资源被用户所编写的恶意程序代码不受限制的占用,成为本申请所要解决的技术问题。



技术实现要素:

为此,本发明实施例提供一种限制系统资源占用的方法、语音交互系统及存储介质,以解决现有技术中由于语音交互系统无法对系统资源的占用进行有效控制,而导致有可能发生恶意程序可以对系统资源不受限制的占用的问题。

为了实现上述目的,本发明的实施方式提供如下技术方案:

在本发明的实施方式的第一方面中,提供了一种限制系统资源占用的方法,包括:接收主进程发送的子进程调用请求,调用请求中至少包含操作指令和运行参数;

根据子进程调用请求,为主进程分配子进程,并限定所述子进程调用系统资源的范围;

建立主进程和子进程之间的通信连接,以便主进程将操作指令和运行参数发送至子进程,子进程在范围内调用系统资源,依据运行参数,从预建立的数据库中调用预设程序执行操作指令。

在本发明的一个实施例中,子进程调用请求为主进程接收到用户输入的语音信息后,对语音信息进行处理,生成的调用请求。

在本发明的另一实施例中,所述子进程调用请求中包括linuxcgroups参数,根据所述子进程调用请求,限定所述子进程调用系统资源的范围,具体包括:

根据所述linuxcgroups参数,确定所述子进程调用的系统资源的上限值。

在本发明的又一个实施例中,主进程将操作指令和运行参数发送至子进程,具体为:

以socket请求的方式将操作指令和运行参数发送至子进程。

在本发明的实施方式的第二方面中,提供了一种语音交互系统,接收单元,用于接收主进程发送的子进程调用请求,子进程调用请求中至少包含操作指令和运行参数;

处理单元,用于根据子进程调用请求,为主进程分配子进程,并限定子进程调用系统资源的范围;

通信单元,用于建立主进程和子进程之间的通信连接,以便主进程将操作指令和运行参数发送至子进程,子进程在范围内调用系统资源,依据运行参数,从预建立的数据库中调用预设程序执行操作指令。

在本发明的一个实施例中,子进程调用请求为主进程接收到用户输入的语音信息后,对语音信息进行处理,生成的调用请求。

在本发明的另一实施例中,所述子进程调用请求中包括linuxcgroups参数,所述处理单元具体用于,根据所述linuxcgroups参数,确定所述子进程调用的系统资源的上限值。

在本发明的又一个实施例中,主进程将操作指令和运行参数发送至子进程,具体为:

以socket请求的方式将操作指令和运行参数发送至子进程。

在本发明的实施方式的第三方面中,提供了一种语音交互系统,所述系统包括:处理器和存储器;

存储器用于存储一个或多个程序指令;

一个或多个程序指令被处理器运行,用以执行如上所述的一种限制系统资源占用的方法中任一方法步骤。

在本发明的实施方式的第四方面中,提供了一种计算机存储介质,计算机存储介质中包含一个或多个程序指令,一个或多个程序指令用于被一种语音交互系统执行如上所述的一种限制系统资源占用的方法中任一方法步骤。

根据本发明的实施方式,具有如下优点:主进程向系统发送子进程调用请求后,系统会为主进程分配一个子进程。但是,不会让子进程不受限制使用系统资源,而是会按照预设规则限定子进程调用系统资源的范围。如此一来,就可以在保证子进程完成自身任务的同时,不会不受限制的占用过多的系统资源。进而也就避免了恶意程序代码不受限制的占用系统资源的情况发生。最大限度的使得其他进程有系统资源被使用,进而保证广大用户的使用系统的可行性。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

图1为本发明的一实施例提供的一种限制系统资源占用的方法流程示意图;

图2为本发明的另一实施例提供的一种语音交互系统结构示意图;

图3为本发明的另一实施例提供的另一种语音交互系统结构示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例1提供了一种限制系统资源占用的方法,具体如图1所示。该方法可以应用于语音交互系统中,为了能够更加具体的说明本申请的技术方案。以在用户使用智能语音识别设备时,通过语音输入,智能语音识别设备可以根据用户语音信息执行相应操作的应用场景为例进行说明。

步骤110,接收主进程发送的子进程调用请求,子进程调用请求中至少包含操作指令和运行参数。

智能语音识别设备中的系统在采集到用户的语音信息后,必然要分配主进程(以下以master进程进行说明)对语音信息进行处理后,生成子进程调用请求。具体的处理可以包括语音识别和语义理解等相应处理过程,然后确定用户的执行意图。再根据用户的执行意图确定需要子进程(以下以slave进程进行说明)完成一些相关处理后,生成的调用请求。例如,当master进程接收到用户输入的语音后,通过语音识别和意图识别之后,根据用户的意图确定对应功能的代码片段。该代码片段是开发者事先写入语音开放平台中的程序代码。语音开放平台会根据开发者的请求,将开发者撰写的用以实现某种功能的程序代码以及配置持久化的存储到数据库中,并发送给语音交互系统。语音交互系统中的master进程生成子进程调用请求后,则向系统发送salve进程调用请求,该调用请求中会明确说明salve进程需要执行的操作指令和运行参数。

例如,用户输入的语音信息是“请帮我查询12月10日沈阳的天气信息。那么,master进程可以通过读语音信息进行相应处理后,确定用户意图为“查询天气”,其参数为“地点:沈阳;时间:12月10日”。

而查询天气需要通过salve进程与其他应用(比如,可以获取到天气预报的应用程序)建立通信连接后,获取查询结果。那么,首先就需要系统为master进程分配一个salve进程,也即是执行步骤120。

步骤120,根据子进程调用请求,为主进程分配子进程。

步骤130,并根据子进程调用请求,限定子进程调用系统资源的范围。

具体的,如背景技术说介绍的,由于系统中有一些程序是用户自己编写的,在系统中同样可以被slave进程调用执行。为了防止恶意程序被slave进程调用执行而不受限制的占用系统资源,造成大量资源浪费情况的发生。可以按照预设规则事先设定好slave进程所能调用的系统资源的范围。

例如在一个具体实施例中,子进程调用请求中还包括linuxcgroups参数。用以系统确定slave进程所能占用的系统资源上限值。具体的,linuxcgroups参数是由语音开放平台的工作人员指定的。linuxcgroups参数是linux操作系统所提供的一种资源控制机制,指定这个参数实际就是限定了slave进程所能获取的最大资源量,包括cpu时间占比以及网络带宽等。因此,系统可以根据linuxcgroups参数限制slave进程所能扎弄系统资源的上限值,避免了系统资源被某一个恶意程序不受限制的大肆占用,进而避免了其他进程没有系统资源可以使用的情况发生。

而限定资源的使用并非是本申请的最终目的,本申请的最终目的是为了避免系统资源不受限制的被恶意占用的前提下,还需要保证用户的需求被执行完毕。因此,该方法还包括步骤140,建立主进程和子进程之间的通信连接。

master进程将以socket请求的形式发送操作指令和运行参数至slave进程。以便slave进程在范围内调用系统资源,依据运行参数,从语音交互系统中预建立的数据库中调用预设程序执行操作指令。例如,上文说的和slave进程通过和可以获取到天气预报的应用程序)建立通信连接后,获取查询结果。

并将查询结果反馈至master进程。以便master进程执行其他处理过程。例如,对执行结果进行汇总转换为语音后,通过智能语音识别设备反馈给用户。而系统在控制系统资源的占用时,可以通过linuxcgroups相关的系统接口来控制slave进程调用系统资源的情况。

本发明实施例提供的一种限制系统资源占用的方法,主进程向系统发送子进程调用请求后,系统会为主进程分配一个子进程。但是,不会让子进程不受限制使用系统资源,而是会按照预设规则限定子进程调用系统资源的范围。如此一来,就可以在保证子进程完成自身任务的同时,不会不受限制的占用过多的系统资源。进而也就避免了恶意程序代码不受限制的占用系统资源的情况发生。最大限度的使得其他进程有系统资源被使用,进而保证广大用户的使用系统的可行性。

与上述实施例1对应的,本发明实施例2还提供了一种语音交互系统,具体如图2所示,该系统包括:接收单元201、处理单元202和通信单元203。

接收单元201,用于接收主进程发送的子进程调用请求;

处理单元202,用于根据子进程调用请求,为主进程分配子进程,并限定子进程调用系统资源的范围;

通信单元203,用于建立主进程和子进程之间的通信连接,以便主进程将操作指令和运行参数发送至子进程,子进程在范围内调用系统资源,依据运行参数,从预建立的数据库中调用预设程序执行操作指令。

可选的,子进程调用请求为主进程接收到用户输入的语音信息后,对语音信息进行处理,生成的调用请求。

可选的,所述子进程调用请求中包括linuxcgroups参数,处理单元202具体用于,根据所述linuxcgroups参数,确定所述子进程调用的系统资源的上限值。

可选的,主进程将操作指令和运行参数发送至子进程,具体为:

以socket请求的方式将操作指令和运行参数发送至子进程。

本发明实施例提供的一种语音交互系统中各部件所执行的功能均已在上述实施例1中做了详细介绍,因此这里不做过多赘述。

本发明实施例提供的一种语音交互系统,主进程向系统发送子进程调用请求后,系统会为主进程分配一个子进程。但是,不会让子进程不受限制使用系统资源,而是会按照预设规则限定子进程调用系统资源的范围。如此一来,就可以在保证子进程完成自身任务的同时,不会不受限制的占用过多的系统资源。进而也就避免了恶意程序代码不受限制的占用系统资源的情况发生。最大限度的使得其他进程有系统资源被使用,进而保证广大用户的使用系统的可行性。

与上述实施例1对应的,本发明实施例3还提供了一种语音交互系统,具体如图3所示,该系统包括:存储器301和处理器302。

存储器301,用于存储一个或多个程序指令;一个或多个程序指令被处理器302运行,用以执行如前述实施例所述的限制系统资源占用的方法中任一的方法步骤。

本发明实施例提供的一种限制系统资源占用的系统中各部件所执行的功能均已在上述实施例一种限制系统资源占用方法中做了详细介绍,因此这里不做过多赘述。

本发明实施例提供的一种语音交互系统,主进程向系统发送子进程调用请求后,系统会为主进程分配一个子进程。但是,不会让子进程不受限制使用系统资源,而是会按照预设规则限定子进程调用系统资源的范围。如此一来,就可以在保证子进程完成自身任务的同时,不会不受限制的占用过多的系统资源。进而也就避免了恶意程序代码不受限制的占用系统资源的情况发生。最大限度的使得其他进程有系统资源被使用,进而保证广大用户的使用系统的可行性。

与上述实施例相对应的,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中包含一个或多个程序指令。其中,一个或多个程序指令用于被一种语音交互系统执行如上所述的一种限制系统资源占用的方法。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1