首页> 中国专利> 用于在数据库中创建供软件测试用的测试环境的方法和装置

用于在数据库中创建供软件测试用的测试环境的方法和装置

摘要

本发明提供了一种用于在数据库中创建供软件测试用的测试环境的方法,待测试的软件将在该数据库具有目标碎片化率的环境下进行测试,该方法包括根据该目标碎片化率确定该数据库的数据页的空白页非空白页分布模式;根据适用于该软件的数据库表的表结构创建用于该数据库表的记录并向该数据库中导入指定行数的该记录;根据该空白页非空白页分布模式和一行该记录的大小确定所导入的该指定行数的记录中的所有待删除记录;以及自该数据库中删除所有待删除记录以使得该数据库具有该目标碎片化率。

著录项

  • 公开/公告号CN106155878A

    专利类型发明专利

  • 公开/公告日2016-11-23

    原文格式PDF

  • 申请/专利权人 富士施乐实业发展(中国)有限公司;

    申请/专利号CN201510131826.6

  • 发明设计人 钱正;

    申请日2015-03-24

  • 分类号G06F11/36;G06F17/30;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人徐伟

  • 地址 200131 上海市浦东新区外高桥保税区日京路79号

  • 入库时间 2023-06-19 00:56:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-10

    授权

    授权

  • 2016-12-21

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20150324

    实质审查的生效

  • 2016-11-23

    公开

    公开

说明书

技术领域

本发明涉及计算机软件测试领域,尤其涉及一种在数据库中创建供软件测试用的测试环境的方法和装置。

背景技术

软件产品在发布到市场时,会向客户提供该产品的功能说明以及性能说明。因此,对软件产品进行性能测试是软件产品开发过程中不可缺少的环节。作为性能测试的一个项目,软件设计者会对软件数据库的大数据量进行性能测试,为客户在判断是否选用该产品时提供参考。

当客户在使用软件产品一段时间后,发现软件产品的性能逐渐下降,其中的一个原因是软件产品所运行的数据库的存取查找等处理速度下降。经过调查和技术验证,软件产品对数据库的存取性能下降,与形成的数据库断片化率程度有关。随着软件产品在使用过程中对数据库的长期操作,会导致数据库的碎片化。数据库碎片化率程度越高,数据库的存取查找等处理速度就越慢,从而导致软件使用性能的恶化。

现有数据库性能测试中,准备的大量数据都是一次导入的初始状态,该状态下的数据库碎片化率为0%,此时性能测试得到的是理想数据库环境下的结果。因此无法向客户提供更符合实际使用情况的参考数据。客户使用软件产品后出现性能退化问题后,对产品的满意度下降,影响了后期的产品销售。

因此,当软件产品发布到市场时,如果可以向客户提供在数据库碎片化发生条件下的性能参考值是非常有利的,这可以监视碎片化率增大到客户不可接受的性能程度时,提前采取数据库优化方法改善。

所以,本领域亟需一种能够提供特定测试环境,例如具有特定碎片化率的数据库以供软件测试之用的技术。

发明内容

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

根据本发明的一方面,提供了一种用于在数据库中创建供软件测试用的测试环境的方法,待测试的软件将在该数据库具有目标碎片化率的环境下进行测试,该方法包括:

根据该目标碎片化率确定该数据库的数据页的空白页非空白页分布模式;

根据适用于该软件的数据库表的表结构创建用于该数据库表的记录并向该数据库中导入指定行数的该记录;

根据该空白页非空白页分布模式和一行该记录的大小确定所导入的该指定行数的记录中的所有待删除记录;以及

自该数据库中删除所有待删除记录以使得该数据库具有该目标碎片化率。

在一实例中,该确定空白页非空白页分布模式包括:根据该目标碎片率F确定不连续页的数目m和连续页的数目x-m,其中目标碎片化率F=m/x;通过定义总共m+x个页面中的空白页和非空白页以获得m个不连续页和x-m个连续页,其中每一不连续页是相邻位置为空白页的非空白页,而每一连续页是相邻位置为非空白页的非空白页。

在一实例中,该相邻位置为在前位置,或者该相邻位置为在后位置。

