基于ER关系的分布式调度方法及装置、设备以及存储介质与流程

文档序号:20009238发布日期:2020-02-22 03:54阅读:199来源:国知局
基于ER关系的分布式调度方法及装置、设备以及存储介质与流程

本发明涉及大数据平台技术,特别涉及一种大数据平台的任务的基于er关系的分布式调度方法及装置、电子设备以及非暂时性计算机存储介质。



背景技术:

随业务发展范围逐步扩大,通常,公司大数据平台承接了越来越多的数据计算任务,也逐步成为数据服务的重要支柱平台。以电商企业的大数据平台为例,从电商分析中心报表任务最初30个数据采集任务和20-30个计算任务为起点,逐步覆盖寄托报表、财务报表、供应链业务、风险预警、gmv运营日报等业务的近400多个数据采集任务和700多个数据分析计算任务;同时数据服务的对象层面也从业务中台向经营决策转变。因此通过设立大数据基础平台优化项目,将针对性的优化需要列入项目完成目标,解决相应的应用问题。

目前应用的调度方法,存在通过参数设定预先设置了分配规则,但不匹配实际计算任务差异化的开销情况的实际应用问题。

进一步地,还存在下述实际应用问题:

资源开销的颗粒度较高,大计算任务分配不足、小计算任务浪费较大,导致大计算任务计算结果较慢,小计算任务并发任务总数受限,整体上影响了并发运行总量和效果;

预处理过程和管理途径不足以满足专业化的运行结果分析;

不能满足对整体范围内异常任务运行情况的快速定位排查;

现有调度程序的故障分析定位时间较长,因此必须将所有批次的执行日志进行存储,目的是在下一次调度启动前,有足够的时间定位到故障的信息而不被覆盖;同一个小时级计算任务的日志一天将存储20+次;因此每天生成的计算日志文件数量约在15000个以上;每天的日志数据量基于分布式存储大于1g,因此,运行产生的碎片和垃圾文件较多,维护精力和投入成本较高。



技术实现要素:

有鉴于此,本发明立足于日以拓展的业务应用场景,其目的之一在于提供一种分布式调度方法,其能够在计算任务刷新落地数据集的同时保持了平台内结果集在前端查询服务,使的大数据平台整体上能够满足计算周期内更多的并发计算任务能力,同时,实现了对计算任务总集的解析与分层,无需人工定义配置信息,由“基于er关联关系”进行分层的算法能够自动识别与生成配置信息,大幅降低了人力资源投入和管理时间。

本发明的另一个目的在于提供一种分布式调度装置。

本发明的又一个目的在于提供一种电子设备。

本发明的目的还在于提供一种非暂时性计算机存储介质。

为解决上述技术问题,本发明采用以下技术方案:

根据本发明第一方面实施例的分布式调度方法,用于对大数据平台中的任务进行调度,其特征在于,

所述大数据平台中的分层任务包括:

数据采集任务,从业务系统采集数据;

数据清理计算任务,以对于所采集的数据计算需要清理的数据;

明细数据计算任务,以对所述大数据平台的数据仓库的明细数据进行计算;

应用数据计算任务,以对所述大数据平台的数据仓库的应用数据进行计算,

所述分布式调度方法包括如下步骤:

步骤s1,确定需要调度的计算任务的范围,生成初始任务集合;

步骤s2,将所有初始任务集合中的任务基于er关系进行分层排列;

步骤s3,对每个任务的内存和处理器开销进行估算,通过资源开销评估算法计算各自分值,并按照分值进行排序以生成执行任务集合;

步骤s4,将所述执行任务集合中的所述任务,分配到所述大数据平台的多个计算节点以由多个所述计算节点执行各自的任务。

根据本发明的一些实施例,所述分布式调度方法还包括如下步骤:

步骤s5,在所述步骤s1至所述步骤s4中,生成计算任务日志文件和告警日志文件。

根据本发明的一些实施例,所述步骤s1中,当存在新增任务发布时,则重新确认所述需要调度的计算任务的范围,更新所述初始任务集合。

根据本发明的一些实施例,所述步骤s2包括:

对于所述初始任务集合中的计算任务,解析er关联关系;

基于所述er关联关系进行分层排列。

进一步地,所述解析每个任务的单个作业的er关联关系包括:提取所述计算任务的文本信息中关键字,根据所述关键字获取该计算任务的er关联关系。

进一步地,所述解析每个任务的单个作业的er关联关系还包括:

