一种短信实时发送方法和系统与流程

文档序号:12890451阅读:312来源:国知局
本发明涉及计算机及互联网
技术领域
:,尤其涉及一种短信实时发送方法和系统。
背景技术
::随着中国手机用户的高速增长,手机短信已经成为人们日常信息快递的重要方式。企业短信作为一种企业与客户之间的通信方式,以其覆盖面广、快捷,无时空限制,低成本、精准营销等众多优势,已经被广泛应用于金融、快消、百货、售后服务、快递物流、教育、房地产、汽车、农业、政府等众多行业,成为现代企业信息化重要组成部分。随着企业短信规模化应用,传统短信平台单一信息收发功能,已经不能完全满足现代企业管理的需求,大批量即时短信的发送已成为短信平台发展趋势。目前短信发送接口通用的处理方式为:客户的发送请求传送到web服务器上;web服务器将发送请求,存储到数据表中;转发程序从数据表中取出待发的数据,提交到短信发送平台。但当需要大批量发送时,一台web服务器无法处理请求,造成提交失败或处理缓慢;且所有数据存储在一个数据表中,容易造成数据处理缓慢,无法及时提交给短信发送平台。而且,在进行批量短信发送时,通常是多个转发程序同时运行,提取数据库中的短信发送任务后提交到短信发送平台。如转发程序1提取数据库中的100个短信发送任务,然后逐步将这100个短信发送任务提交到短信发送平台,在短信发送成功后,再将发送任务的状态更新为已发送。但由于提交和发送需要一定时间,在此期间就可能会有其它转发程序也取出了这100个任务中的某个任务并进行了提交,即出现多个转发程序提交了同一个短信发送任务的问题,从而导致同一条短信的重复发送。因此,需要提供一种新的能够有效提高短信发送效率且防止短信重发的方案。技术实现要素:为此,本发明提供一种短信实时发送方法和系统,以力图解决或至少缓解上面存在的问题。根据本发明的一个方面,提供一种短信实时发送系统,包括多个web服务器、多个任务存储表、一个随机数存储表和多个转发程序,每个转发程序对应一个任务存储表,每个任务存储表对应一个或多个转发程序,各转发程序均与短信发送平台连接;web服务器包括:请求接收单元,适于接收客户端提交的短信发送请求;以及任务存储单元,适于将短信发送请求作为一个短信发送任务存储到任务存储表中,其中,短信发送任务包括目标号码、短信内容和状态标识,状态标识包括已发送标识、未发送标识和正在发送标识;转发程序包括:随机数生成单元,适于生成一个标识随机数作为正在发送标识,并将该标识随机数存储到随机数存储表中;第一更新单元,适于从对应的任务存储表中查询第一数目个具有未发送标识的短信发送任务,并将查询到的该些短信发送任务的状态标识更新为标识随机数;任务提交单元,适于从任务存储表中取出具有该标识随机数的多个短信发送任务提交到短信发送平台;以及第二更新单元,适于当短信发送任务提交和发送成功后,将该任务所对应的状态标识更新为已发送标识。可选地,在根据本发明的方法中,随机数生成单元适于根据以下方法生成标识随机数:按照预定算法生成一个第一随机数,并对该第一随机数生成哈希索引,得到第二随机数;以及从右至左取出该第二随机数的预定位数,得到标识随机数。可选地,在根据本发明的方法中,已发送标识为1,未发送标识为0;随机数生成单元还适于当生成的标识随机数为1时,重新生成标识随机数。可选地,在根据本发明的方法中,随机数生成单元还适于当生成的标识随机数已存在于随机数存储表中时,重新生成标识随机数。可选地,在根据本发明的方法中,随机数生成单元还适于在当前的随机数存储表中所存储的标识随机数超过第二数目时,先清除该随机数存储表中的所有随机数后再存储所生成的标识随机数。可选地,在根据本发明的方法中,还包括:负载均衡设备,适于根据预定的负载均衡算法将客户端发送的短信发送请求分配给所述多个web服务器。可选地,在根据本发明的方法中,任务存储表的数目为10,任务存储单元适于根据短信发送任务的目标号码的最后一位选择对应的任务存储表进行所述存储;或者任务存储表的数目为100,任务存储单元适于根据短信发送任务的目标号码的最后两位选择对应的任务存储表进行所述存储。可选地,在根据本发明的方法中,第一数目为100,预定位数为6,第二数目为1万。根据本发明的另一个方面,提供一种短信实时发送方法,适于在短信实时发送系统中执行,短信实时发送系统包括多个web服务器、多个任务存储表、一个随机数存储表和多个转发程序,每个转发程序对应一个任务存储表,每个任务存储表对应一个或多个转发程序,各转发程序均与短信发送平台连接,该方法包括:web服务器接收客户端提交的短信发送请求,并将短信发送请求作为一个短信发送任务存储到任务存储表中,其中,短信发送任务包括目标号码、短信内容和状态标识,状态标识包括已发送标识、未发送标识和正在发送标识;以及在各转发程序中:生成一个标识随机数作为正在发送标识,并将该标识随机数存储到随机数存储表中;从对应的任务存储表中查询第一数目个具有未发送标识的短信发送任务,并将查询到的该些短信发送任务的状态标识更新为标识随机数;从任务存储表中取出具有该标识随机数的多个短信发送任务提交到短信发送平台;以及当短信发送任务提交和发送成功后,将该任务所对应的状态标识更新为已发送标识。根据本发明的技术方案,首先将客户端的短信发送请求经过硬件负载均衡设备分配到多台服务器,这多台服务器将短信发送请求存储到分布式架构的数据库中,且多台服务器多个任务存储表同时存储数据,以分担数据处理压力,确保大批量发送时的稳定性和处理速度。之后,转发程序从任务存储表中取出待发的数据,并提交到短信发送平台进行发送。各转发程序进行每次转发前,先各自生成一个唯一的标识随机数,然后去任务存储表中查询待发的短信任务,一旦查询到待发任务,就立即将该任务的状态标识更新为该转发程序所生成的标识随机数,然后再从任务存储表中取出具有这些标识随机数的待发任务进行提交。对任务的状态标识进行更新的时间远远小于任务提交和发送所需的时间,因此在对状态标识进行更新期间其他转发程序对该任务进行操作的概率也会很低。并且在这个取出和转发过程中,各转发程序分别查找具有各自标识随机数的待发任务,因此不会出现冲突,从而可以有效地避免当多个转发程序同时运行并将发送任务提交给短信发送平台时,由于提交和发送需要一定时间而出现在的此期间其它转发程序也会取出同一批数据并进行发送的问题,从而避免短信的重复发送。而且,如本发明的
背景技术
:所言,传统的短信发送方是查询到待发任务即取出该任务进行提交,这个过程中反而会出现待发任务的重复取出和提交而拖长数据处理事件,而本发明的转发过程只添加了一步数据改写更新操作,即在查询到待发任务时,先将该任务的状态标识更改为标识随机数,而这个改写操作又通常来说非常地快,并不会耽误数据处理进程,因此本发明也进一步地从整体上提高了短信实时发送的处理效率,保证了批量短信的快速发送。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本发明一个实施例的短信实时发送系统100的结构示意图;图2示出了根据本发明另一个实施例的短信实时发送系统100的结构示意图;图3示出了根据本发明一个实施例的短信实时发送方法300的流程图;图4示出了根据本发明一个实施例的短信实时发送方法的完整流程图;图5示出了本发明一个实施例的转发程序140运行界面的示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本发明一个实施例的短信实时发送系统100的示意图。图1所示的短信实时发送系统100包括多个web服务器110(如图1中的web服务器1-m)、多个任务存储表120(如图1中的任务存储表1-n)、一个随机数存储表130和多个转发程序140(如图1中的转发程序1-p),其中,每个转发程序140对应一个任务存储表120,每个任务存储表120对应一个或多个转发程序140,各转发程序140均与短信发送平台连接。也就是说,不同的转发程序有可能对应同一个任务存储表。如转发程序1对应任务存储表1,转发程序2也对应任务存储表1中,转发程序3对应任务存储表2。应当指出,图1中的短信实时发送系统100仅是示例性的,在具体的实践情况中,系统100中可以有不同数量的web服务器、任务存储表和转发程序,本发明对系统100中所包括的设备的具体数目不做限制,这些设施也可以驻留在多个地理位置中。web服务器110主要负责接收客户端的请求并进行存储,其可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。此外,用于组成服务器集群或云计算服务中心的多个服务器可以驻留在多个地理位置中,本发明对web服务器110的部署方式不做限制。任务存储表120主要用来存储web服务器所存储短信发送请求,随机数存储表130主要用来存储转发程序生成的随机数。任务存储表120和随机数存储表130可以存储在数据存储装置中,数据存储装置和多个web服务器110之间通信连接,数据存储装置可以是数据库,其既可以作为本地数据库驻留于web服务器110中,也可以作为远程数据库设置于web服务器110之外,本发明对数据存储装置的部署方式不做限制。其中,数据存储装置还可以是hadoop分布式文件系统。另外,应当理解,任务存储表120有多个,其可以分布式的存储在多个数据存储装置中,即每个数据存储装置可以分别存储一个或多个任务存储表120。而且,随机数存储表130可以存储在某个任务存储表120所在的数据存储装置中,也可以专门存储在不同的数据存储装置中。转发程序140也与数据存储装置之间通过网络建立通信连接,主要负责数据库中提取发送状态为未发送的任务,并将其提交到短信发送平台,以及将任务存储表中该条发送任务的发送状态更新为已发送。转发程序140可以设置在服务器上,如转发服务器上,一台转发服务器上可以根据需要设置一个或多个转发程序140。转发程序140基于松耦合设计,支持多个程序同时部署在不同的服务器,多个转发程序同时运行分别从对应的任务存储表中取待发送的任务,从而提高转发程序的处理速度。每次所取的任务数,都提前在转发程序上做初始设置。图4示出了根据本发明一个实施例的转发程序140的运行界面的示意图。图2示出了根据本发明一个实施例的短信实时发送系统100中的web服务器110和转发程序140的结构示意图。如图2所示,web服务器110包括请求接收单元111和任务存储单元112,转发程序140包括随机数生成单元141、第一更新单元142、任务提交单元143和第二更新单元。应当理解,图2中只分别示例性的示出了一个web服务器110、任务存储表120和转发程序140,实际还有其他多个web服务器110、任务存储表120和转发程序140。请求接收单元111适于接收客户端提交的短信发送请求。通常会有多个客户端提交多个短信发送请求,短信发送请求包括要发送短信的目标号码和短信内容。根据一个实施例,系统100还可以负载均衡设备,其可以根据预定的负载均衡算法将客户端发送的短信发送请求分配给这多个web服务器120。多台web服务器120同时处理短信发送请求,确保大批量发送时的稳定性和处理速度。任务存储单元112适于将短信发送请求作为一个短信发送任务存储到任务存储表120中,其中,短信发送任务通常包括目标号码、短信内容和状态标识。在现有技术中,状态标识仅包括已发送标识和未发送标识,在本发明实施例中,状态标识包括已发送标识、未发送标识和正在发送标识。通常,已发送标识可以设置为1,未发送标识设置为0;当然也可以根据需要设置为其他数值,本发明对此不作限制。正在发送标识设置为由转发程序所生成的随机数。这里可以采用分布式的数据库架构,多台web服务器110将批量的短信发送请求存分布式的存储到多个任存储表120中,以分担数据处理压力。另外,存储数据时可以根据业务量和目标号码的尾号来设计数据表的数量。例如:设置10张任务存储表,这时任务存储单元112可以根据短信发送任务的目标号码的最后一位选择对应的任务存储表进行存储。这样的话,尾号为0的都存到第1张表中,尾号为1的都存到第2张表中,……,尾号为9的都存到第10张表中。或者,当任务量大时可以设置100张任务存储表,这时任务存储单元112可以根据短信发送任务的目标号码的最后两位选择对应的任务存储表进行存储。同理,尾号为00的都存到第1张表中,尾号为01存到第2张表,……,尾号为99的都存到第100张表中。进一步地,考虑尾号为4的或44的比较少,而尾号为6或8的比较多,因此可以统计最后一位或两位尾号中各数值的分布概率值,并根据该概率值来对短信发送任务进行分布式存储,以保证每张表中存储的任务数目比较均匀。随机数生成单元141适于生成一个标识随机数作为正在发送标识,并将该标识随机数存储到随机数存储表中。这里,各转发程序140在执行每次转发操作前,都会先生成一个唯一的标识随机数,并将这个标识随机数存到随机数存储表中,然后根据这个标识随机数来执行转发任务。当执行下次转发前,再重新一个新的标识随机数,这样多个转发程序就累计存储了多个标识随机数。根据一个实施例,随机数生成单元141可以根据以下方法生成标识随机数:按照预定算法生成一个第一随机数,并对该第一随机数生成哈希索引,得到第二随机数,这样就将第一随机数转化为了数字。之后,从右至左取出该第二随机数的预定位数以规范随机数格式,如预定六位数,就可得到所述标识随机数。这里,预定算法可以采用现有任意的随机数生成方法,本发明对此不作限制,如可以采用数据库函数newid()来生成第一随机数。同理,生成哈希索引算法也可以采用现有任意的哈希索引生成方法,本发明对此不作限制,如可以采用数据库函数checksum来对第一随机数生成哈希索引。生成的第一随机数示例如下:6bcdb8b3-d032-4808-8f8b-2f1a9911797036832de7-6d6d-4493-8aca-223d70d69f1bd3c974ac-9f31-48ee-ba6a-6525d379ecbe生成的第二随机数示例如下:-199848700250627070341728105对于所生成的标识随机数,需要对其进行检验,当随机数生成单元141所生成的标识随机数恰好为所设定的发送标识,即为1时,则需要重新生成新的标识随机数,即重新从生成第一随机数开始生成新的标识随机数。另外,还需要检验该标识随机数的唯一性,即检测其是否存在于当前的随机数存储表中,如果是,则同样需要重新生成新的标识随机数。另外,经过多次转发后随机数存储表中的随机数数目可能过多,而为了防止随机数存储表过大,影响处理速度,需要对随机数存储表进行自维护管理。因此,随机数生成单元141还适于在当前的随机数存储表130中所存储的标识随机数超过第二数目时,如1万时,先清除该随机数存储表中的所有随机数后再存储所生成的标识随机数。这里,清表可以使用数据函数truncatetable的命令来进行整表清除。当然,如果当前随机数的数目尚未超过第二数目,则可以直接存储该标识随机数。第一更新单元142适于从对应的任务存储表中查询第一数目个具有未发送标识的短信发送任务,并将查询到的该些短信发送任务的状态标识更新为所述标识随机数。也就是将未发送标识(即0)更新为正在发送标识,即标识随机数。根据一个实施例,第一数目可以为100。通常,转发程序140在提取短信发送任务时,提取状态标识为未发送标识(即0)的短信发送任务,将其提交到短信发送平台后,再将该任务的状态标识更新为已发送标识(即1)。但因为提交过程比较耗时,且转发过程中经常会出现多个转发程序对应同一张任务存储表,因此可能会有别的转发程序也同样提取了该任务存储表中某个状态标识为0的短信发送任务,这样就造成了该短信的重复提交和发送。因此,本发明中创造性地添加了正在发送标识这一标识,即每个转发程序140所生成的唯一的标识随机数,当转发程序140查询到某个短信发送任务的状态标识为0时,第一时间内先将该任务的状态标识由0更新为该标识随机数(即正在发送标识),而数值改写的速度又极快,这样就有效地保证了不会再有别的程序查询到该待发任务,也就自然不会再出现短信任务的重复提交和发送。任务提交单元143适于从任务存储表120中取出具有该标识随机数的多个短信发送任务提交到短信发送平台。这里,各转发程序各自生成有对应的标识随机数,因此在进行转发时各程序各司其职,各自查找具有该程序的标识随机数的任务,不会出现冲突。而且,相较于传统的查询-提取-提交过程,本发明的查询-改写-提取-提交过程,只增加了一步非常快地改写操作,其并不会耽误数据处理进程,反而因为这步改写操作提高了后续数据提取和提交的速度,从而从整体上提高了数据处理效率,保证批量短信的快速发送。第二更新单元144适于当短信发送任务提交和发送成功后,将该任务所对应的状态标识更新为已发送标识,即将标识随机数更新为了1。这里,转发程序140将短信发送任务提交到短信发送平台,由该平台执行短信发送任务,当短信发送任务发送成功后,平台将发送成功的结果反馈给转发程序140,转发程序140收到短信发送成功的反馈后再更新任务存储表中的状态标识。下表示出了一批待发数据示例,其中状态标识为0的表示还未发送,状态标识为1的表示已发送,状态标识为6位数字的是更新后的标识随机数,其中856236是转发程序1所生成的标识随机数,代表该任务将由转发程序1转发;123356是转发程序2所生成的标识随机数,代表该任务将由转发程序2转发。图3示出了根据本发明一个实施例的短信实时发送方法300的流程图。其适于在短信实时发送系统100中执行,如图3所示,该方法始于步骤s310。在步骤s310中,web服务器接收客户端提交的短信发送请求,并将短信发送请求作为一个短信发送任务存储到任务存储表中,其中,短信发送任务包括目标号码、短信内容和状态标识,状态标识包括已发送标识、未发送标识和正在发送标识。其中,已发送标识可以为1,未发送标识可以为0。根据一个实施例,任务存储表的数目为10,web服务器可以根据短信发送任务的目标号码的最后一位选择对应的任务存储表进行所述存储。根据另一个实施例,任务存储表的数目为100,web服务器适于根据短信发送任务的目标号码的最后两位选择对应的任务存储表进行所述存储。另外,在步骤s210之前,还可以包括步骤:负载均衡设备根据预定的负载均衡算法将客户端发送的短信发送请求分配给多个web服务器。随后,在步骤s320中,各转发程序生成一个标识随机数作为正在发送标识,并将该标识随机数存储到随机数存储表中。根据一个实施例,生成标识随机数的步骤可以包括:按照预定算法生成一个第一随机数,并对该第一随机数生成哈希索引,得到第二随机数;以及从右至左取出该第二随机数的预定位数,得到标识随机数。根据另一个实施例,生成标识随机数的步骤还包括:当生成的标识随机数为1或已存在于随机数存储表中时,重新生成标识随机数。此外,将标识随机数存储到随机数存储表的步骤可以包括:在当前的随机数存储表中所存储的标识随机数超过第二数目时,先清除该随机数存储表中的所有随机数后再存储所生成的标识随机数。随后,在步骤s330中,各转发程序从对应的任务存储表中查询第一数目个具有未发送标识的短信发送任务,并将查询到的该些短信发送任务的状态标识更新为所述标识随机数。随后,在步骤s340中,各转发程序从任务存储表中取出具有该标识随机数的多个短信发送任务提交到短信发送平台;并在步骤s350中,当短信发送任务提交后,将该任务所对应的状态标识更新为已发送标识。图4示出了本发明的短信实时发送方法300的完整流程图,关于方法300,其具体细节已在基于图1和图2的描述中详细公开,在此不再进行赘述。根据本发明的技术方案,通过对标识随机数采用的自维护的控制方式,保证了该随机数的唯一性。转发程序采用分布式部署,当多程序同时运行时,通过对标识随机数存储过程的控制,确保每个程序所取的待发数据的唯一性,避免不同的程序取到同一条发送任务,造成短信的重发。而且,本发明采用硬件负载均衡框架,各个处理环节均采用分布式部署,具备应付大容量、高密集业务冲击的能力,能够实时、高效、稳定地支持每小时千万级别的短信发送量;关键模块采用分布式部署的系统架构,具备应付大容量、高密集业务冲击的能力;web服务器、数据库存储表以及转发程序均可根据短信发送进行调整,易于扩展;系统内数据量进行了分布式存储,可确保数据处理速度,保证短信发送的时效性。综上,本发明提高了接口的处理速度以及接口的稳定性,同时提升数据的处理时间,减少数据处理环节,确保及时提交到短信发送平台。b11、如b9或b10所述的方法,其中,所述已发送标识为1,所述未发送标识为0,生成所述标识随机数的步骤还包括:当生成的标识随机数为1时,重新生成标识随机数。b12、如b9或b10所述的方法,生成所述标识随机数的步骤还包括:当生成的标识随机数已存在于随机数存储表中时,重新生成标识随机数。b13、如b9-b12中任一项所述的方法,将标识随机数存储到随机数存储表中的步骤包括:在当前的随机数存储表中所存储的标识随机数超过第二数目时,先清除该随机数存储表中的所有随机数后再存储所生成的标识随机数。b14、如b9所述的方法,还包括步骤:负载均衡设备根据预定的负载均衡算法将客户端发送的短信发送请求分配给所述多个web服务器。b15、如b9所述的方法,其中,所述任务存储表的数目为10,所述web服务器适于根据短信发送任务的目标号码的最后一位选择对应的任务存储表进行所述存储;或者所述任务存储表的数目为100,所述web服务器适于根据短信发送任务的目标号码的最后两位选择对应的任务存储表进行所述存储。b16、如b9-b13中任一项所述的方法,其中,所述第一数目为100,所述预定位数为6,所述第二数目为1万。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、cd-rom、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的在线客服系统的用户请求分配方法。以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本
技术领域
:内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本
技术领域
:的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1