在一实例中,当该相邻位置为在前位置时,在该总共m+x个页面中,第1,3,…,2m-1页被定义为空白页,而第2,4,…,2m页为非空白页,以及第2m+1,…,m+x页为非空白页。

在一实例中,根据该空白页非空白页分布模式和一行该记录的大小确定所导入的该指定行数的记录中的所有待删除记录包括:根据一行该记录的大小确定该数据库的每一页所能存储的记录数目;根据该空白页非空白页模式中的空白页的位置和每页记录数目确定在具有该总共m+x个页面的单位中的待删除 记录;以及在该数据库中循环重复具有该总共m+x个页面的单位中的待删除记录的位置直至达到该指定行数,从而确定所有导入记录的范围内的所有待删除记录。

在一实例中,该方法还包括通过用户对该数据库表的手动设定来获得该数据库表的表结构。

在一实例中,该方法还包括通过导入创建表的SQL文件来获得该数据库表的表结构。

根据本发明的另一方面,还提供了一种用于在数据库中创建供软件测试用的测试环境的装置,待测试的软件将在该数据库具有目标碎片化率的环境下进行测试,该装置包括:

分析模块,适用于根据该目标碎片化率确定该数据库的数据页的空白页非空白页分布模式;以及

数据存取模块,适用于根据适用于该软件的数据库表的表结构创建用于该数据库表的记录并向该数据库中导入指定行数的该记录,

其中该分析模块进一步适用于根据该空白页非空白页分布模式和一行该记录的大小确定所导入的该指定行数的记录中的所有待删除记录,并且该数据存取模块进一步适用于自该数据库中删除所有待删除记录以使得该数据库具有该目标碎片化率。

在一实例中,该分析模块进一步适用于根据该目标碎片率F确定不连续页的数目m和连续页的数目x-m,其中目标碎片化率F=m/x;以及通过定义总共m+x个页面中的空白页和非空白页以获得m个不连续页和x-m个连续页,其中每一不连续页是相邻位置为空白页的非空白页,而每一连续页是相邻位置为非空白页的非空白页。

在一实例中,该相邻位置为在前位置,或者该相邻位置为在后位置。

在一实例中,当该相邻位置为在前位置时,在该总共m+x个页面中,第1,3,…,2m-1页被定义为空白页,而第2,4,…,2m页为非空白页,以及第2m+1,…,m+x页为非空白页。

在一实例中,该分析模块进一步适用于:根据一行该记录的大小确定该数 据库的每一页所能存储的记录数目;根据该空白页非空白页模式中的空白页的位置和每页记录数目确定在具有该总共m+x个页面的单位中的待删除记录;以及在该数据库中循环重复具有该总共m+x个页面的单位中的待删除记录的位置直至达到该指定行数,从而确定所有导入记录的范围内的所有待删除记录。

在一实例中,该装置还包括用户接口模块以适用于通过用户对该数据库表的手动设定来获得该数据库表的表结构。

在一实例中,该装置还包括用户接口模块以适用于通过导入创建表的SQL文件来获得该数据库表的表结构。

在一实例中,该装置还包括用户接口模块以适用于通过用户手动设定该目标碎片化率来获得该目标碎片化率和该指定行数。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1A是示出了数据库中连续页的示意图;

图1B是示出了数据库中的不连续页的示意图;

图2是示出了数据库页面的碎片情况的示意图;

图3示出了特定碎片化率下的空白页非空白页分布模式;

图4是示出了根据本发明的一方面用于在数据库中创建供软件测试用的测试环境的装置的框图

图5示出了根据本发明的一方面的用于在数据库中创建供软件测试用的测试环境的工具的界面

图6是示出了根据本发明的一方面的用于在数据库中创建供软件测试用的测试环境的数据流图;

图7是示出了根据本发明的一方面的用于在数据库中创建供软件测试用的测试环境的方法的流程图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

在SQLServer数据库中,数据页是其存储的最基本单位。在SQLServer数据库中数据页的大小基本上是固定的,即每个数据页的大小都为8KB,8192个字节。扣除掉一些必要的开销(如标头信息或者偏移量所占用的空间),一般其可以用来实际存储数据的空间只有8000字节左右。

