数据存储和查询方法及装置与流程

文档序号:20875131发布日期:2020-05-26 16:24阅读:268来源:国知局
数据存储和查询方法及装置与流程

本发明涉及数据库领域,具体而言,涉及一种数据存储和查询方法及装置。



背景技术:

目前市面上的存储库产品的种类很多,有基于大数据的hadoop基础的hbase,spark,impala等,有基于关系型数据库的sqlserver,mysql等,有非sql的mango等,各种产品针对的产品需求不同,功能各异,但是针对特定存储的解决方案缺点很难找到,比如在存储解析文书结果的需求中,经过大量的评测和试用没有找到合适的产品可以用,用户的需求主要有以下的特点和存储需求:

1,数据的量:千万组结果,每组结果又有千级的维度信息,每个维度信息又有多个子结果,每个子结果还有多个属性,所以很难平铺成二维表,所以不适用常规的关系型数据库。

2,动态的数据列:因为维度信息的属性是多样的,所以无法预定义列。

3,数据的频繁更新:数据的更新速度很快,而且每次都是全库更新,所以不存在删除单条数据的需求。

4,要求数据的写入速度快速:因为解析是基于分布式系统的,所以要能消化掉解析的速度。

5,数据可以根据列进行筛选查询。

6,支持数据的部分(全部)导出,很容易扩展成off-line的数据包。

针对相关技术中数据库存储结构无法满足用户需求的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种数据存储和查询方法及装置,以解决数据库存储结构无法满足用户需求的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种数据存储方法,该方法包括:在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在所述内容头节点的存储空间中存储数据的内容节点的存储地址,在所述内容节点的存储空间中存储数据的实体内容;将所述待存储的数据的索引信息存入索引文件中,其中,在所述索引文件中申请索引信息的存储空间,所述索引信息为待存储数据的实体内容的维度信息以及实体内容在所述内容文件中的内容节点的存储地址。

进一步地,所述方法还包括:在检测到存在新的维度信息时,创建新的索引文件;将所述新的索引文件的存储位置存入定义文件中。

进一步地,所述内容文件包括表头节点、内容头节点和内容节点三种节点类型,将待存储的数据首次存入内容文件中包括:申请表头节点的存储空间、内容头节点的存储空间和内容节点的存储空间,在所述表头节点的存储空间中存储内容文件的数据总条数和内容头节点的存储位置;在所述内容头节点的存储空间中存储下一个内容头节点的存储位置和内容节点的存储位置;在所述内容节点的存储空间中存储数据的实体内容。

进一步地,所述表头节点、内容头节点和内容节点各包括四个字节块,第一字节块、第二字节块和第三字节块各包括8个字节,第四字节块包括4个字节,所述表头节点的第一个块表示内容文件的数据总条数,第二个块表示内容头节点的存储位置,第三个块和第四个块为空;内容头节点的第一个块为空,第二个块表示下一条内容头节点的位置,第三个块表示内容节点的下一条的位置,第四块表示内容的长度;内容节点的第一个块表示内容节点的下一条的位置,内容节点的其余块用于存储数据的实体内容,内容节点的块的数量根据所述数据实体内容的大小确定。

进一步地,所述索引文件包括根节点、索引节点和内容节点三种类型,每种节点各包括四个字节块,第一字节块和第二字节块各包括8个字节,第三字节块和第四字节块各包括4个字节,根节点的第一个块为空,第二个块表示b+树的根节点地址,第三个块为空,第四个块用于表示当前的节点类型;索引节点的第一个块表示索引的左节点地址,第二个块表示索引的右节点地址,第三个块表示索引的数量,第四个块表示当前节点类型;内容节点的第一个块表示内容的左节点地址,第二个块表示内容的右节点地址,第三个块表示内容的数量,第四个块表示当前节点类型。

进一步地,在将待存储的数据存入内容文件中之前,所述方法还包括:在向存储空间存入数据时,判断待使用的存储空间是否在缓存中,其中,数据在存储空间中以页为单位存储,缓存中的页的使用频率大于磁盘中的页的使用频率;如果是,则将数据存入存储空间中的页中。

