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

记录数据完整变化信息的数据存储方法、系统及应用与流程

2022-03-23 01:58:04 来源:中国专利 TAG:


1.本技术涉及数据处理领域,特别是涉及记录数据完整变化信息的数据存储方法、系统及应用。


背景技术:

2.随着大数据技术的兴起,数据仓库的应用越来越广泛。数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。在数据仓库中,为了记录一类对象完整变化的历史信息,主要采用两种方案:第一种方案,定期保留一份全量的快照数据;第二种方案,使用拉链表,针对变化的数据记录其完整的生命周期。许多情况下,一些表的数据量很大,部分字段值可能会更新,但是表中记录变化的比例和频率不大,在处理这类缓慢变化的数据时,第一种方案会造成存储资源的极大浪费,第二种方案是比较理想的选择。
3.示例说明:假设数据库中有一张100个字段的人口表,人口表大约有1000万条记录,电话、住址等一些字段值可能会更新,也可能新增一些记录,每天人口表新增或发生变化的记录有1万条左右,占总记录数量的比例很小。每天保存一份全量的快照数据是一种比较稳妥的方案,而且可以保证历史数据不会丢失,但每天全量的快照数据中会保存很多不变的信息,从而造成存储资源的极大浪费。而若是使用拉链表,既可以方便地查看任意时间点或者时间段的历史快照数据,又可以很好地解决存储问题,极大地节约存储资源。
4.拉链表本质是一种数据仓库的数据存储模型,一般是在原来业务表的基础上,增加拉链开始时间(zipper_start_date)与拉链结束时间(zipper_end_date)两个额外的字段,以这两个字段代表该条记录在数据仓库的生命周期。为了方便描述,这里将原来业务表的所有字段统称为业务字段,zipper_start_date和zipper_end_date统称为非业务字段。当某条数据的结束时间是一个历史时间时,说明该条数据在该历史时间之后已经有了新的状态,原数据仅代表历史状态而不再有效,这类数据称为无效数据。当某条数据的结束时间是一个未来时间时,表明该条数据当前处于有效状态,这类数据称为有效数据。通常,所有有效数据的结束时间统一设置为一个较大的未来时间点,例如9999-12-31。传统的拉链表如图1所示,若是需要从中查询最新的用户信息,则过滤条件设置为zipper_end_date=9999-12-31对整个拉链表进行查询,则可将无效数据剔除而显示此刻仍处于有效状态的有效数据。
5.目前拉链表的记录方式主要有两种,假设拉链表的更新周期为t 1:
6.1.实现增量数据的拉链表:从源端业务系统中抽取t日增量数据,将其归纳于增量表内,并查询原拉链表中拉链结束时间为未来时间点的有效数据,将有效数据和增量表进行关联,若关联成功的话则代表该数据有更新,则修改拉链表中该数据的拉链结束时间为t-1。然而这种方式仅适用于增量数据,而在实际的数据仓库项目中,每天从源端业务系统中抽取的数据大部分为全量数据;且由于源端业务系统的数据质量参差不齐,一些数据表很可能没有主键、id等唯一标识,从而导致无法采用这种方法实施拉链表。
7.2.实现全量数据的拉链表:从源端业务系统中抽取t日全部数据,将其归纳于全量
表中,新建一张和原拉链表结构相同的临时拉链表,查询原拉链表中的无效数据并将其加载于临时拉链表中,查询原拉链表中的有效数据和全量表进行关联,关联成功的数据仍为有效数据插入到临时拉链表中,而原拉链表非空而全量表为空的数据为需要封链的数据,取用原拉链表非空的业务字段,并将这些数据的拉链结束时间设置为t-1日,插入到临时拉链表中;原拉链表为空而全量表非空的数据为需要开链的数据,取用全量表的业务字段,并将这些数据的拉链开始时间设置为t日,拉链结束时间设置为9999-12-31,插入到临时拉链表中。这种方式在全字段关联或所有字段拼串再关联时,如果某些字段存在空值,则会严重干扰关联结果,从而引发数据错误,目前技术中是加入一些辅助手段对空值做特殊处理,但是这样的处理手段会极大地增加逻辑的复杂性。


技术实现要素:

8.本技术实施例提供了一种记录数据完整变化信息的数据存储方法、系统及应用,将增量表或全量表直接与拉链表的有效数据合并,然后根据所有业务字段进行分组统计,依据不同的统计条件即可进行拉链表的封链和开链操作,该技术方案既可以节约存储资源,又可以节约计算资源,同时适用于增量数据和全量数据,且不需要限制主键、id等唯一标识,具有局限性小、通用性强、易实施等优势。
9.第一方面,本技术实施例提供了一种记录数据完整变化性信息的数据存储方法,包括:创建与拉链表具有相同表结构的临时表,将所述拉链表的数据内容写入所述临时表后清空所述拉链表;获取当前周期内业务系统的第一数据记录,设置所述第一数据记录的第一拉链开始时间和第一拉链结束时间并写入所述临时表中,其中,所述第一数据记录为所述业务系统的第一增量数据或第一全量数据,所述第一拉链开始时间为当前周期的起始日期,所述第一拉链结束时间为特定未来日期;获取所述临时表中的无效数据、有效数据写入清空后的所述拉链表中,其中,对所述有效数据根据业务字段进行分组得到至少一业务字段组,赋值每一所述业务字段组的组拉链开始时间以及组拉链结束时间,并基于所述组拉链结束时间封链得到封链数据,将每组所述业务字段组写入所述拉链表。
10.第二方面,本技术实施例提供了一种记录数据完整变化性信息的数据存储方法,包括临时表创建单元,用于创建与拉链表具有相同表结构的临时表,将所述拉链表的数据内容写入所述临时表后清空所述拉链表;新增数据获取单元,用于获取当前周期内业务系统的第一数据记录,设置所述第一数据记录的第一拉链开始时间和第一拉链结束时间并写入所述临时表中,其中,所述第一数据记录为所述业务系统的第一增量数据或第一全量数据,所述第一拉链开始时间为当前周期的起始日期,所述第一拉链结束时间为特定未来日期;数据写入单元,用于获取所述临时表中的无效数据、有效数据写入清空后的所述拉链表中,其中,对所述有效数据根据业务字段进行分组得到至少一业务字段组,赋值每一所述业务字段组的组拉链开始时间以及组拉链结束时间,并基于所述组拉链结束时间封链得到封链数据,将每组所述业务字段组写入所述拉链表。
11.第三方面,本技术实施例提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述记录数据完整变化性信息的数据存储方法。
12.第四方面,提供一种计算机程序产品,包括软件代码部分,当所述计算机程序产品
在计算机上被运行时,所述软件代码部分用于执行所述记录数据完整变化性信息的数据存储方法。
13.第五方面,提供一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括所述记录数据完整变化性信息的数据存储方法。
14.本发明的主要贡献和创新点如下:数据开发或实施人员只需将抽取到数据仓库中的增量表或全量表,直接与拉链表的有效数据合并,然后根据所有业务字段进行分组统计,依据不同的统计条件即可进行拉链表的封链和开链操作,整个过程不需要复杂的关联操作。所述方法及装置在节约存储资源的基础上,同时适用于增量数据和全量数据,且不需要限制主键、id等唯一标识,还可以节约计算资源,具有局限性小、通用性强、易实施等优势。
15.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1是传统拉链表的表结构示意图。
18.图2是运行本方案的记录数据完整变化信息的数据存储方法的系统架构图。
19.图3是本方案的拉链表的表结构示意图。
20.图4是本方案的分区拉链表的结构示意图。
21.图5是本方案的记录数据完整变化信息的数据存储方法的示例图。
22.图6是本方案的一实施例的记录数据完整变化信息的数据存储方法的流程示意图。
23.图7是根据本技术实施例的记录数据完整变化信息的数据存储装置的结构框图;
24.图8是根据本技术实施例的电子装置的硬件结构示意图。
具体实施方式
25.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
26.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
27.实施例一
28.本技术旨在提出一种将抽取到数据仓库中的增量表或全量表直接和拉链表的有
效数据进行合并,然后根据所有业务字段进行分组统计并进行封链和开链操作的记录数据完整变化性信息的数据存储方法及装置。
29.本方案提供的记录数据完整变化性信息的数据存储方法在如图2所示的数据处理系统架构中运行,所述数据处理系统架构包括:
30.源端业务系统101,所述源端业务系统101为数据源所在的业务系统,可用于存储所有产生的数据;
31.增量数据102,用于存储源端业务系统101产生的增量、变化的数据;
32.全量数据103,用于存储源端业务系统101产生的全量数据;
33.数据仓库104,是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,其内设有缓存区105和拉链表108。
34.源端业务系统101中的增量数据102和全量数据103抽取到数据仓库104中,并存储在缓冲区105中,增量数据102抽取到缓冲区105,对应存储在增量数据缓冲表106中;全量数据103抽取到缓冲区105,对应存储在全量数据缓冲表107中;对缓冲区105中的增量数据缓冲表106和全量数据缓冲表107实施拉链处理形成拉链表108;增量数据缓冲表106对应形成增量数据拉链表109;全量数据缓冲表107对应形成全量数据拉链表110。
35.本技术实施例提供了一种记录数据完整变化性信息的数据存储方法,可同时适用于全量数据和增量数据的数据拉链记录,具体地,参考图6,所述方法包括:
36.创建与拉链表具有相同表结构的临时表,将所述拉链表的数据内容写入所述临时表后清空所述拉链表;
37.获取当前周期内业务系统的第一数据记录,设置所述第一数据记录的第一拉链开始时间和第一拉链结束时间并写入所述临时表中,其中,所述第一数据记录为所述业务系统的第一增量数据或第一全量数据,所述第一拉链开始时间为当前周期的起始日期,所述第一拉链结束时间为特定未来日期;
38.获取所述临时表中的无效数据、有效数据写入清空后的所述拉链表中,其中,对所述有效数据根据业务字段进行分组得到至少一业务字段组,赋值每一所述业务字段组的组拉链开始时间以及组拉链结束时间,并基于所述组拉链结束时间封链得到封链数据,将每组所述业务字段组写入所述拉链表。
39.封链指的是某条数据的记录生命周期结束,该记录已经失效,结束时间小于“较大的特定未来时间(比如:9999-12-31)”。例如,(1)被删除的记录,该记录的生命周期已经结束;(2)被更新的记录,更新前的记录已经失效,变成了更新后的记录。
40.值得说明的是,临时表是一个临时创建的表,数据库不会将其序列化到磁盘上(有些也会序列化到磁盘上),在使用完之后就会销毁,以此方式可很大程度地节省存储资源。
41.如图3所示,本方案的所述拉链表包括业务字段和拉链时间字段,所述业务字段和业务系统产生的数据内容相关,所述拉链时间字段包括拉链开始时间和拉链结束时间。示例性的,本方案的业务字段包括:user_id,name,country等业务字段。
42.本方案的所述第一数据记录为所述业务系统的第一增量数据或第一全量数据,对应的,所述业务系统的第一增量数据存储于增量数据表内,第一全量数据存储于全量数据表,本方案将增量数据和/或全量数据一并写入临时表中进行处理。也就是说,本方案提供的记录数据完整变化性信息的数据存储方法可同时适用于增量数据和全量数据的数据新
增存储。
43.所述特定未来日期为时间大于当前日期的未来值,可以是较大特定时间。在本方案中可设定所述特定未来日期为9999-12-31。所述周期开始时间值为所述当前周期的起始日期。示例性的,周期为2021-9-17至2021-10-17,则所述周期开始值为2021-9-17。
44.在本方案中可利用mysql中的时间函数now()给拉链开始时间以及拉链结束时间赋值。需要明白,mysql只是实现拉链处理流程的一种技术手段,而非限制性要求;完全可以使用其他数据库技术(如sqlserver、oracle、maxcompute等)实现本技术所述的拉链处理流程;时间函数now()和9999-12-31只是给拉链开始时间和拉链结束时间赋值的一个具体方式,而非硬性要求。
45.在“获取所述临时表内的无效数据并写入清空后的所述拉链表”中,所述无效数据的拉链结束时间不等于所述特定未来日期。示例性的,若特定未来日期为9999-12-31,设置筛选条件临时表中的拉链结束时间不等于9999-12-31的无效数据,并写入拉链表中。对应的,获取所述临时表中拉链结束时间不等于所述特定未来日期的数据为无效数据。
46.在“获取所述临时表内的有效数据并写入清空后的所述拉链表”步骤中,所述有效数据的拉链结束时间等于所述特定未来日期。示例性的,若特定未来日期为9999-12-31,设置筛选条件临时表中的拉链结束时间等于9999-12-31的有效数据。对应的,获取所述临时表中拉链结束时间等于所述特定日期的数据为有效数据。
47.也就是说,临时表内的数据根据“拉链结束时间是否等于特定未来日期”为判断条件区分为有效数据和无效数据。无效数据的拉链结束时间不等于特定未来日期,则意味着无效数据在当前日期已经封链结束;有效数据的拉链结束时间等于特定未来日期,则意味着有效数据在当前日期还未结束。
48.如图5所示,在“对所述有效数据根据业务字段进行分组得到至少一业务字段组”步骤中,相同的业务字段的有效数据归类于同一业务字段组内。示例性的,本方案的业务字段包括:user_id,name,country等业务字段,则对应user_id、name,country的业务字段全部相同的有效数据归类于同一业务字段组内。
[0049]“赋值每组所述业务字段组的组拉链开始时间以及组拉链结束时间”步骤包括:选取每组所述业务字段组内的所有有效数据的拉链开始时间最小值为所述组拉链开始时间;若所述业务字段组内仅有1个有效数据且所述有效数据的拉链开始时间小于当天日期,则赋值所述业务字段组的组拉链结束时间为当天日期的前一天,否则选取每组所述业务字段组内的所有有效数据的拉链结束时间最大值为所述组拉链结束时间。
[0050]
值得说明的是,同一组业务字段组对应一个组拉链开始时间和组拉链结束时间。也就是说,不论所述业务字段组内有多少个有效数据,将其统一为一个组拉链开始时间和组拉链结束时间。
[0051]
图5展示了本方案的记录数据完整变化性信息的数据存储方法的整体示意图。图中的左上图为拉链表,右上表为全量表,将拉链表的数据和全量表的数据汇总到临时表内,依据临时表中的业务字段对临时表中的有效数据进行分组,可以看到本方案中user_id/name/county完全相同的为一个业务字段组,例如“1-刘备-蜀国”为一个业务字段组,“3-张飞-蜀国”为一个业务字段组,“3-张飞-魏国”为另一个业务字段组。
[0052]
在“1-刘备-蜀国”这个业务字段组中一共有两个有效数据,则将业务字段组内的
有效数据的拉链开始时间的最小值作为该业务字段组的组拉链开始时间,将有效数据的拉链结束时间的最大值作为该业务字段组的组拉链开始时间;而在“3-张飞-蜀国”这个业务字段组内只有一个有效数据,但有效数据的拉链开始时间小于当天日期,则该业务字段组的组拉链开始时间为该有效数据的拉链开始时间,该业务字段组的组拉链结束时间为该有效数据的拉链结束视;在“3-张飞-魏国”这个业务字段组内只有一个有效数据,但有效数据的拉链开始时间等于当天日子,则该业务字段组的组拉链开始时间为该有效数据的拉链开始时间,而该业务字段组的组拉链结束时间为当天日期的前一天。
[0053]
在“将每组所述业务字段组写入所述拉链表”步骤中,每组业务字段组作为拉链表的一个有效数据被记录,所述组拉链开始时间作为有效数据的拉链开始时间,所述组拉链结束时间作为有效数据的拉链结束时间。
[0054]
具体的,在获取了融入增量数据或全量数据的拉链表后,若需要查找增量数据的拉链表历史时间点的全量快照数据的话,在所述拉链表内设置筛选条件为:拉链开始时间小于等于拉链表历史时间点。示例性的,假设历史时间t=2021-08-01,则查询增量数据历史时间t的快照信息的筛选条件为:拉链开始时间小于等于2021-08-01。
[0055]
相类似的,若需要查找全量数据的拉链表历史时间点的全量快照数据的话,则在所述拉链表内设置筛选条件为:拉链开始时间小于所述拉链表历史时间点且拉链结束时间大所述拉链表历史时间点的数据。
[0056]
示例性的,假设时间点为t=2021-08-01,则查询增量数据历史时间t的快照信息,则所述全量数据的筛选条件为:拉链开始时间小于等于2021-08-01且拉链结束时间大于2021-08-01的数据。
[0057]
在另一些实施例中,为了降低计算资源和加快查询效率而设计的优选技术手段,如图4所示,所述拉链表设计为区分有效数据和无效数据的分区拉链表,所述拉链表上设置分区字段。具体的,所述分区拉链表包括存储有效数据的有效数据区和存储无效数据的无效数据区,所述分区拉链表的分区字段为整数字段,对应的,在一些实施例中,有效数据区的分区字段的值为1,无效数据区的分区字段的值为0。对于分区拉链表而言,只需将筛选条件设置为part_by_valid=1;获取无效数据,只需将筛选条件设置为part_by_valid=0。
[0058]
此时,在“将所述拉链表的数据内容写入所述临时表后清空所述拉链表”步骤中,将所述拉链表的数据内容写入所述临时表后清空所述拉链表的所述有效数据区。在“获取所述临时表中的无效数据、有效数据写入清空后的所述拉链表中”步骤中,获取所述临时表中的无效数据写入所述拉链表的所述无效数据区,获取所述临时表中的有效数据写入所述拉链表的所述有效数据区。
[0059]
在一些实施例中,所述临时表不分区。也就是说,若所述拉链表设计为分区拉链表时,所述临时表依旧可以设计为非分区表。此时,仅拉取所述拉链表内的有效数据至所述临时表并清空拉链表的有效数据区,当所述临时表内对有效数据封链后写入拉链表的有效数据区。
[0060]
实施例二
[0061]
基于相同的构思,参考图7,本技术还提出了一种记录数据完整变化性信息的数据存储装置,包括:
[0062]
临时表创建单元201,用于创建与拉链表具有相同表结构的临时表,将所述拉链表
的数据内容写入所述临时表后清空所述拉链表;
[0063]
新增数据获取单元202,用于获取当前周期内业务系统的第一数据记录,设置所述第一数据记录的第一拉链开始时间和第一拉链结束时间并写入所述临时表中,其中,所述第一数据记录为所述业务系统的第一增量数据或第一全量数据,所述第一拉链开始时间为当前周期的起始日期,所述第一拉链结束时间为特定未来日期;
[0064]
数据写入单元203,用于获取所述临时表中的无效数据、有效数据写入清空后的所述拉链表中,其中,对所述有效数据根据业务字段进行分组得到至少一业务字段组,赋值每一所述业务字段组的组拉链开始时间以及组拉链结束时间,并基于所述组拉链结束时间封链得到封链数据,将每组所述业务字段组写入所述拉链表。
[0065]
实施例三
[0066]
本实施例还提供了一种电子装置,参考图8,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项记录数据完整变化性信息的数据存储方法实施例中的步骤。
[0067]
具体地,上述处理器402可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
[0068]
其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(non-volatile)存储器。在特定实施例中,存储器404包括只读存储器(read-onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread-onlymemory,简称为prom)、可擦除prom(erasableprogrammableread-onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread-onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread-onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom-accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器404(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom-accessmemory,简称sdram)等。
[0069]
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
[0070]
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种记录数据完整变化性信息的数据存储方法。
[0071]
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传
输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
[0072]
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
[0073]
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是拉链表、增量数据和全量数据等,输出的信息可以是处理过的拉链表等。
[0074]
可选地,在本实施例中,上述处理器402可以被设置为通过计算机程序执行以下步骤:
[0075]
s101、创建与拉链表具有相同表结构的临时表,将所述拉链表的数据内容写入所述临时表后清空所述拉链表;
[0076]
s102、获取当前周期内业务系统的第一数据记录,设置所述第一数据记录的第一拉链开始时间和第一拉链结束时间并写入所述临时表中,其中,所述第一数据记录为所述业务系统的第一增量数据或第一全量数据,所述第一拉链开始时间为当前周期的起始日期,所述第一拉链结束时间为特定未来日期;
[0077]
s103、获取所述临时表中的无效数据、有效数据写入清空后的所述拉链表中,其中,对所述有效数据根据业务字段进行分组得到至少一业务字段组,赋值每一所述业务字段组的组拉链开始时间以及组拉链结束时间,并基于所述组拉链结束时间封链得到封链数据,将每组所述业务字段组写入所述拉链表。
[0078]
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0079]
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
[0080]
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如dvd及其数据变体、cd等光学介质上。物理介质是非瞬态介质。
[0081]
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为
使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0082]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献