当索引所在页面的基于主关键字的逻辑顺序和物理顺序不匹配时,碎片就产生了。页面包含了指向前一个和后一个页的指针。这样就形成一个双链表。理想情况下,数据文件中页的物理顺序会和逻辑顺序匹配。

图1A和图1B分别示出了页面的物理顺序和逻辑顺序匹配和不匹配的两种情况。图1A中,页面1、2、3中皆存储有数据,逻辑上相连的页面在物理上也相连,因此没有碎片产生。然而,如果页面2中的数据被删除,如图1B所示,则逻辑上相连的页面为页面1、页面3,但是它们在物理上是不连续的,即物理顺序和逻辑顺序不匹配,此时产生了碎片。

整个磁盘的工作性能在物理顺序匹配逻辑顺序时将显著提升。对某些特定的查询而言,这将带来极佳的性能。当物理排序和逻辑排序不匹配时,磁盘的工作性能会变得低效,这是因为磁头必须向前和向后移动来查找索引,而不是只象某个单一方向来搜索。碎片会影响I/O性能,进而影响在该数据库上操作的软件的性能。

为了对数据库的碎片化程度进行量化,引入了碎片化率的概念。在本发明中:

碎片化率F=不连续页数/非空白页数=不连续页数/(不连续页数+连续页数)

这里,首先对一些概念进行解释。非空白页是指存储有数据的页面,空白页是指数据已被删除从而留空的页面。连续页和非连续页皆是针对非空白页而言的,换言之,连续页和非连续页必然首先是非空白页。连续页和非连续页的 区别在于作为连续页的该非空白页的相邻页面也是非空白页,而作为非连续页的该空白页的相邻页面是空白页。

为了防止重复计算碎片化程度,上述“相邻”页面是指单方向上的相邻,例如前一页面或下一页面,而非指前一页面和下一页面两者。以该“相邻”页面指前一页面为例,只要一个非空白页的前一页面也是非空白页,则该非空白页即可被定义为连续页,而不要求该非空白页的前一页和下一页皆为非空白页才被定义为连续页。

图2是示出了数据库页面的碎片情况的示意图。如图2所示,在所有7个页面中,页面2、3、4、6、7为非空白页,而页面1、5为空白页。以前向相邻方向的页面是否为空白页作为判断依据,在非空白页2、3、4、6、7中,非空白页2的前一页为空白页,所以非空白页2为不连续页;非空白页3的前一页为非空白页,所以非空白页3为连续页;非空白页4的前一页为非空白页,所以非空白页4为连续页;非空白页6的前一页为空白页,所以非空白页6为不连续页;非空白页7的前一页为非空白页,所以非空白页7为连续页。

由此在图2的环境中,不连续页数为2,连续页数为3,则非空白页数为2+3=5,所以碎片化率F=2/5=40%。

按照上述规律,通过定义非空白页和空白页,可以实现所需数目的不连续页和连续页,从而得到特定的碎片化率。换言之,如果希望得到指定的碎片化率,可以分析得出最少需要多少数目的不连续页和连续页,而连续页可以通过设置前一页也为非空白页的非空白页来定义,不连续页可以通过设置前一页为空白页的非空白页来定义,以此方式可以获得所需要的最少数目的不连续页和连续页,从而得到该指定碎片化率的数据库环境。

假设碎片化率F=m/x,其中m为实现该碎片化率所需的最少数目的不连续页数,(x-m)为所需的连续页数,x为总的非空白页数。为了构成一个不连续页,需要设置一个非空白页,以及在该非空白页前设置一个空白页,所以每一个不连续页,需要两个相邻的页面来实现,其中一个为非空白页,另一个页面为空白页使得该非空白页成为不连续页。这样总共最少需要2m+(x-m)=x+m个页面。

以前向相邻方向的页面是否为空白页作为判断依据,可将x+m个页面进行分组,其中:

第1,3,…,2m-1页被定义为空白页,

第2,4,…,2m页为非空白页,以及

第2m+1,…,m+x页为非空白页

以上,第1至第2m页中空白页和非空白页交替排列,从而构成了m个不连续页,第2m+1至m+x页全部为非空白页,从而构成了x-m个连续页,从而实现了碎片化率F=m/x。这里的空白页非空白页分布模式仅仅是一个示例,只要能够实现所需数目的连续页和不连续页,其他排列方式也是可以的。