对于该计算任务的上游的数据表的引用字段进行关联分析,确定该计算任务关联到的具体字段的来源;

当源头业务系统的数据结构字段发生变更时,及时更新本计算任务的对应字段及其下游层的关联信息。

进一步地,通过文本识别技术识别所述计算任务的文本信息中的所述关键字。

进一步地,所述关键字包括所述文本信息中的调用字段、连接字段、以及基于命名规则的字段中的一个或多个。

进一步地,在解析er关联关系前还包括如下步骤:

按预定规则将所述计算任务划分为多个批次,

所述基于所述er关联关系进行分层中,在每个批次内,对所述计算任务基于所述er关联关系进行分层。

更进一步地,所述预定规则包括按照时间梯队进行划分和/或按照业务逻辑进行划分。

进一步地,所述解析所述计算任务的er关联关系还包括:

将每个计算任务的单个作业的er关联关系,通过结构化查询语言导入数据库。

进一步地,所述基于所述er关联关系进行分层包括:

对于所述数据库中的所有数据进行整理,并基于预定规则进行分类;

基于所有计算任务的所述er关联关系,计算各计算任务的分层值;

基于所述分层值,对所述计算任务进行分层。

更进一步地,基于联机分析计算各所述计算任务的分层值。

根据本发明的一些实施例,所述步骤s3中,所述资源开销评估算法依照木桶原理计算各自分值。

进一步地,所述步骤s3包括:

步骤s31:输出所有计算任务的执行计划日志;

步骤s32:解析所输出的执行计划日志中的资源开销信息,将每个应用数据计算任务的开销分类,

统计日志内容中的单个计算任务的处理器资源开销x,

统计日志内容中的单个计算任务在数据平台每个计算节点的内存开销量,进行算数相加得到内存开销量y,

统计日志内容中的单个任务在分布式文件系统的扫描总字节数,进行算数相加得到存储资源扫描量z,

此后,依照下述三元二次计算公式计算各个应用数据计算任务的资源开销:

其中,系数n为分布式系统运行节点总数,x为处理器资源开销,y为内存开销量,z为存储资源扫描量;

步骤s33,对同一批分层的计算任务按资源开销f(x,y,z)进行倒序排列,分配方法以任务总数为被除数,计算节点数(n-1)为除数,余数记录为变量c,

如果任务总数小于等于(n-1),则将任务名顺序分配至每个节点的执行任务集合,

如果任务总数大于(n-1),则将排序队列末尾的c个任务分给第(n-1)号执行任务集合,剩余倒序队列的任务按顺序循环分配到(n-1)个执行任务集合。

根据本发明的一些实施例,所述步骤s4中,将所述执行任务集合中的任务均衡分配到所述大数据平台的多个计算节点以由多个所述计算节点执行各自的任务。

根据本发明的另一些实施例,所述步骤s4中,对系统节点的组件资源池以外的可分配资源进行测算,并根据所述可分配资源分配所述执行任务集合中的任务。

进一步地,根据所述可分配资源,将内存和处理器计算资源的开销情况分开来进行分配考虑。

进一步地,系统后台运行有监控进程,以预定的时间间隔查询资源运行情况,以获得基础资源开销量,并基于下述算式计算所述可分配资源:

可分配资源=总资源量-基础资源开销量。

根据本发明第二方面实施例的分布式调度装置,包括:

初始任务集合生成模块,以确定需要调度的计算任务的范围,生成初始任务集合;

分层排列模块,对所有初始任务集合中的任务基于er关系进行排列;

执行任务集合生成模块,以对每个任务的内存和处理器开销进行估算,通过资源开销评估算法计算各自分值,并按照分值进行排序以生成执行任务集合;

分配模块,以将所述执行任务集合中的所述任务分配到所述大数据平台的多个计算节点从而由多个所述计算节点执行各自的任务。

根据本发明第三方面实施例的用于大数据分布式调度的电子设备,包括:

一个或多个处理器;

一个或多个存储器,其中存储了计算机可读代码,所述计算机可读代码当由所述一个或多个处理器执行时进行上述任一实施例所述的分布式调度方法。

根据本发明第四方面实施例的非暂时性计算机存储介质,其中存储了计算机可读代码,所述计算机可读代码当由一个或多个处理器执行时进行上述任一实施例所述的分布式调度方法。

本发明的上述技术方案至少具有如下有益效果之一:

