一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语法解析器生成方法、SQL访问控制方法、装置及设备与流程

2022-06-30 01:22:34 来源:中国专利 TAG:
语法解析器生成方法、sql访问控制方法、装置及设备
技术领域
:1.本说明书涉及分布式数据库
技术领域
:,尤其是涉及一种语法解析器生成方法、sql访问控制方法、装置及设备。
背景技术
::2.随着分布式数据库技术的发展,很多应用系统可以访问分布式数据库。然而,目前大量应用系统在访问分布式数据库的时,使用的sql(structuredquerylanguage)语句缺乏统一规范;这种不规范的sql语句容易造成分布式数据库的性能下降。因此,如何降低或避免不规范的sql语句访问分布式数据库所造成的数据库性能下降,已成为目前亟待解决的技术问题。技术实现要素:3.本说明书实施例的目的在于提供一种语法解析器生成方法、sql访问控制方法、装置及设备,以降低或避免不规范的sql语句访问分布式数据库所造成的数据库性能下降。4.为达到上述目的,一方面,本说明书实施例提供了一种sql访问控制方法,包括:5.在应用程序执行sql语句前,基于集成于所述应用程序中的过滤器链拦截所述sql语句;6.调用所述过滤器链中的过滤器对所述sql语句执行对应的过滤处理;其中一个所述过滤器为配置有自定义的访问控制规则的语法分析器;7.当所述sql语句未通过所述语法分析器的审核时,禁止所述应用程序执行所述sql语句。8.本说明书实施例的sql访问控制方法中,所述过滤器链配置于所述应用程序的数据库连接池中。9.本说明书实施例的sql访问控制方法还包括:10.在所述应用程序启动时,遍历过滤器接口集合中各过滤器的开关是否处于打开状态;11.将所述过滤器接口集合中其开关处于打开状态的所有过滤器记载至过滤器链中。12.本说明书实施例的sql访问控制方法中,所述禁止所述应用程序执行所述sql语句,包括:13.终止所述应用程序的执行。14.本说明书实施例的sql访问控制方法中,在终止所述应用程序的执行之后,还包括:15.输出提示日志。16.另一方面,本说明书实施例还提供了一种语法解析器生成方法,包括:17.获取sql语法规则文件;18.对所述sql语法规则文件进行词法分析,以从中提取符号集;19.对所述符号集进行语法解析,以生成解析树;20.在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器。21.本说明书实施例的语法解析器生成方法中,所述sql语法规则文件包括多种关系型数据库的sql语法规则文件。22.本说明书实施例的语法解析器生成方法中,所述对所述sql语法规则文件进行词法分析,以从中提取符号集,包括:23.基于语法分析器生成工具的词法分析模块对所述sql语法规则文件进行词法分析,获得对应的符号集。24.本说明书实施例的语法解析器生成方法中,所述对所述符号集进行语法解析,以生成解析树,包括:25.基于语法分析器生成工具的语法分析模块对所述符号集进行语法分析,获得对应的解析树。26.本说明书实施例的语法解析器生成方法中,所述在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器,包括:27.在所述解析树中规则对应的子节点的属性中,加入自定义的访问控制规则。28.另一方面,本说明书实施例还提供了一种sql访问控制装置,包括:29.sql拦截模块,用于在应用程序执行sql语句前,基于集成于所述应用程序中的过滤器链拦截所述sql语句;30.过滤器调用模块,用于调用所述过滤器链中的过滤器对所述sql语句执行对应的过滤处理;其中一个所述过滤器为配置有自定义的访问控制规则的语法分析器;31.执行控制模块,用于当所述sql语句未通过所述语法分析器的审核时,禁止所述应用程序执行所述sql语句。32.另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述sql访问控制方法的指令。33.另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述sql访问控制方法的指令。34.另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括指令,所述计算机程序产品上的指令被计算机设备的处理器运行时,执行上述sql访问控制方法的指令。35.另一方面,本说明书实施例还提供了一种语法解析器生成装置,包括:36.规则获取模块,用于获取sql语法规则文件;37.词法分析模块,用于对所述sql语法规则文件进行词法分析,以从中提取符号集;38.语法解析模块,用于对所述符号集进行语法解析,以生成解析树;39.分析器生成模块,用于在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器。40.另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述语法解析器生成方法的指令。41.另一方面,本说明书实施例还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述语法解析器生成方法的指令。42.另一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品包括指令,所述计算机程序产品上的指令被计算机设备的处理器运行时,执行上述语法解析器生成方法的指令。43.由以上本说明书实施例提供的技术方案可见,本说明书实施例可以预先构建具有有自定义的访问控制规则的语法分析器,并将语法分析器作为以一个过滤器集成于应用程序的过滤器链中;每当应用程序执行sql语句前,可以利用过滤器链拦截sql语句,并利用该语法分析器对sql语句进行审核;当sql语句未通过语法分析器的审核时,禁止应用程序执行所述sql语句。如此,可以避免执行不符合访问控制规的sql语句(即不规范的sql语句),从而降低了或避免了不规范的sql语句访问分布式数据库所造成的数据库性能下降。附图说明44.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:45.图1示出了本说明书一些实施例中的sql访问控制系统的示意图;46.图2示出了本说明书一些实施例中语法解析器生成方法的流程图;47.图3示出了本说明书一些实施例中sql访问控制方法的流程图;48.图4示出了本说明书另一些实施例中sql访问控制方法的流程图;49.图5示出了本说明书一些实施例中语法解析器生成装置的结构框图;50.图6示出了本说明书一些实施例中sql访问控制装置的结构框图;51.图7示出了本说明书一些实施例中计算机设备的结构框图。52.【附图标记说明】53.10、客户端;54.20、服务端;55.30、数据库;56.51、规则获取模块;57.52、词法分析模块;58.53、语法解析模块;59.54、分析器生成模块;60.61、sql拦截模块;61.62、过滤器调用模块;62.63、执行控制模块;63.702、计算机设备;64.704、处理器;65.706、存储器;66.708、驱动机构;67.710、输入/输出接口;68.712、输入设备;69.714、输出设备;70.716、呈现设备;71.718、图形用户接口;72.720、网络接口;73.722、通信链路;74.724、通信总线。具体实施方式75.为了使本
技术领域
:的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。76.参考图1所示,本说明书实施例的sql访问控制系统可以包括客户端10、服务端20和数据库30。客户端10可以向服务端20发起包含sql语句的数据库操作请求,服务端20可以在执行sql语句前(即解析sql语句并根据解析结果对数据库30执行对应操作前),基于集成于服务端20的应用程序中的过滤器链拦截sql语句;调用过滤器链中的过滤器对sql语句执行对应的过滤处理;其中,至少一个过滤器为配置有自定义的访问控制规则的语法分析器;当sql语句未通过语法分析器的审核时,禁止应用程序执行所述sql语句。如此,可以避免执行不符合访问控制规的sql语句(即不规范的sql语句),从而降低了或避免了不规范的sql语句访问分布式数据库所造成的数据库性能下降。77.在一些实施例中,所述用户端可以为自助终端设备、移动终端(即智能手机)、显示器、台式电脑、平板电脑、笔记本电脑、数字助理或智能可穿戴设备等。其中,智能可穿戴设备可以包括智能手环、智能手表、智能眼镜或智能头盔等。当然,所述用户端并不限于上述具有一定实体的电子设备,其还可以为运行于上述电子设备中的软体。78.在一些实施例中,所述服务端可以为具有运算和网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理和网络交互提供业务逻辑的软体。所述服务器可以与所述用户端进行数据交互。79.在一些实施例中,数据库可以为分布式数据库或关系数据库。80.与传统的sql审核规范(例如《java开发手册》等)不同,在本说明书实施例中,语法分析器中的访问控制规则是自定义的,更加符合具体应用场景的特点和需要。本说明书实施例提供了一种语法解析器生成方法,该方法可以应用于计算机设备侧。参考图2所示,在一些实施例中,所述语法解析器生成方法可以包括以下步骤:81.步骤201、获取sql语法规则文件。82.sql语法规则文件可以包括一种或多种关系型数据库的sql语法规则文件。例如,在一示例性实施例中,sql语法规则文件可以包括mysql和oracle官方提供的语法规则文件。83.sql语法规则文件可以预先通过下载等方式得到,并存储到指定存储路径。当需要生成语法解析器时,可以从指定存储路径读取得到。84.步骤202、对所述sql语法规则文件进行词法分析,以从中提取符号集。85.为了降低实现难度,可以利用开源的语法分析器生成工具生成语法分析器。因此,在一些实施例中,对所述sql语法规则文件进行词法分析,以从中提取符号集可以包括:基于语法分析器生成工具的词法分析模块对所述sql语法规则文件进行词法分析,获得对应的符号集(tokens)。其中,词法分析即为将sql语法规则文件中的各种符号进行分组形成符号类,这些符号类即为符号集。86.例如,在一实施例中,以语法分析器生成工具采用antlr4(anothertoolforlanguagerecognition),sql语法规则文件为mysql语法规则文件为例,mysql的.g4文件中含有mysql语句的各种符号(例如文字、运算符、标点符号、图形符号和数字等),利用antlr4的lexer部分可以将mysql的.g4文件进行词法分析,从而形成符号集。其中,antlr4是一个强大的跨语言语法解析器,可以用来读取、处理、执行或翻译结构化文本或二进制文件。它被广泛用来构建语言,工具和框架。因此,antlr也可以从语法上来生成一个可以构建和遍历解析树的解析器。87.步骤203、对所述符号集进行语法解析,以生成解析树。88.在一些实施例中,可以基于语法分析器生成工具的语法分析模块对所述符号集进行语法分析,获得对应的解析树(parsetree)。例如,在一实施例中,以语法分析器生成工具采用antlr4为例,可以利用antlr4的parser部分对上一步得到的符号集进行语法分析,从得到的解析树。解析树即为语法分析器的表示形式。在antlr4中的解析树由终端节点(terminalnode)和规则节点(rulenode)组成,由于终端节点不能包含任何子节点,因此,任何规则节点的父节点也是规则节点。每个规则节点(rulenode)的规则都有对应的进入(enter)方法和退出(exit)。89.步骤204、在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器。90.在本说明书实施例中,利用antlr4直接生成的解析树仅是针对标准或通用sql语法规则文件的语法分析器,其并不包含自定义的访问控制规则。因此,需要在所述解析树中加入自定义的访问控制规则,以生成具有访问控制功能的语法分析器。其中,自定义的访问控制规则是从实际应用中归纳、总结出的针对该应用的访问控制规范的代码。91.在一些实施例中,在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器可以包括:在所述解析树中规则对应的子节点的属性中,加入自定义的访问控制规则。92.在一示例性实施例中,自定义的访问控制规则例如可以包括:93.1)、禁止使用*作为查询的字段列表,需要返回哪些字段必须明确写明,即禁止出现select*;对于分布式数据库,mysql数据库等,可以防止select*可能返回大结果集,从而造成内存溢出,数据库宕机。94.2)、禁止超过三个表做join联表操作;对于分布式数据库,限制join操作表个数可以防止分布式数据库计算层进行大量计算,提升查询效率,同时可以防止在进行大量计算时内存溢出。95.3)、禁止左模糊查询,即%或_开头的like查询条件。对于分布式数据库,mysql数据库,禁止左模糊查询可以提高查询效率。96.本领域技术人员可以理解,上述自定义的三个访问控制规则仅为示例性举例说明,在实际实施时,根据具体的应用场景或应用系统可以自定义一个或多个访问控制规则。97.具有访问控制功能的语法分析器是一种个性化的语法分析器,其符合具体应用场景的特点和需要。在针对特定应用场景(例如针对特定的应用系统)生成了个性化的语法分析器的基础上,可以将个性化的语法分析器作为插件集成于应用程序(即服务端)中。如此,应用程序在执行sql语句前时,即可以利用该插件进行访问控制,以达到降低不规范sql访问对数据库性能影响的目的。98.鉴于很多应用程序使用开源的数据库连接池组件,可以考虑将上述具有访问控制功能的语法分析器集成于应用程序的数据库连接池中,即通过对数据库连接池的过滤器链(filterchain)进行功能扩展,实现上述具有访问控制功能的语法分析器的集成。99.例如,在一示例性实施例中,以应用程序使用了druid连接池为例,druid连接池提供了过滤器链用来扩展功能,开发人员可以通过实现其提供的filter接口来自定义插件进行功能扩展,即通过fiter接口定义一个集成上述具有访问控制功能的语法分析器的插件xxxsqlcheck。由于druid连接池是用java语言实现的,定义java类xxxsqlcheck时,该类实现druid连接池中的filter接口,并将上述具有访问控制功能的语法分析器集成到filter接口的方法中。100.在将上述具有访问控制功能的语法分析器集成于服务端的基础上,本说明书实施例提供了一种sql访问控制方法,可以应用于上述的服务端侧,参考图3所示,所述sql访问控制方法可以包括以下步骤:101.步骤301、在应用程序执行sql语句前,基于集成于所述应用程序中的过滤器链拦截所述sql语句。102.在执行步骤301之前,当应用程序启动时,会遍历过滤器接口集合中各过滤器的开关是否处于打开状态;当过滤器的开关处于打开状态时,表示允许该过滤器加入过滤器链;当过滤器的开关处于关闭状态时,表示禁止或不允许该过滤器加入过滤器链。其中,过滤器的开关的打开和关闭,可以由用户预先配置。在本说明书实施例中,由于要实现降低不规范sql访问对数据库性能影响,上述具有访问控制功能的语法分析器作为其中一个过滤器,其开关应默认配置为打开状态。103.例如,以应用程序使用了druid连接池为例,当应用程序启动时,druid连接池初始化过程中会遍历过滤器接口集合中各过滤器的开关是否处于打开状态,然后通过javaspi机制将过滤器接口集合中其开关处于打开状态的所有过滤器记载至过滤器链中。104.如此,每当应用程序需要执行sql语句时,在应用程序执行sql语句前,过滤器会拦截所述sql语句,以便于其过滤器执行过滤处理。105.步骤302、调用所述过滤器链中的过滤器对所述sql语句执行对应的过滤处理;其中一个所述过滤器为配置有自定义的访问控制规则的语法分析器。106.过滤器链中的每个过滤器可以用于实现特定的过滤功能。例如,其中一个过滤器可以用于过滤敏感信息,因此该过滤器可以执行预先配置的敏感信息检查逻辑;另一个过滤器可以用于登录校验,因此该过滤器可以执行预先配置的登录校验逻辑;另一个过滤器可以用于数据压缩,因此该过滤器可以执行预先配置的数据压缩逻辑;再一个过滤器可以用于统一资源定位器(uniformresourcelocator,url)级别的访问权限控制,因此该过滤器可以执行预先配置的访问权限控制逻辑。107.多数情况下,过滤器链中的各个过滤器功能相互独立,即过滤器链中的各个过滤器并没有执行顺序限制。但是,在一些情况下,根据需要,过滤器链中的部分或全部过滤器之间也可以被配置为按照特定顺序执行,即过滤器链中的部分或全部过滤器之间可以有依赖关系。108.对于作为过滤器链中其中一个过滤器的具有访问控制功能的语法分析器而言,其过滤器执行过滤处理即为:根据自定义的访问控制规则的代码对sql语句进行审核,以识别该sql语句是否为符合自定义的访问控制规则要求的sql语句。109.例如,在一示例性实施例中,sql语句为:110.select*fromtesttable111.若自定义的访问控制规则中包括“禁止使用*作为查询的字段列表”的访问控制规则,由于上述sql语句(select*fromtesttable)不符合该访问控制规则,则可以认为上述sql语句(select*fromtesttable)未通过所述语法分析器的审核。112.步骤303、当所述sql语句未通过所述语法分析器的审核时,禁止所述应用程序执行所述sql语句。113.当所述sql语句未通过所述语法分析器的审核时,表明该sql语句不符合自定义的访问控制规则要求,此时可以禁止所述应用程序执行所述sql语句,以避免后续因执行该sql语句而可能面临的数据库性能下降风险,从而降低了或避免了不规范的sql语句访问分布式数据库所造成的数据库性能下降。114.其中,sql语句未通过语法分析器的审核是指:sql语句不满足自定义的访问控制规则中的一条或多条,即只要sql语句不满足其中任意一条,即认为sql语句未通过语法分析器的审核。115.基于本说明书实施例的sql访问控制方法,可以预先构建具有有自定义的访问控制规则的语法分析器,并将语法分析器作为以一个过滤器集成于应用程序的过滤器链中;每当应用程序执行sql语句前,可以利用过滤器链拦截sql语句,并利用该语法分析器对sql语句进行审核;当sql语句未通过语法分析器的审核时,禁止应用程序执行所述sql语句。如此,可以避免执行不符合访问控制规的sql语句(即不规范的sql语句),从而降低了或避免了不规范的sql语句访问分布式数据库所造成的数据库性能下降。116.参考图4所示,本说明书实施例提供了另一种sql访问控制方法,可以应用于上述的服务端侧。在图4所示的实施例中,服务端使用了druid连接池,具有访问控制功能的语法分析器集成于druid连接池的过滤器链中,所述sql访问控制方法可以包括以下步骤:117.步骤401、拦截sql语句。118.在应用程序执行sql语句前,拦截sql语句。119.步骤402、调用语法分析器审核sql语句是否符合自定义的访问控制规则。如果sql语句不符合自定义的访问控制规则,则执行步骤403;否则执行步骤404。120.步骤403、终止应用程序的执行,并输出提示日志。121.当sql语句不符合自定义的访问控制规则时,为了避免后续因执行该sql语句而可能面临的数据库性能下降风险,可以终止应用程序的执行,即终止应用程序执行sql语句。此外,在终止应用程序的执行的基础上,还可以输出提示日志,以提示应用开发人员或其他相关人员,方便后续的运维管理。122.步骤404、当sql语句通过过滤器链中其余过滤器的过滤处理后,发送sql语句。123.当过滤器链中除具有访问控制功能的语法分析器外,还有其他过滤器时,还需要结合过滤器链中其他过滤器的过滤处理结果,以最终确定是否发送sql语句至数据库。在此情况下,单凭sql语句符合自定义的访问控制规则,不能满足发送sql语句的条件;换而言之,当sql语句符合自定义的访问控制规则,且sql语句也通过过滤器链中其余过滤器的过滤处理时,发送sql语句的条件才满足,此时应用程序才可以执行sql语句,对数据库进行对应的操作(例如查询、插入、修改、删除)。124.应当指出的是,在图4所示的实施例中,为了凸显具有访问控制功能的语法分析器的作用,在拦截sql语句后,直接描述了调用语法分析器审核sql语句。但是,在实施时根据实际应用场景需要,过滤器链中的语法分析器可以是第一个执行过滤处理的过滤器,也可以是最后一个执行过滤处理的过滤器,也可以在过滤器链中的一个或多个过滤器执行之后,且另一个或多个过滤器执行前执行,还可以是与过滤器链中的一个或多个过滤器并行执行。125.虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。126.与上述的语法解析器生成方法对应,本说明书实施例还提供了一种语法解析器生成装置,参考图5所示,所述语法解析器生成装置可以包括:127.规则获取模块51,可以用于获取sql语法规则文件;128.词法分析模块52,可以用于对所述sql语法规则文件进行词法分析,以从中提取符号集;129.语法解析模块53,可以用于对所述符号集进行语法解析,以生成解析树;130.分析器生成模块54,可以用于在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器。131.一些实施例的语法解析器生成装置中,所述sql语法规则文件包括多种关系型数据库的sql语法规则文件。132.一些实施例的语法解析器生成装置中,所述对所述sql语法规则文件进行词法分析,以从中提取符号集,包括:133.基于语法分析器生成工具的词法分析模块对所述sql语法规则文件进行词法分析,获得对应的符号集。134.一些实施例的语法解析器生成装置中,所述对所述符号集进行语法解析,以生成解析树,包括:135.基于语法分析器生成工具的语法分析模块对所述符号集进行语法分析,获得对应的解析树。136.一些实施例的语法解析器生成装置中,所述在所述解析树中加入自定义的访问控制规则,生成具有访问控制功能的语法分析器,包括:137.在所述解析树中规则对应的子节点的属性中,加入自定义的访问控制规则。138.与上述的sql访问控制方法对应,本说明书实施例还提供了一种sql访问控制装置,参考图6所示,所述sql访问控制装置可以包括:139.sql拦截模块61,可以用于在应用程序执行sql语句前,基于集成于所述应用程序中的过滤器链拦截所述sql语句;140.过滤器调用模块62,可以用于调用所述过滤器链中的过滤器对所述sql语句执行对应的过滤处理;其中一个所述过滤器为配置有自定义的访问控制规则的语法分析器;141.执行控制模块63,可以用于当所述sql语句未通过所述语法分析器的审核时,禁止所述应用程序执行所述sql语句。142.一些实施例的sql访问控制装置中,所述过滤器链配置于所述应用程序的数据库连接池中。143.一些实施例的sql访问控制装置还可以包括过滤器加载模块,其可以用于在所述应用程序启动时,遍历过滤器接口集合中各过滤器的开关是否处于打开状态;将所述过滤器接口集合中其开关处于打开状态的所有过滤器记载至过滤器链中。144.一些实施例的sql访问控制装置中,所述禁止所述应用程序执行所述sql语句,包括:145.终止所述应用程序的执行。146.一些实施例的sql访问控制装置中,在终止所述应用程序的执行之后,还包括:147.输出提示日志。148.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。149.本说明书的实施例还提供一种计算机设备。如图7所示,在本说明书一些实施例中,所述计算机设备702可以包括一个或多个处理器704,诸如一个或多个中央处理单元(cpu)或图形处理器(gpu),每个处理单元可以实现一个或多个硬件线程。计算机设备702还可以包括任何存储器706,其用于存储诸如代码、设置、数据等之类的任何种类的信息,一具体实施例中,存储器706上并可在处理器704上运行的计算机程序,所述计算机程序被所述处理器704运行时,可以执行上述任一实施例所述的sql访问控制方法或的语法解析器生成方法的指令。非限制性的,比如,存储器706可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备702的固定或可移除部件。在一种情况下,当处理器704执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备702可以执行相关联指令的任一操作。计算机设备702还包括用于与任何存储器交互的一个或多个驱动机构708,诸如硬盘驱动机构、光盘驱动机构等。150.计算机设备702还可以包括输入/输出接口710(i/o),其用于接收各种输入(经由输入设备712)和用于提供各种输出(经由输出设备714)。一个具体输出机构可以包括呈现设备716和相关联的图形用户接口718(gui)。在其他实施例中,还可以不包括输入/输出接口710(i/o)、输入设备712以及输出设备714,仅作为网络中的一台计算机设备。计算机设备702还可以包括一个或多个网络接口720,其用于经由一个或多个通信链路722与其他设备交换数据。一个或多个通信总线724将上文所描述的部件耦合在一起。151.通信链路722可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路722可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。152.本技术是参照本说明书一些实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理器的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。153.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理器以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。154.这些计算机程序指令也可装载到计算机或其他可编程数据处理器上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。155.在一个典型的配置中,计算机设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。156.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。157.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。158.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。159.本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理器来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。160.还应理解,在本说明书实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。161.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。162.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。163.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献