例如,若目标碎片化率为F=40%=2/5,则可以分析得到所需实现该碎片化率的最少数目的不连续页数m=2,非空白页数x=5,则可以将第1、3页定义为空白页,第2、4定义为非空白页,第5、6、7页定义为非空白页。图3示出了这种空白页非空白页分布模式。当然,这种空白页非空白页分布模式仅仅是示例性的,还可以有其他空白页非空白页分布模式,只要能够实现所需数目的连续页数和不连续页数即可,例如图2中的空白页非空白页分布模式也是可以的。

数据库的操作对象是数据库表,在实际数据库操作中是以表的数据的读写和删除来进行的。表是数据存储的基本单位,包含了所有的数据内容。表具有一定的结构,包括组成表的各列的名称和数据类型。一个表可以包括若干行数据,表中的一行也称为一行记录。每行记录由若干数据项构成,构成记录的每隔数据项成为字段或列。

上述空白页和非空白页的生成,需要对数据库进行读写删除操作,而读写删除操作是以表中的数据,例如以一行行记录的形式来写入和删除的。换言之,最终需要知道向数据库中写入和删除哪些记录。由页到记录(即行数据)的映射是比较简单的,只要知道一行记录的大小l,从而计算出一页能够存储多少行记录即可获得页和记录之间的对应关系。

页的大小是固定的,每个数据页的大小都为8KB,8192个字节。扣除掉一些必要的开销(如标头信息或者偏移量所占用的空间),一般其可以用来实际 存储数据的空间只有8000字节。只要知道软件产品所使用的数据库表的结构,即可知道该表中一行记录的大小l,从而根据n=[8000/l]取整算出一页能放的行数n。

以上述空白页非空白页分布模式为例,其中

第1,3,…,2m-1页被定义为空白页,

第2,4,…,2m页为非空白页,以及

第2m+1,…,m+x页为非空白页

则由于每一页能放n行,则在所有的m+x页都存满记录后,需要删除的记录为:

第1....n行(对应于第1页),

第2n+1….3n行(对应于第3页),

第(2m-2)n+1......(2m-1)n行(对应于第2m-1页)。

以上述40%的目标碎片化率为例,通过7页即可实现,即通过7n行记录的操作即可实现。然而,往往实际软件所需要的测试环境可能远不止7页的大小,因此,根据软件测试环境实际需要的大小,可以指定一个数据大小,例如10000行记录。此时,只要重复前面7n行记录的操作即可,即循环空白页非空白页分布模式,直至达到指定的数据大小。

图4是示出了根据本发明的一方面用于在数据库中创建供软件测试用的测试环境的装置100的框图。

如图4所示,装置100可包括UI(用户接口)模块101,用户可通过该UI模块101实现与装置100的交互,例如用户可通过UI模块101手动地设定适用于软件产品的数据库表,或者用户可通过UI模块101直接导入创建该数据库表的SQL文件。无论何种方式,皆可获得该表的表结构。用户还可通过UI模块101手动地设定目标碎片化率。另外,用户还可通过UI模块101手动指定数据大小,例如指定总共需要创建多少行记录。获得了表结构,也就可以得到一行记录的大小。

装置100还可包括分析模块102和数据存取模块103。分析模块102可根 据目标碎片化率确定数据库的数据页的空白页非空白页分布模式。在一实例中,分析模块102可根据目标碎片率F确定不连续页的数目m和连续页的数目x-m,其中目标碎片化率F=m/x,以及通过定义总共m+x个页面中的空白页和非空白页以获得m个不连续页和x-m个连续页,其中每一不连续页是相邻位置为空白页的非空白页,而每一连续页是相邻位置为非空白页的非空白页。该相邻位置可以是在前位置,或者该相邻位置可以是在后位置。

在相邻位置为在前位置时,在这总共m+x个页面中,第1,3,…,2m-1页可被定义为空白页,而第2,4,…,2m页可被定义为非空白页,以及第2m+1,…,m+x页可被定义为非空白页。