根据本发明实施例的基于er关系的分布式调度方法,基于er关联关系分析将计算任务进行自动分层,并通过操作系统指令集、大数据平台功能接口、自动化运维技术集合的方式,进行资源开销和统计计算,对批次的任务开销情况统计并对整体计算任务进行分布式预分配,分割批次总任务量到节点任务集合,不仅能够高效、准确、自动化地对任务总集中的计算任务进行分层,在此基础上还实现了计算资源的分配控制和开销测算,然后对计算节点发布执行调度指令,从而解决了资源浪费情况;

同时对计算任务长短不一的处理时间,依照木桶原理向大任务资源倾斜、提高小任务并发度,减少了整体计算任务的开销时间,使一小时的调度周期间隔内完成更多计算任务得到实现;

由于在中间过程生成任务日志文件和告警日志文件,提供计算任务跟踪和分析功能,从而能够通过任务跟踪快速定位异常情况,更具体地,通过操作系统层的文本操作指令cat、grep等组合,能在2秒内迅速排查一批调度生成的数百个日志文件中的运行失败的任务,并能迅速获取故障错误的关键异常信息,输出错误日志,该分布式调度方法的故障定位时间比常规调度的故障排查时间大幅缩减了99.3%-99.89%;

根据本发明的分布式调度方法,将所有资源视为一个大池,不采用组件参数限制启动任务的资源范围,通过操作系统cgroup进行进程资源的隔离,通过分配资源开销算法,自定义分配计算任务,大小任务的资源分配都得到满足,减小了资源分配颗粒度,并发效果实测更佳;

此外,根据本发明的分布式调度方法,由于优化了日志管理方法、任务完成度的统计模式,减少了垃圾文件的生成和维护需要,因此实现了管理途径和统计模式的优化,无过程碎片,从而减少维护开销;

其不仅能够满足对逐步增加的数据分析计算任务的调度需要、满足业务数据服务小时级数据更新的频度和并发要求,并满足后续多个基于数据治理相关的管理功能需要。

附图说明

图1为根据本发明的分布式调度方法的流程图;

图2为根据本发明实施例的分布式调度方法中的基于er关联关系进行分层的流程示意图;

图3为根据本发明中的基于er关联关系进行分层的另一流程示意图;

图4为根据本发明实施例的分布式调度方法中进行开销估算并排序的流程图;

图5为本发明实施例的分布式调度装置的模块图;

图6为根据本发明一个具体实施例的分布式调度装置的模块图;

图7示出了可以用于实现本公开的分布式调度方法的示例性电子设备。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将集合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

下面首先结合附图具体描述根据本发明实施例的分布式调度方法。

根据本发明的分布式调度方法,用于对大数据平台中的任务进行调度。

例如,大数据平台中的分层任务可以包括:

0_ods层数据采集任务——>1_odsp层数据清理计算任务——>2_dw0、2_dw1层明细数据计算任务——>3_dm0、3_dm1、3_dm2、3_dm3、3_dm4层应用数据计算任务——>4_h2m层数据推送任务。

各层任务之间按箭头有明确的先后计算关系。

为了对上述大数据平台中的分层任务进行调度,如图1所示,根据本发明的分布式调度方法包括如下步骤:

步骤s1,确定需要调度的计算任务的范围,生成初始任务集合。

需要调度的计算任务包括数据清理计算任务、明细数据计算任务、应用数据计算任务,也就是说,对上述数据清理计算任务、明细数据计算任务、应用数据计算任务进行分析,确定需要调度的计算任务的范围。

优选地,当存在新增任务发布时,则重新确认所述需要调度的计算任务的范围,更新所述初始任务集合。

步骤s2,将所有初始任务集合中的任务基于er关系进行分层排列。

根据本发明的一些实施例,如图2所示,基于er关系进行分层排列具体可以包括:

步骤s21,解析所述计算任务的er关联关系。根据本发明的一些实施例,解析每个计算任务的单个作业的er关联关系。

进一步地,解析每个计算任务的单个作业的er关联关系可以包括:

a)提取所述计算任务的文本信息中关键字,根据所述关键字获取该计算任务的er关联关系。

其中,关键字例如可以通过常规的文本识别技术来识别,例如ocr识别技术等。另外,所述关键字可以包括所述文本信息中的调用字段(from)、连接字段(join)、以及基于命名规则的字段中的一个或多个。

更进一步地,解析每个计算任务的单个作业的er关联关系还可以包括:

