本申请涉及数据路由技术领域,特别涉及一种异地多活下的业务数据路由方法及装置。
背景技术:
在大数据时代,处于异地的各数据中心之间的数据传输面临很大挑战,据测算,在中国范围内,长距离的数据传输最大延时可能达到100毫秒,这对于整个链路总耗时可能只有几百毫秒的业务来说,将会极大的影响系统的吞吐率。
现有技术中的路由优化等技术方案只是在路由的路途中进行优化,并不能根本上解决目标数据中心距离过远,造成传输延时的问题,而且,现有技术中的一些方案极大程度上依赖于人工的调整,不够灵活且容易出错,并具有一定的滞后性。
技术实现要素:
为了解决现有技术中异地数据中心之间传输数据时的延时问题,本申请实施例提供了一种异地多活下的业务数据路由方法及装置,可以根据本地数据中心与多个目标数据中心的距离,动态选取距离最近且可用的目标数据中心,从而可以灵活的调度业务数据流量到该近距离的目标数据中心,达到减少延时的目的。
本申请实施例具体提供了一种异地多活下的业务数据路由方法,包括,
根据业务确定所有当前可用的对端数据中心;
获取本地数据中心与所述所有当前可用的对端数据中心的路由配置信息;
根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时;
选择延时较小的对端数据中心进行业务数据的传输。
本申请实施例还提供了一种异地多活下的业务数据路由装置,包括,
确定单元,用于根据业务确定所有当前可用的对端数据中心;
获取单元,用于获取本地数据中心与所述所有当前可用的对端数据中心的路由配置信息;
计算单元,用于根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时;
处理单元,用于选择延时较小的对端数据中心进行业务数据的传输。
由以上本申请实施例提供的技术方案可见,可以针对业务的种类或者类型选择延时最小的对端数据中心进行业务数据的传输和处理,由此可以带来更快的速度处理业务数据,提高业务处理的吞吐量,并且配置业务处理的对端数据中心可以自动的更新(是否可用的状态),避免了人为挑选处理业务的对端数据中心的情况,节省了人力资源成本。
当然实施本申请的任一产品或者方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1所示为本申请实施例一种异地多活下的业务数据路由方法的流程图;
图2所示为本申请实施例一种异地多活下的业务数据路由装置的结构示意图;
图3所示为本申请实施例一种异地多活下的业务数据路由方法的具体流程图;
图4所示为本申请实施例异地多活数据中心分布的系统结构图;
图5所示为本申请实施例实时更新路由配置信息的方法流程图;
图6所示为本申请实施例另一种异地多活下的业务数据路由方法的具体流程图。
具体实施方式
本申请实施例提供一种异地多活下的业务数据路由方法及装置。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
如图1所示为本申请实施例一种异地多活下的业务数据路由方法的流程图,在本实施例中多个机构的数据中心位于不同的地域,例如机构A的数据中心A位于北京,机构B的一个数据中心B1位于上海,另一个数据中心B2位于香港,机构A的数据中心A由于某个业务需要与机构B的数据中心进行业务处理,在现有技术中数据中心A可能与机构B的数据中心B1进行业务数据的传输,也可能与机构B的数据中心B2进行业务数据的传输,如果与距离较远的数据中心B2传输数据,则可能由于距离太远造成传输数据的延时,因此需要通过以下 步骤来选择合适的目标数据中心进行数据传输:
具体包括步骤101,根据业务确定所有当前可用的对端数据中心。
步骤102,获取本地数据中心与所述所有当前可用的对端数据中心的路由配置信息。
步骤103,根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时。
步骤104,选择延时较小的对端数据中心进行业务数据的传输。
根据本申请的一个实施例,在根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时中进一步包括,根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的距离;
在选择延时较小的对端数据中心进行业务数据的传输中进一步包括,选择距离较近的对端数据中心进行业务数据的传输。
上述步骤中,由于数据中心之间的网络基本上都是专线或者带宽较大的骨干网络,所以本地数据中心与处于异地的数据中心之间的延时最主要的来源就是两地之间的距离,因此以两个数据中心之间的距离作为判断标准可以大量的减少数据中心之间进行业务数据传输的延时,从而可以大幅度的提高业务的处理速度。
在计算本地数据中心与对端数据中心之间的距离时,可以在路由配置信息中获得本地数据中心的GPS坐标(可以通过GPS模块获得),对端数据中心的GPS坐标,计算两点间的距离;或者还可以通过本地数据中心的经纬度信息(预先存储的经纬度信息),对端数据中心的经纬度信息,计算两点间的距离;或者还可以通过其它方式计算两个数据中心之间的距离在此不再赘述。
根据本申请的一个实施例,在根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时中进一步包括,通过网络探测手段计算所述本地数据中心与所述所有当前可用的对端数据中心的延时,例如在所述本地数据中心使用ping命令检测与所有当前可用的对端数据中心的延时。
根据本申请的一个实施例,还包括,根据所述路由配置信息向所有对端数据中心发送特定的业务数据;根据每个对端数据中心的业务处理结果在所述路由配置信息中标记对应对端数据中心的状态。
在本步骤中,所述特定的业务数据例如可以是向特定的账户汇入1分,或者由A账户向B账户转账1分。
根据本申请的一个实施例,根据业务处理结果在所述路由配置信息中标记所有对端数据中心的状态进一步包括,若所述业务处理的时间超过一阀值,则标记相应对端数据中心的状 态为不可用状态,否则标记相应对端数据中心的状态为可用状态。
通过本步骤的方法,可以实时的更新所有对端数据中心是否可用的状态,从而更新路由配置信息,以进一步保证业务处理的时间。
根据本申请的一个实施例,在根据所述路由配置信息向所有对端数据中心发送特定的业务数据中进一步包括,根据所述路由配置信息以设定的周期向所有对端数据中心发送特定的业务数据。
在本步骤中,可以以一天为周期向所有对端数据中心发送特定的业务数据,或者以一周为周期向所有对端数据中心发送特定的业务数据,或者以其它时间(例如每分钟或者几秒钟)为周期向所有对端数据中心发送特定的业务数据。
根据本申请的一个实施例,在根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时中进一步包括,根据所述路由配置信息中对端数据中心的状态,计算所述本地数据中心与可用状态的所述所有当前可用的对端数据中心的延时。
根据本申请的一个实施例,在选择延时较小的对端数据中心进行业务数据的传输中还进一步包括,当有多个对端数据中心的延时较小,根据预置的权重向所述多个对端数据中心进行业务数据的传输。
在本步骤中,如果多个对端数据中心与本地数据中心的延时都比较小,则可以将业务数据分成多份进行传输。
根据本申请的一个实施例,在根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的距离中进一步包括,根据所述路由配置信息中对端数据中心的状态,计算所述本地数据中心与可用状态的所述所有当前可用的对端数据中心的距离。
根据本申请的一个实施例,在选择距离较近的对端数据中心进行业务数据的传输中还进一步包括,当有多个对端数据中心的距离较近,根据预置的权重向所述多个对端数据中心进行业务数据的传输。
在本步骤中,如果多个对端数据中心与本地数据中心的距离都较近时,则可以将业务数据分成多份进行传输。这种情况主要针对的是在同一个城市中有多个对端数据中心的情况。
通过上述本申请实施例的方法,可以针对业务的种类或者类型选择延时最小的对端数据中心进行业务数据的传输和处理,由此可以带来更快的速度处理业务数据,提高业务处理的吞吐量,并且配置业务处理的对端数据中心可以自动的更新(是否可用的状态),避免了人为挑选处理业务的对端数据中心的情况,节省了人力资源成本。
如图2所示为本申请实施例一种异地多活下的业务数据路由装置的结构示意图,在本实施例中可以由网关实现所述装置的功能,或者由单独的服务器来执行相应的功能,该装置置 于本地数据中心,具体包括:
确定单元201,用于根据业务确定所有当前可用的对端数据中心。
获取单元202,用于获取本地数据中心与所述所有当前可用的对端数据中心的路由配置信息。
计算单元203,用于根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的延时。
处理单元204,用于选择延时较小的对端数据中心进行业务数据的传输。
根据本申请的一个实施例,所述计算单元203进一步用于,根据所述路由配置信息计算所述本地数据中心与所述所有当前可用的对端数据中心的距离;
所述处理单元204进一步用于,选择距离较近的对端数据中心进行业务数据的传输。
根据本申请的一个实施例,所述计算单元203进一步用于,通过网络探测手段计算所述本地数据中心与所述所有当前可用的对端数据中心的延时。
根据本申请的一个实施例,还包括更新单元205,用于根据所述路由配置信息向所有对端数据中心发送特定的业务数据;根据每个对端数据中心的业务处理结果在所述路由配置信息中标记对应对端数据中心的状态。
根据本申请的一个实施例,所述更新单元205进一步用于,若所述业务处理的时间超过一阀值,则标记相应对端数据中心的状态为不可用状态,否则标记相应对端数据中心的状态为可用状态。
根据本申请的一个实施例,所述更新单元205进一步用于,根据所述路由配置信息以设定的周期向所有对端数据中心发送特定的业务数据。
根据本申请的一个实施例,所述计算单元203进一步用于,根据所述路由配置信息中对端数据中心的状态,计算所述本地数据中心与可用状态的所述所有当前可用的对端数据中心的延时。
根据本申请的一个实施例,所述计算单元203进一步用于,当有多个对端数据中心的延时较小,根据预置的权重向所述多个对端数据中心进行业务数据的传输。
根据本申请的一个实施例,所述计算单元203进一步用于,根据所述路由配置信息中对端数据中心的状态,计算所述本地数据中心与可用状态的所述所有当前可用的对端数据中心的距离。
根据本申请的一个实施例,所述计算单元203进一步用于,当有多个对端数据中心的距离较近,根据预置的权重向所述多个对端数据中心进行业务数据的传输。
通过上述本申请实施例的装置,可以针对业务的种类或者类型选择延时最小的对端数据 中心进行业务数据的传输和处理,由此可以带来更快的速度处理业务数据,提高业务处理的吞吐量,并且配置业务处理的对端数据中心可以自动的更新(是否可用的状态),避免了人为挑选处理业务的对端数据中心的情况,节省了人力资源成本。
如图3所示为本申请实施例一种异地多活下的业务数据路由方法的具体流程图,在本实施例中以数据中心的距离作为减小数据中心之间传输业务数据延时的判断条件,具体系统结构如图4所示,为本申请实施例异地多活数据中心分布的系统结构图,包括一个本地数据中心A位于杭州,还包括业务执行机构B,在业务执行机构B中包括对端数据中心B1、B2和B3,其中数据中心B1和B2位于同一个城市(位于上海)或者两个数据中心距离接近,数据中心B3位于新疆,本地数据中心要进行例如对用户的银行账户扣款的业务时需要将扣款的业务数据传送给数据中心B1、B2或者B3,上述3个数据中心都能完成该业务,通常以用户账户中登记的银行账号作为选择业务执行机构B的依据,例如银行账号为工商银行,则选择工商银行的数据中心进行相关业务,如果银行账号为建设银行,则选择建设银行的数据中心进行相关业务。
具体包括步骤301,在本地数据中心配置路由配置信息。
其中,本地数据中心的路由配置信息包括所有对端数据中心的IP地址,所有对端数据中心的经纬度,所有对端数据中心的状态,所有对端数据中心的权值(用于同位置时的分流)。其中对端数据中心不仅包括上述业务执行机构B的所有数据中心,还包括其它业务执行机构的数据中心。在本实施例中,数据中心B1、B2和B3的状态都为可用状态。
步骤302,当本地数据中心的网关启动时,将所有状态为可用的路由配置信息加载到通信路由池中(也就是网关的缓存中)。
步骤303,根据业务的需要确定所有当前可用的数据中心。
在本步骤中以扣款业务为例,如果需要对属于业务执行机构B的用户银行账号扣款,则需要在业务执行机构B中的数据中心B1、B2和B3进行处理,此时确定的所有当前可用的数据中心包括数据中心B1、B2和B3,当然如果业务执行机构B中还包括处理汇款业务的数据中心B4(图未示),此时根据业务(扣款业务),也可以将数据中心B4(可能处理转账等其它业务的数据中心)排除,或者业务执行机构C也同样包括多个数据中心,但是本次业务只需要业务执行机构B执行扣款业务,则排除无关的业务执行机构C的数据中心。
此处确定当前可用的数据中心可以通过记录有业务及其对应的数据中心列表来进行,或者可以通过识别用户银行账号属于哪个业务执行机构进行初次筛选,然后在通过具体扣款业务对应哪些数据中心来确定所有当前可用的数据中心。
步骤304,获取本地数据中心与所有当前可用的对端数据中心的路由配置信息。
在本步骤中,根据上述步骤303获得的所有当前可用的对端数据中心,即数据中心B1、B2和B3,从网关缓存中的路由池中获得数据中心B1、B2和B3的路由配置信息。其中本地数据中心的路由配置信息可以单独存储于所述网关的缓存中,或者也同其它数据中心一样存储于路由池中。
步骤305,根据所述路由配置信息计算本地数据中心与所述当前可用的对端数据中心的距离。
在本步骤中,根据路由配置信息中数据中心的经纬度进行计算本地数据中心与对端数据中心的直线距离,例如计算数据中心A与数据中心B1的直线距离,数据中心A与数据中心B2的直线距离,数据中心A与数据中心B3的直线距离。
步骤306,根据上述计算出的直线距离,选择直线距离最近的对端数据中心。
在本步骤中,根据前述的设定,由于数据中心B1和B2都位于同一个城市,因此与数据中心A的距离相等,数据中心A与数据中心B1的距离,数据中心A与数据中心B2的距离相比较数据中心A与数据中心B3的距离最近,因此选择数据中心B1和B2作为选定的目标数据中心;或者,如果数据中心B1和数据中心B2处于同一个城市,则可以只计算一次数据中心A和数据中心B1(或者数据中心B2)的距离,这样可以减少计算量。
步骤307,根据路由配置信息中的权值分配业务数据。
在本例中,数据中心B1的权值为0.8,数据中心B2的权值为0.2,根据该设定的权值分配扣款业务,将绝大部分的扣款业务数据(80%)划分给数据中心B1处理,小部分的扣款业务数据(20%)划分给数据中心B2处理。该权值可以由技术人员根据数据中心B1和B2的性能、网络状况等因素设定。
如果在同一城市或者地点不具有多个数据中心,则可以不需要再路由配置信息中加入权值内容。
本步骤根据权重进行业务数据流量分配是可选步骤,在只有一个对端数据中心时可以不进行本步骤,或者在多个对端数据中心的情况下,可以平均分配业务数据流量,而不进行按照权重分配业务数据流量的步骤。
步骤308,本地数据中心A的网关将业务数据按照上述的任务分配分别传送给数据中心B1和B2。
通过上述本申请的实施例,避免了向距离数据中心A很远的数据中心B3传送业务数据,提高了业务处理的响应时间,并且可以自动的更新路由配置信息,从而可以动态选择距离最近的对端数据中心,提高了业务处理的吞吐量。
如图5所示为本申请实施例实时更新路由配置信息的方法流程图,在本实施例中结合上 述图3的实施例,可以在选择所有当前可用的对端数据中心的步骤中起到优化作用,将不可用状态的数据中心剔除,以避免后续业务处理时业务处理时间过程的问题。本实施例的方法可以运行于上述集成路由方法的网关中,或者单独通过一台计算机或者专用芯片构成的数据处理设备来完成本实施例中的方法,该单独的计算机或者数据处理设备通过网关发送和接收数据。
本实施例的方法可以运行于上述图3所示实施例方法的任意步骤之前或者之后,并且在每个业务执行机构中建立一个用于验证数据中心是否可用的验证账号,例如在业务执行机构B中建立一个银行账号B,在业务执行机构C中建立一个银行账号C,每个银行账号中都有一定的金额,在本实施例中以扣款业务为例进行验证,在其它的实施例中为了验证某种业务相关的数据中心是否可用,可以发送相应的业务数据。
在本图中具体包括步骤501,以10秒为周期,向所有与扣款业务相关的数据中心发送相应的扣款业务请求。
在本步骤中,业务执行机构B包括数据中心B1、B2、B3和B4,其中数据中心B1、B2和B3可以执行扣款业务,数据中心B4执行转账业务;业务执行机构C包括数据中心C1和C2,这两个数据中心均可以执行扣款业务,因此在本步骤中本地数据中心A的网关向数据中心B1、B2、B3发送对银行账号B扣款1分的扣款请求,向数据中心C1和C2发送对银行账号C扣款1分的扣款请求。
步骤502,判断1分钟内是否接收到了所述数据中心的处理结果,如果接收到则进入步骤503,否则进入步骤504。
在本步骤中,1分钟只是举例,可以根据需要设定其它时间门限值。由于数据中心处理业务数据时不仅仅包括本地数据中心到对端数据中心的业务数据传输延时,还包括了对端数据中心处理业务数据的时间。
本实施例中,数据中心B1和B2向本地数据中心A反馈了扣款执行结果,数据中心B3未在规定时间内向本地数据中心A反馈扣款执行结果,数据中心C1和C2向本地数据中心A反馈了扣款执行结果。
步骤503,设置返回处理结果的数据中心B1和B2,数据中心C1和C2路由配置信息中的状态为可用状态。
步骤504,设置没有返回处理结果的数据中心B3路由配置信息中的状态为不可用状态。
步骤505,对本地数据中心A的网关缓存进行刷新,更新路由配置信息。
返回步骤501反复对所有数据中心的可用性进行验证,实时更新路由配置信息,可以从业务处理的角度上来验证哪些数据中心对于哪些业务来说是可用状态,哪些是不可用状态, 从而提高了选择对端数据中心的准确性,避免了业务由于对端数据中心的问题产生延时的情况。
如图6所示为本申请实施例另一种异地多活下的业务数据路由方法的具体流程图,在本实施例中有两个本地数据中心A1和A2,业务执行机构B与图4所示实施例中的相同,还是以扣款为例进行说明,不同的是本实施例以网络延时作为选择对端数据中心的判断条件。
具体包括步骤601,在本地数据中心配置路由配置信息。
其中,本地数据中心的路由配置信息包括所有对端数据中心的IP地址,所有对端数据中心的状态,所有对端数据中心的权值(用于同位置时的分流)。其中对端数据中心不仅包括上述业务执行机构B的所有数据中心,还包括其它业务执行机构的数据中心。在本实施例中,数据中心B1、B2和B3的状态都为可用状态。
在本例中,在对本地数据中心A1配置路由配置信息后,与该本地数据中心A1相关的本地数据中心A2可以通过数据库同步技术,同步配置相同的路由配置信息。
步骤602,当本地数据中心的网关启动时,将所有状态为可用的路由配置信息加载到通信路由池中(也就是网关的缓存中)。
步骤603,根据业务的需要确定所有当前可用的数据中心。
步骤604,获取本地数据中心与所有当前可用的对端数据中心的路由配置信息。
步骤605,根据所述路由配置信息计算本地数据中心与所述当前可用的对端数据中心的延时。
在本例中,可以通过本地数据中心与对端数据中心的ping值来计算两者之间的延时,例如数据中心A1根据路由配置信息中数据中心B1的IP地址,进行ping命令来计算两者之间的延时,数据中心A1还计算与数据中心B2和B3之间的延时,由于数据中心B1和B2处于相同城市,因此两者之间的延时差异很小,由此将数据中心B1和B2作为传输扣款业务数据的对端数据中心,数据中心A2也可以根据同步得到的路由配置信息分别计算与数据中心B1、B2和B3之间的延时,或者数据中心A2直接获得数据中心A1计算得到的与其它数据中心之间的延时作为该数据中心A2的延时。
步骤606,根据上述计算出的延时,选择延时较小的对端数据中心。
在本实施例中,本地数据中心A1与数据中心B1和B2的延时较小,因此决定向这两个数据中心发送扣款业务数据,同样的本地数据中心A2也决定向这两个数据中心(B1和B2)发送扣款业务数据。
步骤607,根据路由配置信息中的权值分配业务数据。
步骤608,本地数据中心A1和A2的网关将业务数据按照上述的任务分配分别传送给数 据中心B1和B2。
通过上述本申请实施例中的方法及装置,避免了向与本地距离数据中心延时很高的对端数据中心传送业务数据,提高了业务处理的响应时间,并且可以自动的更新路由配置信息,从而可以动态选择延时最小的对端数据中心,提高了业务处理的吞吐量。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部 件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。