数据存取模块103可根据适用于目标软件的数据库表的表结构创建用于该数据库表的记录并向数据库中导入指定行数的所述记录,该指定行数可以由用户通过UI模块101手动输入,例如10000行等等。

分析模块102进而可根据先前确定的空白页非空白页分布模式和一行记录的大小来确定所导入的指定行数的这些记录中的所有需要删除的记录。在一实例中,分析模块102可根据一行记录的大小确定数据库的每一页所能存储的记录数目,根据该空白页非空白页模式中的空白页的位置和每页记录数目确定在具有总共m+x个页面的单位中的待删除记录,然后在数据库中循环重复具有该总共m+x个页面的单位中的待删除记录的位置直至达到该指定行数,从而确定所有导入记录的范围内的所有待删除记录。

图5示出了根据本发明的一方面的用于在数据库中创建供软件测试用的测试环境的工具的界面。如图5所示,该工具界面中主要包括DB表设定区、参数设定区、执行区、以及状态栏四个部分。

DB设定区中:

在表格中设计表字段,支持所有SQLServer的类型。

对于SQLServer定长的列(比如int、char、Nchar)等,数据字节是默认的。对于不定长的列(比如varchar、Nvarchar),一般地需要根据实际业务在“数据字节”列填上合适的值。否则就会填充到最大字节数,生成数据的碎片化和预想的有一定误差。本工具一般适用于行的字节数不超过8K的数据。

参数设定区:

“进行碎片化”选项:代表要不要进行碎片化操作;

“碎片化率”用以设置碎片化率,如果“进行碎片化”没有选中,则无效;

“数据大小”是以数据行为单位,比如10000代表初始插入10000行记录。

执行区:

“导入SQL”表示可导入创建表的SQL文件,结果会显示在左边的DB设定区。

“开始”按钮表示创建表、生成数据、并且根据设置对创建的DB表进行碎片化操作。

状态栏部分显示执行进程。

图6是示出了根据本发明的一方面的用于在数据库中创建供软件测试用的测试环境的数据流图。

如图6所示,用户可通过工具界面进行表的设定,该表可以是需要测试的软件产品所适用的数据库表。用户可手动地设定表的每一列,包括每一列的类型和大小等等。用户也可以通过直接导入SQL文件来获取表结构。用户还可设定目标碎片化率,以及导入的数据大小,例如10000行记录。

之后,进入数据分析阶段。如果是手动设定表,则可以算出一行记录的大小l,一行记录的大小l=∑leni,其中leni为每一字段的大小,相应地可以算出一页有多少行,即n=|8000/l|。这里的工具适用于一行小于8000字节的情形。

数据分析还包括根据碎片化率确定空白页非空白页分布模式。例如根据碎片化率F=m/x,可以算出要删除的页的编号Pagedel=1,3,…,2m-1,其中m为不连续页数,x为非空白页数,即连续页和非连续页数目之和。由于一页能存储的记录为n行,所以待删除行(即,记录)Linedel=PageDel*n。相应地,Linedel=1…n,2n+1…3n,…,(2m-2)n+1…(2m-1)n。

在数据库数据存取阶段,主要分为数据初期化和碎片化两部分。数据初期化主要是根据表结构创建记录,例如指定行数的记录。在用户定义的导入数据大小为10000行的情况下,生成10000行记录,并将所有的10000行全部存入数据库中。

碎片化部分则是根据数据分析阶段确定的待删除记录,将这些待删除记录全部删除,以造成数据库的碎片化。

图7是示出了根据本发明的一方面的用于在数据库中创建供软件测试用的测试环境的方法的流程图。如图7所示,该方法可包括以下步骤:

步骤702:根据目标碎片化率确定数据库的数据页的空白页非空白页分布模式;

在一实例中,可根据该目标碎片率F确定不连续页的数目m和连续页的数目x-m,其中目标碎片化率F=m/x;然后通过定义总共m+x个页面中的空白页和非空白页以获得m个不连续页和x-m个连续页,其中每一不连续页是相邻位置为空白页的非空白页,而每一连续页是相邻位置为非空白页的非空白页。