b),对于该计算任务的上游的数据表的引用字段进行关联分析,确定该计算任务关联到的具体字段的来源;

c),当源头业务系统的数据结构字段发生变更时,及时更新本计算任务的对应字段及其下游层的关联信息。

由此,通过对上游数据表的引用字段进行关联分析,能够明确该计算任务关联到的具体字段来源,当源头业务系统的数据结构字段发生字段名称、数据类型、含义描述等变更时,数据采集ods层和数据清理odsp层能有效管理变更并指导下游dw层及dm层关联数据字典和指标信息的变更及计算任务修正,实现大数据平台精细化管理。

更进一步地,还可以包括:

d)将每个计算任务的单个作业的er关联关系,通过结构化查询语言(sql)导入数据库。由此,提供基于系统命令行或sql的数据结果的查询通道。

步骤s22,基于所述er关联关系进行分层。

根据本发明的一些实施例,在对每个计算任务的单个作业的er关联关系进行解析之后,例如通过提取计算任务定义内容文本信息中的关键字如from、join、结构对象的命名规则等提取单个作业的er关联关系之后,则可以基于此确定单个作业的上游任务集合。在此基础上,将每个计算任务的er关联关系导入到数据库之后,则可以通过计算得到上有计算任务的应该所在的层的信息,进一步地,确认该计算任务所在的层,并由此对对任务进行分层。在确定了所有计算任务应该所在的层之后,则可将大数据平台中的计算任务按此进行分层。

具体地,基于所述er关联关系进行分层可以具体包括:

1)对于所述数据库中的所有数据进行整理,并基于预定规则进行分类。

在解析得出各计算任务的er关系之后,将其通过sql导入数据库,此后,对于该原始数据基于预定规则进行整理分类。

2)基于所有计算任务的所述er关联关系,计算各计算任务的分层值。

在初步整理分类后,进行er关联关系分析计算,得到各分层值。

具体地,可以通过基于olap(联机分析处理)计算的分析算法计算各计算任务的分层值。

3)基于所述分层值,对所述计算任务进行分层。

具体地,例如,可以将分层值相同的计算任务除去重复值之后,进行输出。例如,输出到大数据平台的调度任务集合的配置文件中,由此进行计算任务的分层。

图3示出了基于所述er关联关系进行分层的一个示例。

如图3所示,在计算各分层值之后,分别基于一定的检索筛选规则(比如,相同的分层值)进行逐一筛选,从而将各分层值相同的计算任务逐一分层。

综合上述,也就是说,在提取大数据平台任务集合中的计算任务之后,首先在步骤s21中,解析各个计算任务的单个作业的er关联关系信息,此后,在步骤s22中,计算各个计算任务之间的关联关系并得到分层值,并基于分层值进行分层。

步骤s3,对每个任务的内存和处理器开销进行估算,通过资源开销评估算法计算各自分值,并按照分值进行排序以生成执行任务集合。

在将计算任务进行分层之后,对于每个任务估算其开销,并基于开销生成执行任务集合,以便进行分布式调度。

优选地,所述资源开销评估算法依照木桶原理计算各自分值。

进一步地,如图4所示,所述步骤s3包括:

步骤s31:输出所有计算任务的执行计划日志;

步骤s32:解析所输出的执行计划日志中的资源开销信息,将每个应用数据计算任务的开销分类,

统计日志内容中的单个计算任务的处理器资源开销x,

统计日志内容中的单个计算任务在数据平台每个计算节点的内存开销量,进行算数相加得到内存开销量y,

统计日志内容中的单个任务在分布式文件系统的扫描总字节数,进行算数相加得到存储资源扫描量z,

此后,依照下述三元二次计算公式计算各个应用数据计算任务的资源开销:

其中,系数n为分布式系统运行节点总数,x为处理器资源开销,y为内存开销量,z为存储资源扫描量;

步骤s33,对同一批分层的计算任务按资源开销f(x,y,z)进行倒序排列,分配方法以任务总数为被除数,计算节点数(n-1)为除数,余数记录为变量c,

如果任务总数小于等于(n-1),则将任务名顺序分配至每个节点的执行任务集合,

如果任务总数大于(n-1),则将排序队列末尾的c个任务分给第(n-1)号执行任务集合,剩余倒序队列的任务按顺序循环分配到(n-1)个执行任务集合。

由此,对于计算任务长短不一的处理时间,依照木桶原理向大任务资源倾斜、提高小任务并发度,减少了整体计算任务的开销时间;从而能够实现单位时间的调度周期间隔内完成更多计算任务。

