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

用于软件产品文档的用户界面截屏的自动捕获的制作方法

2023-02-19 14:15:50 来源:中国专利 TAG:


1.本发明总体涉及捕获用户界面截屏,更具体地说,涉及自动捕获用户界面截屏以用于软件产品文档。


背景技术:

2.诸如用户指南之类的软件产品文档,通常包括软件产品的用户界面(ui)的截屏。包括用户界面截屏,使用户可以更好地按照说明一步一步地进行操作,并通过将用户体验的ui与ui截屏进行比较来验证其操作。此外,在产品文档中包含ui截屏,使用户无需安装或访问产品就可以通过ui捕获来了解软件产品。因此,准备软件文档的技术作者知道ui捕获是易于使用的产品文档的重要元素,并因此添加示例性的ui捕获。
3.通常,手动地为产品文档(如用户指南)捕获ui截屏所需的时间很长。当前有可用的软件允许用户定期地,例如每隔两秒或五秒,或者在ui事件发生(例如,新的活动窗口现出或ui控件激活)时,自动地捕获截屏。然而,这种类型的自动捕获软件通常会导致捕获过多的截屏,要求技术作者对所捕获的截屏进行排序,以确定所需的截屏。


技术实现要素:

4.本发明的实施例针对一种用于自动捕获用户界面(ui)截屏以用于软件产品文档的计算机实现的方法。计算机实现的方法的非限制性示例包括识别软件产品的用户界面窗口并创建用户界面窗口的完成度图。该方法还包括在软件产品的使用期间捕获用户界面窗口的多个截屏并计算多个截屏中每个截屏的完成度百分比。该方法进一步包括基于完成度百分比来识别要包括在软件产品文档中的多个截屏的子集。
5.本发明的实施例涉及一种用于自动捕获用户界面(ui)截屏以用于软件产品文档的系统。该系统的非限制性示例包括耦合到存储器的处理器,处理器可操作以识别软件产品的用户界面窗口并创建用户界面窗口的完成度图。处理器还可操作以在软件产品的使用期间捕获用户界面窗口的多个截屏,并计算多个截屏中每个截屏的完成度百分比。处理器进一步可操作以基于完成度百分比来识别要包括在软件产品文档中的多个截屏的子集。
6.本发明的实施例涉及一种用于自动捕获用户界面(ui)截屏以用于软件产品文档的计算机程序产品,该计算机程序产品包括一种计算机可读存储介质,其中包含程序指令。程序指令可由处理器执行,以使处理器执行一种方法。该方法的非限制性示例包括识别软件产品的用户界面窗口并创建用户界面窗口的完成度图。该方法还包括在软件产品的使用期间捕获用户界面窗口的多个截屏并计算多个截屏中每个截屏的完成度百分比。该方法进一步包括基于完成度百分比来识别要包括在软件产品文档中的多个截屏的子集
7.通过本发明的技术实现了额外的技术特征和益处。本发明的实施例和方面在本文中作了详细描述,并被认为是请求保护的主题的一部分。为了更好地理解,参考具体实施方式部分和附图。
附图说明
8.在说明书结尾处的权利要求中特别指出并明确要求了本文所述的专有权的细节。从以下结合附图的详细描述中,本发明的实施例的前述和其他特征和优点是显而易见的,其中:
9.图1描绘了根据本发明的一个或多个实施例的云计算环境;
10.图2描绘了根据本发明的一个或多个实施例的抽象模型层;
11.图3描绘了用于实现本发明的一个或多个实施例的计算机系统的框图;
12.图4描绘了根据本发明的实施例的用于自动捕获在软件产品文档中使用的用户界面(ui)截屏的系统;
13.图5a描绘了根据本发明的一个或多个实施例的完成度图;
14.图5b描绘了根据本发明的一个或多个实施例的压缩的完成度图;
15.图6描绘了根据本发明的一个或多个实施例的用于自动捕获用户界面(ui)截屏以用于软件产品文档的方法的流程图;
16.图7描绘了根据本发明的一个或多个实施例的用于通过自动捕获用户界面(ui)截屏来更新软件产品文档的方法的流程图。
17.本文的附图是说明性的。在不脱离本发明精神的情况下,附图或其中描述的操作可以有许多变体。例如,可以按不同的顺序执行操作,也可以添加、删除或修改操作。此外,术语“耦合”及其变体描述了在两个元件之间具有通信路径,而并非意味着元件之间没有中间元件/连接的直接连接。所有这些变体都视为说明书的一部分。
具体实施方式
18.本文参考相关附图描述了本发明的各种实施例。在不脱离本发明范围的情况下可以设计本发明的替代实施例。以下描述和附图中阐述了元件之间的各种连接和位置关系(例如,上方、下方、相邻等)。除非另有规定,否则这些连接和/或位置关系可以是直接或间接的,本发明无意在这方面加以限制。因此,实体的耦合可以指直接耦合或间接耦合,实体之间的位置关系可以是直接位置关系或间接位置关系。此外,本文描述的各种任务和过程步骤,可以合并到具有本文未予详述的其它步骤或功能的更全面的程序或过程中。
19.以下定义和缩写用于解释权利要求和说明书。如本文所用对,术语“包含”、“包括”、“含有”、“具有”、“有”、或其任何其他变体旨在涵盖非排他性对的包含。例如,包含一系列要素的组合物、混合物、过程、方法、物品或装置不一定仅限于这些元素,而是可以可以包含未明确列出的或此类组合物、混合物、过程、方法、物品或装置固有的其他要素。
20.此外,本文中使用的术语“示例性”是指“用作示例、实例或说明”本文中描述为“示例性”的任何实施例或设计不一定要解释为优于其他实施例或设计。术语“至少一个”和“一个或多个”可以理解为包括大于或等于一的任何整数,即一、二、三、四等。术语“多个”可以理解为包括大于或等于二的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”21.术语“大约”、“实质上”、“近似地”及其变体旨在包括与基于提交申请时可用的设备的特定数量测量相关的误差程度。例如,“大约”可以包括给定值的
±
8%或5%或2%的范围。
22.为了简洁起见,与制造和使用本发明方面有关的常规技术,在本文可以有详细描述,也可以不作详细描述。具体而言,用于实现本文所述的各种技术特征的计算系统的各个方面和特定计算机程序是众所周知的。因此,为了简洁起见,不提供众所周知的系统和/或过程细节,许多常规实现细节在本文中或者简要提及,或者完全省略
23.应当理解,虽然本公开包括关于云计算的详细描述,但是本文给出的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
24.云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
25.特性如下:
26.按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
27.广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和pda)的使用。
28.资源池化:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
29.快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
30.测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
31.基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
32.部署模型如下:
33.私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
34.社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
35.公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
36.混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的
负载平衡)绑定在一起。
37.云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
38.现在参见图1,描述了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备诸如例如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可彼此通信。它们可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图1中所示的计算装置54a-n的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化装置通信。
39.现在参见图2,示出了由云计算环境50(图1)提供的一组功能抽象层。应提前理解,图2中所示的组件、层和功能仅旨在是说明性的,并且本发明的实施例不限于此。如图所示,提供以下层和对应功能:
40.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储设备65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
41.虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
42.在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本追踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行85提供根据sla预期未来需求的云计算资源的预安排和采购。
43.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教学93;数据分析处理94;交易处理95;以及捕获用于产品文档的用户界面截屏96。
44.参考图3,示出了用于实现本文的教导的处理系统300的实施例。在该实施例中,系统300具有一个或多个中央处理单元(处理器)21a、21b、21c等(统称为处理器21)。在一个或多个实施例中,每一处理器21可包含精简指令集计算机(risc)微处理器。处理器21通过系统总线33耦合到系统存储器34和各种其它组件,只读存储器(rom)22耦合到系统总线33,并可包括基本输入/输出系统(bios),其控制系统300的某些基本功能。
45.图3还示出了耦合到系统总线33的输入/输出(i/o)适配器27和网络适配器26。i/o适配器27可以是与硬盘23和/或磁带存储驱动器25或任何其它类似组件通信的小型计算机系统接口(scsi)适配器。i/o适配器27、硬盘23和磁带存储设备25在此统称为海量存储器
24。在处理系统300上执行的操作系统40可以存储在海量存储器24中。网络适配器26将总线33与外部网络36互连,使得数据处理系统300能够与其它这种系统通信。屏幕(例如,显示监视器)35通过显示适配器32连接到系统总线33,该显示适配器可以包括用于提高图形密集应用的性能的图形适配器和视频控制器。在一个实施例中,适配器27、26和32可连接到一个或多个i/o总线,这些i/o总线经由中间总线桥(未示出)连接到系统总线33。用于连接诸如硬盘控制器、网络适配器和图形适配器的外围设备的合适的i/o总线通常包括公共协议,诸如外围组件互连(pci)。附加的输入/输出设备被示为经由用户接口适配器28和显示适配器32连接到系统总线33。键盘29、鼠标30和扬声器31都经由用户接口适配器28互连到总线33,该用户接口适配器可以包括例如将多个设备适配器集成到单个集成电路中的超级i/o芯片。
46.在示例性实施例中,处理系统300包括图形处理单元41,图形处理单元41是被设计成操纵和更改存储器以加速旨在输出到显示器的帧缓冲器中的图像的创建的专用电子电路。总体而言,图形处理单元41在操纵计算机图形和图像处理方面非常有效,并且具有高度并行结构,所述使其对并行地处理大数据块的算法比通用cpu更有效的高度并行的结构。
47.因此,如图3中所配置的,系统300包括处理器21形式的处理能力、包括系统存储器34和大容量存储器24的存储能力、诸如键盘29和鼠标30的输入装置、以及包括扬声器31和显示器35的输出能力,在一个实施例中,系统存储器34和大容量存储器24的一部分共同存储操作系统以协调图3中所示的各个组件的功能。
48.现在转到与本发明的方面更具体相关的技术的概述,提供了用于自动捕获用于软件产品文档的用户界面(ui)截屏的方法、系统和计算机程序产品。在示例性实施例中,方法、系统和计算机程序产品被配置为基于计算的截屏中描绘的用户界面窗口的完成度(degree of completion)自动捕获和识别截屏以用于包括在产品文档中。在示例性实施例中,用户界面窗口的完成度是基于完成度图计算的,完成度图是基于用户界面窗口的特征创建的无向加权拓扑图。在示例性实施例中,在后端构建完成度图以获得ui控件的状态。如本文所使用的ui窗口的特征,是指ui窗口的ui控件是否具有用户输入的状态。一旦创建,就用图形卷积网络(gcn)来分析完成度图,以获得截屏中描绘的用户界面窗口的完成度和完成度百分比(degree-of-completion percentage)。在示例性实施例中,所述方法、系统和计算机程序产品还被配置成使用机器学习来从可用的系统及其相关用户指南获得所有用户界面窗口类别的完成度和完成度百分比的历史集合。
49.现在转到本发明的各方面的更详细的描述,图4描绘了根据本发明的实施例的用于自动捕获用户界面(ui)截屏以用于软件产品文档的计算系统400。系统400包括软件产品402、用户界面404、ui分析引擎406、产品文档408以及可选的历史产品文档410。计算系统400可以在图3中的处理系统300上实现,另外,云计算系统50可以与计算系统400的一个或所有元件进行有线或无线电子通信。云50可以补充、支持或替换计算系统400的元件的一些或全部功能。另外,计算系统400的元件的一些或全部功能可以被实现为云50的节点10(图1和2中所示),云计算节点10仅是合适的云计算节点的一个示例,并不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制。
50.如本文中所述,ui窗口中的完成度是指示ui窗口中用户操作(例如点击按钮、输入值或选择日期)完成程度的度量。在示例性实施例中,每个完成度与执行步骤的顺序无关,
但是与已经完成的是什么操作有关,其与窗口内的ui控件的输入值(或状态)密切相关。例如,诸如用户id字段之类的窗口中的典型ui控件的输入状态会导致两种不同的完成度:一种是有用户id输入,另一种是没有用户id输入。
51.在示例性实施例中,利用完成度图来计算ui窗口中用户操作的完成度。图5a示出了根据一个实施例的完成度500的示意图。完成度图500是基于ui窗口的特征构建的无向加权拓扑图。在示例性实施例中,完成度图500从窗口节点502开始创建,其节点索引(node index)等于零,用于表示ui窗口。接下来,ui窗口中的每个ui控件被分配以从一开始的唯一性索引。每个ui控件对应于完成度图500中的两个节点。节点之一是无输入(input-free)节点504,另一个是输入节点506。在示例性实施例中,将无输入节点504和输入节点506归于相应的类别组508、510中,这些类别组用于对相同控制类型和相同值类型的输入或无输入节点进行分组。在一个实施例中,n是软件世界中ui控制类别的总数,而不是特定ui窗口中ui控制类别的数量。在示例性实施例中,如果ui元素具有输入值,则其输入节点506与窗口节点502之间将存在连接边。如果ui元素没有输入值,则其无输入节点504和窗口节点502之间将存在连接边。在示例性实施例中,连接边的权重始终设置为1。
52.在示例性实施例中,一旦已经创建了完成度图500,则压缩完成度图500,以创建压缩的完成度图550。压缩完成度图500简化了其结构,并能减少了分析完成度图500所需的计算量。在示例性实施例中,将每个无输入类别组508中的无输入节点504压缩为虚拟无输入节点514,虚拟无输入节点514与窗口节点502之间的连接的权重,是每个无输入类别组508中的无输入节点504与窗口节点502之间的连接边的总和。如果在无输入类别组508中不存在无输入节点504,则虚拟无输入节点514与窗口节点502之间将不存在连接边。类似地,将每个输入类别组510中的输入节点506压缩为虚拟输入节点516,虚拟输入节点516与窗口节点502之间的连接的权重,是每个输入类别组510中的输入节点506与窗口节点502之间的连接边的总和。如果输入类别组510中不存在输入节点506,则虚拟输入节点516与窗口节点502之间将不存在连接边。
53.在示例性实施例中,在已经创建并压缩用户界面窗口的完成度图之后,分析完成度图,以识别ui窗口的截屏的完成度和/或完成度百分比。在示例性实施例中,为了计算完成度,将压缩的完成度图作为输入馈送到三层图卷积网络(gcn)中。在提取压缩的完成度图的特征之后,gcn的输出包含窗口节点的节点嵌入(node embedding),其被视为完成度的值。
54.在示例性实施例中,使用三层gcn作为输入,使用1层gcn公式:来计算拓扑图中节点的节点嵌入,其中来计算拓扑图中节点的节点嵌入,其中目另外,a为加权邻接矩阵,i为单位矩阵,为a的对角节点度矩阵,特征矩阵x为单位矩阵,每个参数矩阵w都是随机初始化的,σ(
·
)为非线性激活函数relu。
55.在示范性实施例中,按下式来计算完成度百分比:degree_of_completion_percentage=2-cos(window_node_embedding_1,window_node_embedding_24)/(2-cos(window_node_embedding_3,window_node_embedding_2))*100,其中,window_node_embedding_1为窗口节点在当前完成度图中的节点嵌入,window_node_embedding_2为窗口节点在完成度图中的节点嵌入,完成度图中属于所有ui
控件的无输入节点连接到窗口节点,window_node_embedding_3为窗口节点在完成度图中的节点嵌入,完成度图中属于所有ui控件的输入节点连接到该窗口节点。
56.图6描绘了根据本发明的一个或多个实施例的自动捕获用于软件产品文档的用户界面(ui)截屏的方法600的流程图。方法600包括识别软件产品的用户界面窗口,如方框602所示。接下来,如方框604所示,方法600包括为用户界面窗口创建完成度图。在示例性实施例中,完成度图是通过识别ui控件是否具有输入并对用户界面窗口的ui控件进行分组而创建的无向加权图。方法600还包括在软件产品的使用期间捕获用户界面窗口的多个截屏,如方框606所示。在一个实施例中,在软件产品的使用期间捕获用户界面窗口的多个截屏包括在用户界面窗口打开期间定期地捕获截屏。在另一实施例中,在软件产品的使用期间捕获用户界面窗口的多个截屏包括每次用户界面窗口发生用户界面事件时捕获截屏。
57.接下来,如方框608所示,方法600包括计算多个截屏中的每个截屏的完成度百分比。在示例性实施例中,计算多个截屏中的每截屏的完成度百分比包括分析与多个截屏中的每个截屏对应的完成度图。在一个实施例中,分析完成度图包括将完成度图输入到三层图卷积网络中,其中,通过对应的完成度图的window_node_embedding_1、window_node_embedding_2和window_node_embedding_3来计算完成度百分比。方法600还包括基于完成程度百分比来识别要包括在文档中的多个截屏的子集,如方框610所示。在示例性实施例中,该方法还包括将多个截屏的子集自动插入到软件产品文档中。
58.在一个实施例中,该方法还包括获得软件产品的先前版本的文档以及识别包括在文档中的截屏。一旦识别出截屏,就将每个截屏分类为某用户界面窗口类别。然后,当使用软件产品的较新版本时,确定新用户界面窗口的用户界面窗口类别。接下来,计算属于与新用户界面窗口相同的用户界面窗口类别的每个所识别截屏的完成程度百分比。然后,可以将产品文档中所识别截屏替换为完成百分比与所识别截屏最接近的新用户界面窗口的截屏。
59.在示例性实施例中,可以将软件中的用户界面窗口可以划分为有限数量的用户界面窗口类别,每个类别的用户界面窗口用于相同的目的,例如,完成相同的业务任务、所需的用户界面操作,为了该目的,这些窗口中的控制值应当相似。因此,可以分析包含所有ui窗口类别的截屏的可用历史产品文档,以确定有经验的技术作家通常选择捕获每个ui窗口类别的何种完成度的何种截屏并包括在产品文档中。因此,可以训练机器学习模型,用机器学习模型来获得每个ui窗口类别的截屏集合。因此,通过分析历史产品文档以获得所有ui窗口类别的完成度和完成度百分比的历史集合,可以更高效地执行对用于新版本用户指南的截屏进行自动识别和分类的过程。
60.现在参考图7,示出了根据本发明的一个或多个实施例的用于通过自动捕获用户界面(ui)截屏来更新软件产品文档的方法700的流程图。方法700包括获得软件产品的先前版本的软件产品文档,如方框702所示。接下来,如方框704所示,方法700包括识别软件产品文档中的每个截屏,确定每个截屏的ui窗口类别,以及计算每个截屏的完成度百分比和完成度。方法700还包括执行软件产品的新版本,并捕获每个ui操作上的候选截屏,如方框706所示。在示例性实施例中,当活动用户界面窗口的完成度百分比在所识别的当前目标完成度百分比的预定范围内,例如2%内时,自动地抓取候选截屏。所识别的当前目标完成度百分比是从软件产品的先前版本的软件产品文档中的相同ui类别的截屏获得的。
61.接下来,如方框708所示,方法700包括计算每个候选截屏的完成度百分比和完成度,以及确定每个候选截屏的用户界面窗口类别。方法700进一步包括计算每个候选截屏与相同ui窗口类别的所识别截屏之间的余弦相似度(cosine similarity),如方框710所示。在方框712,方法700用具有最高余弦相似度的相同用户界面窗口类别的候选截屏替换所识别截屏来创建新的软件产品文档,并由此结束。
62.还可以包括其它过程。应当理解,图6和图7中描绘的过程代表示例,在不偏离本公开的范围和精神的情况下,可以添加其他过程,或者可以移除、修改或重新布置现有过程。
63.本发明可以是具有任何技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
64.计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过导线发射的电信号。
65.本文所述的计算机可读程序指令,可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
66.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(如java、smalltalk、c 等)和常规的过程编程语言(如“c”编程语言或类似的编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
67.本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各个方面。应当理解,流程图和/或框图的每个框以及流程图和/或
框图中各框的组合,都可以通过计算机可读程序指令实现。
68.这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图的框中规定的功能/动作的方面的指令的制造品。
69.也可将计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
70.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
71.本发明的各种实施例的描述是为了说明的目的而提供的,但并不旨在是穷举性的或限于所公开的实施例。在不脱离所描述实施例的范围和精神的情况下,许多修改和变体对于本领域的普通技术人员来说是显而易见的。选择本文使用的术语是为了最好地解释实施例的原理、实际应用或相对于市场上发现的技术的技术改进,或者是为了使本领域的其他普通技术人员能够理解本文描述的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献