进一步地,每个页的位置通过8字节的常整形来表示,前4个字节表示存储位置的页的编号,第5、6个字节表示存储在所述编号中所对应的页的起始位置,第7、8字节表示存储数据的长度。

为了实现上述目的,根据本发明的一个方面,提供了一种数据查询方法,该方法包括:接收查询指令,所述查询指令中携带有待查询的内容的维度信息;根据所述维度信息查询定义文件中存储的所述维度信息的索引文件的存储位置,得到第一存储位置;根据所述第一存储位置查询索引文件,得到所述维度信息所对应的内容文件的第二存储位置;查询所述第二存储位置中的内容文件,得到待查询的内容的维度信息的实体内容。

为了实现上述目的,根据本发明的另一方面,还提供了一种数据存储装置,该装置包括:第一存储单元,用于在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在所述内容头节点的存储空间中存储数据的内容节点的存储地址,在所述内容节点的存储空间中存储数据的实体内容;第二存储单元,用于将所述待存储的数据的索引信息存入索引文件中,其中,在所述索引文件中申请索引信息的存储空间,所述索引信息为待存储数据的实体内容的维度信息以及实体内容在所述内容文件中的内容节点的存储地址。

为了实现上述目的,根据本发明的另一方面,还提供了一种数据查询装置,该装置包括:接收单元,用于接收查询指令,所述查询指令中携带有待查询的内容的维度信息;第一查询单元,用于根据所述维度信息查询定义文件中存储的所述维度信息的索引文件的存储位置,得到第一存储位置;第二查询单元,用于根据所述第一存储位置查询索引文件,得到所述维度信息所对应的内容文件的第二存储位置;第三查询单元,用于查询所述第二存储位置中的内容文件,得到待查询的内容的维度信息的实体内容。

本发明通过在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址,解决了数据库存储结构无法满足用户需求的问题,进而达到了优化数据库存储结构的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的数据存储方法的流程图;

图2是根据本发明实施例的数据查询方法的流程图;

图3是根据本发明实施例的数据存储装置的示意图;

图4是根据本发明实施例的数据查询装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供了一种数据存储方法。

图1是根据本发明实施例的数据存储方法的流程图,如图1所示,该方法包括以下步骤:

步骤s102:在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;

步骤s104:将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址。

该实施例采用在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址,从而解决了数据库存储结构无法满足用户需求的问题,进而达到了优化数据库存储结构的效果。

本发明实施例的技术方案可以作为一种轻量化的存储库设计方法,数据库共有三种文件类型,内容文件,索引文件和定义文件,其中,内容试题数据存入到内容文件中,内容的维度信息的索引存入到索引文件中,索引文件中维度信息的存储位置存入到内容文件中,在初次存储时,创建这三个文件,将索引文件的存储位置存入到定义文件中,在创建好三个文件之后,每次有数据存入时,由于在索引文件中已经存储了维度信息,所以无需每次都重新将索引文件的存储位置存入到定义文件中,仅当新增了新的维度信息后需要将存储位置存入到定义文件中,例如,内容文件存储了学生成绩实体文件,索引文件存储了对应于每个人的成绩存储位置,例如目录文件,定义文件存储了目录文件所在的位置,例如语文成绩索引在目录第1页,数学成绩索引在目录第2页。

可选地,在检测到存在新的维度信息时,创建新的索引文件;将新的索引文件的存储位置存入定义文件中。

如果新存入的数据引入了一个新的维度信息,则该维度信息表对应的索引文件在定义文件中并没有存储,因此需要将新的索引文件的存储位置存入定义文件中。

可选地,内容文件包括表头节点、内容头节点和内容节点三种节点类型,将待存储的数据首次存入内容文件中包括:申请表头节点的存储空间、内容头节点的存储空间和内容节点的存储空间,在表头节点的存储空间中存储内容文件的数据总条数和内容头节点的存储位置;在内容头节点的存储空间中存储下一个内容头节点的存储位置和内容节点的存储位置;在内容节点的存储空间中存储数据的实体内容。