步骤s4,将所述执行任务集合中的所述任务,分配到所述大数据平台的多个计算节点以由多个所述计算节点执行各自的任务。

根据上述本发明的分布式调度方法,对批次的任务开销情况统计并对整体任务进行分布式预分配,分割批次总任务量到节点任务集合,实现了计算资源的分配控制和开销测算,然后对计算节点发布执行调度指令,从而解决了资源浪费情况。此外,通过上述本发明的分布式调度方法,实现了分布式架构中多节点间合理的资源开销分配,大小计算任务在总量范围内分配了合理的资源开销,并合理利用了原先空闲的资源,大幅减少了因任务的时间长短不一造成的等待情况。

其中,所述步骤s4中,将所述执行任务集合中的任务可以均衡分配到所述大数据平台的多个计算节点以由多个所述计算节点执行各自的任务。

优选地,所述步骤s4中,对系统节点的组件资源池以外的可分配资源进行测算,并根据所述可分配资源分配所述执行任务集合中的任务。具体而言,例如,系统后台运行有监控进程,以预定的时间间隔(例如5s的时间间隔)查询资源运行情况,以获得基础资源开销量,

所述可分配资源通过如下方法进行测算:

可分配资源=总资源量-基础资源开销量。

进一步地,根据所述可分配资源,将内存和处理器计算资源的开销情况分开来进行分配考虑。通过上述队列技术,即根据所述可分配资源分配所述执行任务集合中的任务,能够时刻保持并发队列的满负荷状态还可进一步优化增强实际效果。

现有的调度程序,结合了大数据平台的资源池进行计算任务的分配管理,通过6个参数定义资源范围:容器起始内存、容器增量内存、容器上限内存、容器起始cpu核数、容器增量cpu核数、容器cpu核数上线。实际使用发现,起始内存容量和cpu核数太低不够启动大计算任务;但提升起始基线,将使小计算任务产生资源浪费影响并发;同时上限值设定较低大任务的会分配不足减慢计算速度,设定较高会迅速被大计算任务占用,影响并发。

而根据上述本发明实施例的分布式调度方法,将所有资源视为一个大池,不采用组件参数限制启动任务的资源范围,通过操作系统cgroup进行进程资源的隔离,通过分配资源开销算法,自定义分配计算任务,大小任务的资源分配都得到满足,减小了资源分配颗粒度,并发效果实测更佳。另外,根据本发明上述实施例的分布式调度方法,还可以包括如下步骤:

步骤s5,在所述步骤s1至所述步骤s4中,生成任务日志文件和告警日志文件。由此,提供了任务跟踪和分析功能,能够通过任务跟踪快速定位异常情况。

具体而言,通过操作系统层的文本操作指令cat、grep等组合,能在2秒内迅速排查一批调度生成的数百个日志文件中的运行失败的任务,并能迅速获取故障错误的关键异常信息,输出错误日志,从而在一批调度的运行任务时间及运行任务总数内,生成了多少条运行告警,成功和失败了多少个任务都有直观的输出(有些运行告警不影响故障执行成功);非常便于对调度程序运行结果的跟进。

而常规调度程序基于图形化,每个调度结果的内容需要层层点击后查询,且不能分辨告警和执行失败的区别,不便于了解整体运行是否正常;且常规调度程序的故障定位跟进时间都在5-30分钟级别,超过15个故障任务的大范围异常要到1小时以上才完成全部排查。

因此该分布式调度方法的故障定位时间比常规调度的故障排查时间大幅缩减了99.3%-99.89%。

此外,根据本发明的分布式调度方法,分布式调度和故障分析定位能在秒级完成,因此所有计算任务只需各存放一份最新的日志文件,小时级生成5个故障汇总的报告日志;日志文件数量一天只需生成1000个以内,缩减了93%,日志数据量也不随时间增加而提升。由此可知,根据本发明的分布式调度方法大幅缩减了历史日志垃圾文件的数量,同时可以确保任意时间点所有任务都运行正常,大幅减少了维护的精力和投入成本。

下面结合图5描述根据本发明的分布式调度装置100。

如图5所示,根据本发明的分布式调度装置100包括:初始任务集合生成模块101、分层排列模块102、执行任务集合生成模块103、以及分配模块104。

初始任务集合生成模块101,用于确定需要调度的计算任务的范围,生成初始任务集合。

