用于确定信息的方法和装置
技术领域
本公开涉及计算机
技术领域
,具体涉及用于确定信息的方法和装置。背景技术
在应用程序中输入用户编辑的公式,并基于用户所编辑的公式对应用程序中的数据进行计算,可以确定出符合用户需求的信息。现有的基于用户编辑的公式对应用程序中的数据计算的方法是:基于用户编辑的公式构建语法树,语法树中的每个节点用于表征运算符、函数值或者数值,在执行语法树的时候对每个节点执行相应的计算,节点的值会传递到父节点上进行再次计算,直到根节点计算完成为止。
然而,现有的通过构建语法树的方式计算用户所编辑公式的方法存在效率低、以及浪费存储空间的问题。
发明内容
本公开提供了一种用于确定信息的方法、装置、电子设备以及计算机可读存储介质。
根据本公开的第一方面,提供了一种用于确定信息的方法,包括:响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作:将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式;针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式;基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数;响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。
在一些实施例中,用于确定信息的方法还包括:针对表达式中的每一个函数式,响应于确定函数式中包括子表达式,识别并获取子表达式中的函数式。
在一些实施例中,识别当前公式中的表达式中的每一个函数式,包括:针对当前公式中的表达式,识别表达式中的字符;根据表达式中的字符所组成的字符串,确定表达式中包含的函数式。
在一些实施例中,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,包括:识别函数式中的字符,根据字符确定函数式中的参数;采用函数式所指示的函数的运算逻辑、以及函数式中的参数,确定函数式的函数值。
在一些实施例中,函数式中的输入参数包括与目标物品关联的数据,目标信息包括目标物品的属性信息。
根据本公开的第二方面,提供了一种用于确定信息的装置,包括:接收单元,被配置为响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作:第一识别单元,被配置为将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式;第一计算单元,被配置为针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式;第二计算单元,被配置为基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数;确定单元,被配置为响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。
在一些实施例中,用于确定信息的装置还包括:第二识别单元,被配置为针对表达式中的每一个函数式,响应于确定函数式中包括子表达式,识别并获取子表达式中的函数式。
在一些实施例中,第一识别单元,包括:第一识别模块,被配置为针对当前公式中的表达式,识别表达式中的字符;第一确定模块,被配置为根据表达式中的字符所组成的字符串,确定表达式中包含的函数式。
在一些实施例中,第一计算单元,包括:第二识别模块,被配置为识别函数式中的字符,根据字符确定函数式中的参数;第二确定模块,被配置为采用函数式所指示的函数的运算逻辑、以及函数式中的参数,确定函数式的函数值。
在一些实施例中,函数式中的输入参数包括与目标物品关联的数据,目标信息包括目标物品的属性信息。
根据本公开的第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器:存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的用于确定信息的方法。
根据本公开的第四方面,本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面提供的用于确定信息的方法。
本公开提供的用于确定信息的方法、装置,包括:响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作:将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式;针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式;基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数;响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息,可以提高计算用户所编辑的公式组的效率以及避免浪费存储空间。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请的实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于确定信息的方法的一个实施例的流程图;
图3是根据本申请的用于确定信息的方法中公式组的示例;
图4是根据本申请的用于确定信息的方法的另一个实施例的流程图;
图5是根据本申请的用于确定信息的方法的一个应用场景的示意图;
图6是根据本申请的用于确定信息的方法中表达式解析模块的执行步骤流程图;
图7是根据本申请的用于确定信息的方法中函数式解析模块的执行步骤流程图;
图8是根据本申请的用于确定信息的装置的一个实施例的结构示意图;
图9是用来实现本申请实施例的用于确定信息的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本申请的业务处理方法或业务处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是用户终端设备,其上可以安装有各种客户端应用,例如公式编辑类应用、办公软件类应用、图像识别类应用、视频识别类应用、播放类应用、搜索类应用、金融类应用等。
终端设备101、102、103可以是具有显示屏并且支持接收服务器消息的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、电子播放器、膝上型便携计算机和台式计算机等等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
当服务器105接收到针对目标公式组的计算请求后,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作:将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式,针对表达式中的每一个函数式,采用该函数式所指示的函数的运算逻辑、以及该函数式中的输入参数,确定函数式的函数值,并采用函数值替换表达式中的该公式,基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将当前表达式的结果作为之后轮次迭代操作中的函数式的输入参数,若确定当前公式中存在预设字段,则停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。
需要说明的是,本公开的实施例所提供的业务处理方法可以由终端设备101、102、103执行、也可以由服务器105执行,相应地,业务处理装置可以设置于终端设备101、102、103中、也可以设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的用于确定信息的方法的一个实施例的流程200,包括以下步骤:
步骤201,响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行迭代操作。
在本实施例中,当用于确定信息的方法的执行主体(例如图1所示的服务器105)接收到针对目标公式组的计算请求后,将目标公式组存储于目标存储空间,并将用于提取数据/信息的指针指向目标存储空间中的首个公式。
迭代操作包括步骤2021、步骤2022以及步骤2023。
步骤2021,将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式。
在本实施例中,将指针所指向的公式作为当前公式,并识别当前公式中的表达式中的每一个函数式。其中,公式组是指用户所编辑的完整的计算过程,公式组中的每一个公式是计算过程中的每一个赋值语句;表达式是指每一个赋值语句中等号右侧的语句/内容/信息;函数式包含函数标识以及参数,执行主体可以调用与函数标识对应的函数并基于参数进行计算函数式的结果。例如,在如图3所示的公式组中,每一行都是一个赋值语句,即每一行均是一个公式,每一个公式中等号右侧的内容均为一个表达式,即:“(f(a),h(b),g(c),....)”、“trimean(y,2/8)”以及“k(y,z)+l(3)”均为表达式,每个表达式中均包含函数式,即:“f(a)”“h(b)”“g(c)”“trimean(y,2/8)”“k(y,z)”“l(3)”均为函数式,函数式中,括号外信息代表函数名或者函数标识,括号内信息代表函数式的输入参数。可以理解,函数式中的参数也可以是一个表达式,一个表达式中可以包括多个函数式。每个函数式的运算逻辑可以预先存储于执行主体中,也可以预先存储于与执行主体通信连接的其他设备中。
步骤2022,针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式。
在本实施例中,针对当前迭代轮次中指针所指向的公式中的表达式,针对该表达式中的每一个函数式,采用该函数式所指示的函数的运算逻辑、以及该函数式中的输入参数,确定该函数式的函数值,并采用该函数值,替换表达式中的该函数式。
步骤2023,基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数。
在本实施例中,当前迭代轮次中的公式中的表达式中,所有函数式都已经被与函数式对应的函数值替代,根据每一个函数值以及表达式中函数值之间的运算逻辑,计算出该表达式的计算结果,也即当前迭代轮次中的公式的计算结果,并将该结果作为之后轮次迭代操作中的函数式的输入参数。
步骤203,响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。
在本实施例中,当确定当前迭代轮次中指针所指向的公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。其中,预设字段可以存在于公式中等号的左侧,即,当前公式计算结果的标签,如图3中的“result”,预设标签也可以存在于公式中等号的右侧,如在右侧表达式的结尾处标记预设符号“。”或者预设标记“End”等。
本实施例提供的用于确定信息的方法,响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作:将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式;针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式;基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数;响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息,将用户所编辑的公式组识别为公式、表达式以及函数式三中模型,在公式计算过程中由公式执行触发表达式执行,又由表达式执行触发函数式执行,函数式执行又继续触发表达式执行和函数式执行,三者之间形成了递归迭代的执行逻辑,可以提高根据用户所编辑的公式组确定目标信息的效率。
继续参考图4,示出了根据本公开的用于确定信息的方法的另一个实施例的流程400,包括以下步骤:
步骤401,响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作。
步骤4021,将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式。
步骤4022,针对表达式中的每一个函数式,响应于确定函数式中包括子表达式,识别并获取子表达式中的函数式。
在本实施例中,针对表达式中的每一个函数式,若该函数式中包括其他子表达式(可以将函数式中嵌套的表达式称为子表达式),识别并获取子表达式中的函数式。
步骤4023,针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式。
步骤4024,基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数。
步骤403,响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。
本实施例中对步骤401、步骤4021、步骤4023、步骤4024、步骤403的描述与步骤201、步骤2021、步骤2022、步骤2023、步骤203的描述一致,此处不再赘述。
在一些应用场景中,如图5所示,用于确定信息的方法的执行主体可以包括公式解析模块,表达式解析模块以及函数式解析模块,用于确定信息的方法可以包括:
在执行主体接收到针对目标公式组的计算请求后,将目标公式组中的公式逐行存储于目标存储空间,公式解析模块对公式组逐行进行扫描,并将每一行的公式的等号右侧确定为一个表达式,将表达式发送至表达式解析模块进行解析和执行。
表达式解析模块接收到公式解析模块发送的表达式后,识别出表达式中的函数式,并将解析出的函数式逐一发送至函数式解析模块进行解析和计算。
函数式解析模块接收表达式解析模块发送的函数式后,识别出函数式中的参数并逐参数进行检测,以检测出每一个参数的类型。其中,函数式中参数的类型可以是表达式、函数式、数值或文本。若函数式中的参数是表达式,则将该表达式发送至表达式解析模块进行解析和计算;若参数是函数式,则在本函数式解析模块中进行解析以及计算;若参数是数值或者文本,则将该数值或者文本作为输入参数,输入加载/调用的函数的运算逻辑中参与实现函数式的计算。
当函数式解析模块获得所有函数式中包含的参数后,基于调用的函数的运算逻辑实现函数式的计算,并将计算结果/函数值返回至表达式解析模块,表达式解析模块采用每个函数式对应的函数值替换掉表达式中的函数式,之后基于表达式动态运行机制,完成表达式结果的计算,并将该结果返回至公式解析模块,公式解析模块将该表达式的值赋值给等号左边的变量。
如果某一行中的公式的变量名为预设字段,则表示该公式为公式组中的最后一行公式,该公式的结果为用户需求的目标信息,可以将该目标信息反馈至用户。
本实施例提供的用于确定信息的方法,相比于图2描述的实施例,增加了当函数式中包括子表达式时,识别并获取子表达式中的函数式的步骤,可以在函数式中嵌套表达式的情况下,提高表达式或者函数式的识别效率。
在上述结合图2和图4描述的实施例的一些可选的实现方式中,识别当前公式中的表达式中的每一个函数式,包括:针对当前公式中的表达式,识别表达式中的字符;根据表达式中的字符所组成的字符串,确定表达式中包含的函数式。
在本实施例中,针对当前公式中的表达式,识别该表达式中的字符,并根据表达式中的字符所组成的字符串,确定该表达式中的所包含的函数式。
具体地,可以将所识别到的字符依照字符在表达式中的顺序排列并组成字符串,将该字符串确定为表达式中所包含的函数式。
具体地,如图6所示,首先进行表达式解析步骤,可以识别表达式中的字符,根据字符识别结果确定记录项状态,并根据记录项状态确定需要执行的操作。其中,记录项是指将当前扫描过的字符拼接起来所形成的一个临时字符串。
首先,对表达式中的字符依照从左到右的顺序进行识别,确定字符属于何种字符。
其次,在对字符进行从左到右的顺序识别过程中,根据当前识别到字符,确定当前记录项中的内容,并根据记录项状态/记录项的内容执行对应的操作。
其中,字符可以包括:运算符(如+、-、*、/、=、>、>=、<、<=、!=等),标点符号(如逗号、点号),括号(分为左括号、右括号)等。记录项状态包括:当前记录项是否为函数,当前记录项是否为空,当前记录项的括号偏数是否等于0。括号偏度用于描述左右括号的对称状态,若偏度为1(或其他预设标识),则表示记录项中左括号比右括号多一个,若偏度为-1(或其他预设标识),则表示记录项中右括号比左括号多一个,若偏度为0(或其他预设标识),则表示记录项中左右括号数相等。与记录项状态对应的执行操作包括:将当前扫描字符拼接到记录项上,将当前扫描字符拼接到参数项上,标记记录项是函数,记录项括号偏数+1,记录项括号偏数-1,构建函数对象并缓存,清空记录项,清空参数项。其中,参数项是函数式的参数部分组成的字符串,比如“average((a,medin(b))”函数式的参数项就是“a,medin(b)”。
当对表达式解析完毕并获得全部函数式后,进行执行步骤,对表达式执行计算操作:首先,获取公式中已计算的表达式的计算结果。需要说明的是,公式是按照表达式的先后顺序计算的,前面计算的表达式的结果已赋值给相关变量,这些变量都将会作为参数传给后面的表达式对象去使用,后面的表达式并不一定会全部使用这些变量,这取决于后面的表达式中是否引用了这些变量。
其次,对表达式解析过程中缓存的函数式进行逐一进行解析和计算,即,调用函数式解析模块进行函数的解析和计算。并在获得表达式中的全部函数式的函数值后,采用函数值替换表达式中对应的函数式。
最后,采用表达式动态运行机制计算表达式的结果,并将结果返回至公式解析模块,至此,该表达式的计算结束。
本实施例在表达式的解析过程中采用了字符识别、记录项状态识别、执行与记录项状态对应的操作处理表达式,可以提高解析表达式的效率以及降低运维成本。并且基于表达式动态运行机制计算结果,可以避免产生临时对象实例,减少对系统存储资源的浪费。
在上述结合图2和图4描述的实施例的一些可选的实现方式中,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,包括:识别函数式中的字符,根据字符确定函数式中的参数;采用函数式所指示的函数的运算逻辑、以及函数式中的参数,确定函数式的函数值。
在本实施例中,可以识别函数式中的字符,并根据字符确定函数式中的参数,采用函数式所指示的函数的运算逻辑以及函数式中的参数,确定该函数式的函数值。
具体地,如图7所示,首先进行函数式解析步骤可以识别表达式中的字符,根据字符识别结果确定记录项状态,并根据记录项状态确定执行操作。
首先,对函数式中的字符依照从左到右的顺序进行识别,确定字符属于何种字符。
其次,在对字符进行从左到右的顺序识别过程中,根据当前识别到字符,确定当前记录项中的内容,并根据记录项状态/记录项的内容执行对应的操作。
该实施例相比于上一个实施例,增加了记录项是参数的状态。需要说明的是,同一记录项可以同时被标记为函数和参数,当被标记为参数时表示当前扫描的字符属于函数式的参数部分,否则当前扫描字符属于函数式的名称部分
在该实施例中,与记录项状态对应的执行操作还包括:将字符拼接到参数项上,参数项单独作为一个缓存的字符串用来存储函数的参数;构建表达式对象并缓存;记录项标记为文本参数并缓存;取消记录项的标记,同时取消记录项上的所有标记,包括表达式标记、函数标记或是参数标记。
当函数式解析完成后,进行执行步骤:循环所有缓存的参数项,若参数项是表达式对象或函数式对象,则解析并计算表达式或函数式的值,并将结果作为参数传入函数式中;若参数项是公式中已计算的表达式的结果,则获取该结果对应的数值,并传入函数式中;若参数项文本型参数,则直接传入函数式中。之后,基于函数式所指示的运算逻辑计算函数式并返回结果给表达式。
本实施例在函数式的解析过程中采用了字符识别、记录项状态识别、执行与记录项状态对应的操作处理表达式,可以提高解析表达式的效率以及降低运维成本。并且基于表达式动态运行机制计算结果,可以避免产生临时对象实例,减少对系统存储资源的浪费。
在上述结合图2和图4描述的实施例的一些可选的实现方式中,函数式中的输入参数包括与目标物品关联的数据,目标信息包括目标物品的属性信息。
在本实施例中,函数式中的输入参数包括与目标物品关联的数据,例如,用户在一段时间内对某电商平台中目标物品的点击次数,目标物品的销售数量或者目标物品的销售额等,目标信息可以是基于用户所编辑的公式组所确定的目标物品的属性信息,如目标物品的点击次数的统计数据(平均值、概率分布值等)、目标物品的销售量/销售额变化等。
进一步参考图8,作为对上述各图所示方法的实现,本公开提供了一种用于确定信息的装置的一个实施例,该装置实施例与图2和图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,本实施例的用于确定信息的装置,包括:接收单元801、第一识别单元8021、第一计算单元8022、第二计算单元8023、确定单元803。其中,接收单元,被配置为响应于接收到针对目标公式组的计算请求,将目标公式组存储于目标存储空间,将指针指向目标存储空间中的首个公式,并执行以下迭代操作:第一识别单元,被配置为将指针所指向的公式作为当前公式,识别当前公式中的表达式中的每一个函数式;第一计算单元,被配置为针对表达式中的每一个函数式,采用函数式所指示的函数的运算逻辑、以及函数式中的输入参数,确定函数式的函数值,并采用函数值,替换表达式中的函数式;第二计算单元,被配置为基于每一个函数值,确定表达式的结果,将指针指向当前公式的下一个公式,并将表达式的结果作为之后轮次迭代操作中的函数式的输入参数;确定单元,被配置为响应于确定当前公式中存在预设字段,停止迭代操作,并将在最后一轮迭代操作中所确定的表达式的结果确定为目标信息。
在一些实施例中,用于确定信息的装置还包括:第二识别单元,被配置为针对表达式中的每一个函数式,响应于确定函数式中包括子表达式,识别并获取子表达式中的函数式。
在一些实施例中,第一识别单元,包括:第一识别模块,被配置为针对当前公式中的表达式,识别表达式中的字符;第一确定模块,被配置为根据表达式中的字符所组成的字符串,确定表达式中包含的函数式。
在一些实施例中,第一计算单元,包括:第二识别模块,被配置为识别函数式中的字符,根据字符确定函数式中的参数;第二确定模块,被配置为采用函数式所指示的函数的运算逻辑、以及函数式中的参数,确定函数式的函数值。
在一些实施例中,函数式中的输入参数包括与目标物品关联的数据,目标信息包括目标物品的属性信息。
上述装置800中的各单元与参考图2和图4描述的方法中的步骤相对应。由此上文针对用于生成信息的方法描述的操作、特征及所能达到的技术效果同样适用于装置800及其中包含的单元,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的用于确定信息的方法的电子设备900的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,该存储器存储有可由至少一个处理器执行的指令,以使该至少一个处理器执行本申请所提供的用于确定信息的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于确定信息的方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于确定信息的方法对应的程序指令/模块(例如,附图8所示的接收单元801、第一识别单元8021、第一计算单元8022、第二计算单元8023、确定单元803)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于确定信息的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于提取视频片段的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至用于提取视频片段的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用于确定信息的方法的电子设备还可以包括:输入装置903、输出装置904以及总线905。处理器901、存储器902、输入装置903和输出装置904可以通过总线905或者其他方式连接,图9中以通过总线905连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与用于提取视频片段的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。