可选地,表头节点、内容头节点和内容节点各包括四个字节块,第一字节块、第二字节块和第三字节块各包括8个字节,第四字节块包括4个字节,表头节点的第一个块表示内容文件的数据总条数,第二个块表示内容头节点的存储位置,第三个块和第四个块为空;内容头节点的第一个块为空,第二个块表示下一条内容头节点的位置,第三个块表示内容节点的下一条的位置,第四块表示内容的长度;内容节点的第一个块表示内容节点的下一条的位置,内容节点的其余块用于存储数据的实体内容,内容节点的块的数量根据数据实体内容的大小确定。

可选地,索引文件包括根节点、索引节点和内容节点三种类型,每种节点各包括四个字节块,第一字节块和第二字节块各包括8个字节,第三字节块和第四字节块各包括4个字节,根节点的第一个块为空,第二个块表示b+树的根节点地址,第三个块为空,第四个块用于表示当前的节点类型;索引节点的第一个块表示索引的左节点地址,第二个块表示索引的右节点地址,第三个块表示索引的数量,第四个块表示当前节点类型;内容节点的第一个块表示内容的左节点地址,第二个块表示内容的右节点地址,第三个块表示内容的数量,第四个块表示当前节点类型。

可选地,在将待存储的数据存入内容文件中之前,在向存储空间存入数据时,判断待使用的存储空间是否在缓存中,其中,数据在存储空间中以页为单位存储,缓存中的页的使用频率大于磁盘中的页的使用频率;如果是,则将数据存入存储空间中的页中。

本发明实施例的技术方案具有缓存交换机制,因为磁盘的io速度远低于内存,所以整个系统以页为单位建立缓存机制,定义一个缓存页的数量大小,建立一个页面的链表,并用字典类对每个也进行索引,但需要对一个页进行读写操作时候,先通过字典索引判断是否在内存中,优先使用内存的页缓存,并将该页的链表页置前,保证最后没有使用且超过最大缓存页的页面优先被回收。在数据存储时,优先使用内存中的存储页来存储数据,在数据存储到存储页中之后,在系统空闲时,将存储页中的数据再写入到磁盘中实现永久保存,这样可以提高数据存储速度,提升系统性能。

可选地,每个页的位置通过8字节的常整形(long)来表示,前4个字节表示存储位置的页的编号,第5、6个字节表示存储在编号中所对应的页的起始位置,第7、8字节表示存储数据的长度。

图2是根据本发明实施例的数据查询方法的流程图,如图2所示,该方法包括以下步骤:

步骤s202:接收查询指令,查询指令中携带有待查询的内容的维度信息;

步骤s204:根据维度信息查询定义文件中存储的维度信息的索引文件的存储位置,得到第一存储位置;

步骤s206:根据第一存储位置查询索引文件,得到维度信息所对应的内容文件的第二存储位置;

步骤s208:查询第二存储位置中的内容文件,得到待查询的内容的维度信息的实体内容。

该实施例采用接收查询指令,查询指令中携带有待查询的内容的维度信息;根据维度信息查询定义文件中存储的维度信息的索引文件的存储位置,得到第一存储位置;根据第一存储位置查询索引文件,得到维度信息所对应的内容文件的第二存储位置;查询第二存储位置中的内容文件,得到待查询的内容的维度信息的实体内容,从而解决了数据库存储结构无法满足用户需求的问题,进而达到了优化数据库存储结构的效果。

本发明实施例的数据查询方法是基于本发明实施例的数据存储方法而实现的,相关技术方案可以参考数据存储方法中的细节,在此不再赘述。

本发明实施例还提供了一种优选实施方式,下面结合该优选实施方式对本发明实施例的技术方案进行说明。

本发明实施例的技术方案可以作为一个小型的数据库存储系统,用来对解析的数据进行存储,并支持可以对列进行查询,由于使用了内存的页交换缓存技术,所以对于整体的io性能也很优秀。

本发明主要包括:

1,存储包括三部分,分成3个文件:内容文件(*_data.bin),索引文件(*_index.bin),定义文件(*_header.txt)

内容文件对完整的json序列进行存储,索引文件对索引的内容进行存储,定义文件对索引的树的位置指针进行存储。

2,存储的基本结构:

存储的基本结构是页,一个页可以预定义其大小,内存和磁盘的最小交互单位是页,页有编号(4字节)。