该相邻位置可以为在前位置,或者该相邻位置可以为在后位置。当相邻位置为在前位置时,在该总共m+x个页面中,第1,3,…,2m-1页可被定义为空白页,而第2,4,…,2m页可为非空白页,以及第2m+1,…,m+x页可为非空白页。

步骤704:根据适用于该软件的数据库表的表结构创建用于该数据库表的记录并向该数据库中导入指定行数的该记录;

该表结构可以是通过用户手动定义表来获得的,或者可以通过直接导入SQL文件来获得,获得表结构后即可创建表的记录,总共可以创建指定行数的记录,并将它们存到数据库中。

步骤706:根据该空白页非空白页分布模式和一行该记录的大小确定所导入的该指定行数的记录中的所有待删除记录;

在一实例中,可根据一行该记录的大小确定该数据库的每一页所能存储的记录数目;然后根据该空白页非空白页模式中的空白页的位置和每页记录数目确定在具有该总共m+x个页面的单位中的待删除记录;最后在该数据库中循环重复具有该总共m+x个页面的单位中的待删除记录的位置直至达到该指定行数,从而确定所有导入记录的范围内的所有待删除记录。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并 领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

示例

以发明人开发的Atalanta项目为例,适用jobLogInfo表,行大小在540字节左右,每页只能存储14行记录。

1)若希望目标碎片化率为100%,则F=m/x=1/1=100%,即,m=1,x=1,n=14

在导入指定条数例如10000条记录后,代入前文公式,即这10000条记录中每28条记录中删除前14条记录。

declare@Number int

set@Number=0;

while(@Number<100001)

Begin

delete from dbo.jobLogInfo where autoNumber>@Number and autoNumber<(@Number+15)

set@Number=@Number+28

End

根据DBCC SHOWCONTIG命令结果,扫描得到的碎片化率为99.94%,可以看到制做出来的数据是符合碎片化率要求的。

2)若希望目标碎片化率为50%,则F=m/x=1/2=100%,即,m=1,x=2,n=14

在导入指定条数例如10000条记录后,代入前文公式,即这10000条记录中每42条记录中删除前14条记录。

declare@Number int

set@Number=0;

while(@Number<100001)

Begin

delete from dbo.jobLogInfo where autoNumber>@Number and autoNumber<(@Number+15)

set@Number=@Number+42

End

根据DBCC SHOWCONTIG命令结果,扫描得到的碎片化率为50.20%,可以看到制做出来的数据是符合碎片化率要求的。

3)若希望目标碎片化率为33.3%,则F=m/x=1/3=100%,即,m=1,x=3,n=14

在导入指定条数例如10000条记录后,代入前文公式,即这10000条记录中每56条记录中删除前14条记录。

declare@Number int

set@Number=0;

while(@Number<100001)

Begin

delete from dbo.jobLogInfo where autoNumber>@Number and autoNumber<(@Number+15)

set@Number=@Number+56

End

根据DBCC SHOWCONTIG命令结果,扫描得到的碎片化率为33.71%,可以看到制做出来的数据是符合碎片化率要求的。

根据本发明的方案,可以为软件测试提供不同碎片化率的数据库环境,以便能够测得软件产品在不同数据库环境下的性能,为客户提供更好的性能参考数据。

本说明书中提到的各种装置、单元、模块等等可用硬件、固件、软件及其各种组合来实现。这些装置、单元、模块等等是实现为硬件还是软件将取决于 具体应用和加诸于系统的整体设计约束。例如,一些功能单元可通过处理器以及存储在存储器中的软件来实现。作为示例,这些处理器、处理器的任何部分、或处理器的任何组合可用微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立的硬件电路、以及配置成执行贯穿本公开描述的各种功能的其他合适的处理组件来实现。

软件应当被宽泛地解释成意味着指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其它术语来述及皆是如此。软件可驻留在计算机可读介质上。作为示例,计算机可读介质可包括存储器,诸如磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)、数字多用碟(DVD))、智能卡、闪存设备(例如,记忆卡、记忆棒、钥匙型驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、或可移动盘。尽管在贯穿本公开呈现的各种方面中将存储器示为与处理器分开,但存储器可位于处理器内部(例如,高速缓存或寄存器)。

计算机可读介质可以实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将意识到如何取决于具体应用和加诸于整体系统的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号