分层排列模块102用于将所有初始任务集合中的任务基于er关系进行分层排列。

执行任务集合生成模块103用于对每个任务的内存和处理器开销进行估算,通过资源开销评估算法计算各自分值,并按照分值进行排序以生成执行任务集合。

分配模块104用于将所述执行任务集合中的所述任务分配到所述大数据平台的多个计算节点从而由多个所述计算节点执行各自的任务。

下面,集合附图3描述根据本发明一具体实施例的分布式调度装置100’。

如图6所示,本实施例的分布式调度装置包括初始调度任务集合模块101’、分层调度集合模块102’、计算模块1031、以及优化模块1032、以及分配模块104’。

其中,初始任务集合模块101’具有如下功能,即:在计算任务发布时,负责将新增任务或更新任务进行代码解析,解析依赖关系,确定新增任务应该放在调度集合的哪一层任务中。

此后,分层模块102’在初始任务集合模块101’的基础上,基于各任务的er关系对于初始调度任务进行分层,生成分层调度集合。

接着,计算模块1031分别对每一层的调度任务进行开销估算,优化模块1032根据计算模块1031的计算结果进行排列,得到执行任务集合。

此后,分配模块104’将执行任务集合中的任务分配给相应的节点。

图7示出了可以用于实现本公开的处理方法的示例性电子设备。

该电子设备1000包括执行存储在存储器1004中的指令的至少一个处理器1002。这些指令可以是例如用于实现被描述为由上述一个或多个模块执行的功能的指令或用于实现上述方法中的一个或多个步骤的指令。处理器1002可以通过系统总线1006访问存储器1004。除了存储可执行指令,存储器1004还可存储训练数据等。处理器1002可以为中央处理器(cpu)或图形处理器gpu等各种具有计算能力的器件。该cpu可以为x86或arm处理器;gpu可单独地直接集成到主板上,或者内置于主板的北桥芯片中,也可以内置于中央处理器(cpu)上。

电子设备1000还包括可由处理器1002通过系统总线1006访问的数据存储1008。数据存储1008可包括可执行指令、多图像训练数据等。电子设备1000还包括允许外部设备与电子设备1000进行通信的输入接口1010。例如,输入接口1010可被用于从外部计算机设备、从用户等处接收指令。电子设备1000也可包括使电子设备1000和一个或多个外部设备相接口的输出接口1012。例如,电子设备1000可以通过输出接口1012显示图像等。考虑了通过输入接口1010和输出接口1012与电子设备1000通信的外部设备可被包括在提供实质上任何类型的用户可与之交互的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可接受来自用户采用诸如键盘、鼠标、遥控器等之类的(诸)输入设备的输入,以及在诸如显示器之类的输出设备上提供输出。此外,自然语言界面可使得用户能够以无需受到诸如键盘、鼠标、遥控器等之类的输入设备强加的约束的方式来与电子设备1000交互。相反,自然用户界面可依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、以及机器智能等。

可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(dsp)、asic、场可编程门阵列信号(fpga)或其他可编程逻辑器件(pld)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如dsp和微处理器的组合,多个微处理器、与dsp核协作的一个或多个微处理器或任何其他这样的配置。

集合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(ram)、只读存储器(rom)、快闪存储器、eprom存储器、eeprom存储器、寄存器、硬碟、可移动碟、cd-rom等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。

在此公开的方法包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。

所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。计算机可读介质包括计算机可读存储介质。计算机可读存储介质可以是能被计算机访问的任何可用存储介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来承载或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,所传播的信号不被包括在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,其包括促成计算机程序从一地向另一地转移的任何介质。连接例如可以是通信介质。例如,如果软件使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外线、无线电、以及微波之类的无线技术来从web网站、服务器、或其它远程源传输,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外线、无线电、以及微波之类的无线技术被包括在通信介质的定义中。上述的组合应当也被包括在计算机可读介质的范围内。替换地或另选地,此处描述的功能可以至少部分由一个或多个硬件逻辑组件来执行。例如,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、程序专用的集成电路(asic)、程序专用的标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。

因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。

软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(dsl)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。

此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如ram、rom、诸如cd或软碟等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。

另外,电子设备1000尽管图中被示出为单个系统,但可以理解,电子设备1000也可以是分布式系统,还可以布置为云设施(包括公有云或私有云)。因此,例如,若干设备可以通过网络连接进行通信并且可共同执行被描述为由电子设备1000执行的任务。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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