对一个存储位置的定义是一个8字节的long,第一个4字节表示页的编号,第二个字节表示在页中的偏移量。

3,内容文件:

内容文件定义块,每个块前有24个字节的头定义,每个块大小一致,第一个块为起始块,一共有3种不同种类的块。

表1内容文件的表结构

4,索引文件:

索引文件记录的是一颗b+数,每个节点记录的最大条数为m,那么每个块应该有24个头节点(2个8字节和2个4字节)加上(m+1)*2个8字节节点。

表2索引文件的表结构

5,具体的插入方法:

1,插入一条记录,将完整的内容插入到内容文件中,每次插入根据内容大小,申请多个块组成链表结构,直至所有内容记录完成,

2,索引所有的维度信息值,建立b+查找树,每个维度信息的值通过md5的计算得到16字节的结果,所以需要建立2级b+树,第一级树使用前8个字节,第二级数使用后8个字节来实现索引,因为存在同索引的多条记录,所以在第二级树的叶子节点需要建立以内容文件头节点的第三级树。

6,索引查找机制

通过使用b+的数来实现逐级的查找,当索引到节点使用,使用2分查找来对单个节点进行查找。

7,缓存交换机制

1、因为磁盘的io速度远低于内存,所以整个系统以页为单位建立缓存机制,定义一个缓存页的数量大小,建立一个页面的链表,并用字典类对每个也进行索引,但需要对一个页进行读写操作时候,先通过字典索引判断是否在内存中,优先使用内存的页缓存,并将该页的链表页置前,保证最后没有使用且超过最大缓存页的页面优先被回收。

2、每个页的头两个字节不做分配,使用ushort来定义当前页已被分配的大小,

本发明实施例的技术方案具有以下优点:1,可实现快速插入和对特定维度信息的值进行索引查询,2,无需事先对维度信息进行预定义,可实现动态的索引建立,3,轻量级,无需任何第三方组件和库的使用。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供了一种数据存储装置,该装置可以用于执行本发明实施例的数据存储方法。

图3是根据本发明实施例的数据存储装置的示意图,如图3所示,该装置包括:

第一存储单元10,用于在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;

第二存储单元20,用于将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址。

该实施例采用第一存储单元10,用于在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;第二存储单元20,用于将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址。从而解决了数据库存储结构无法满足用户需求的问题,进而达到了优化数据库存储结构的效果。

本发明实施例提供了一种数据查询装置,该装置可以用于执行本发明实施例的数据查询方法。

图4是根据本发明实施例的数据查询装置的示意图,如图4所示,该装置包括:

接收单元30,用于接收查询指令,查询指令中携带有待查询的内容的维度信息;

第一查询单元40,用于根据维度信息查询定义文件中存储的维度信息的索引文件的存储位置,得到第一存储位置;

第二查询单元50,用于根据第一存储位置查询索引文件,得到维度信息所对应的内容文件的第二存储位置;

第三查询单元60,用于查询第二存储位置中的内容文件,得到待查询的内容的维度信息的实体内容。

该实施例采用接收单元30,用于接收查询指令,查询指令中携带有待查询的内容的维度信息;第一查询单元40,用于根据维度信息查询定义文件中存储的维度信息的索引文件的存储位置,得到第一存储位置;第二查询单元50,用于根据第一存储位置查询索引文件,得到维度信息所对应的内容文件的第二存储位置;第三查询单元60,用于查询第二存储位置中的内容文件,得到待查询的内容的维度信息的实体内容。从而解决了数据库存储结构无法满足用户需求的问题,进而达到了优化数据库存储结构的效果。

所述数据存储装置包括处理器和存储器,上述第一存储单元、第二存储单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来优化数据库存储结构。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据存储方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据存储方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址。本文中的设备可以是服务器、pc、pad、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在待存储数据存入时,在内容文件中申请内容头节点的存储空间和内容节点的存储空间,在内容头节点的存储空间中存储数据的内容节点的存储地址,在内容节点的存储空间中存储数据的实体内容;将待存储的数据的索引信息存入索引文件中,其中,在索引文件中申请索引信息的存储空间,索引信息为待存储数据的实体内容的维度信息以及实体内容在内容文件中的内容节点的存储地址。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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