基于分布式数据库的数据存储方法及系统与流程

文档序号:15982269发布日期:2018-11-17 00:28阅读:268来源:国知局
本公开涉及数据处理
技术领域
,尤其涉及一种基于分布式数据库的数据存储方法及系统、数据分配方法及装置、电子设备、计算机可读存储介质。
背景技术
随着数据处理技术的发展,传统的集中式数据库越来越多的向分布式数据库转变。在分布式数据库中,将数据分散存储到多个通过网络连接的数据节点上,以获取更大的存储容量和更高的并发访问量,因此相较于集中式数据库具备更多优势。现有的分布式数据库中,当外部请求写入数据时,对数据的存储方法通常有以下几种:基于写入数据的请求序列或时间序列等,将数据按顺序存储到相应的数据节点中,例如优先写入第一个数据节点,当第一个数据节点写满后,新的数据写入第二个数据节点;或者将数据按照属性进行拆分,拆分为多个分立的数值,分别存储到多个数据节点中。上述方案的缺点是:当读取多个数据时,通常需要从多个数据节点调取数据,增加了系统处理任务的工作量及过程的响应时间;为了保证系统的抗风险能力,通常为每个数据节点配置一个备用节点,然而当主节点与备用节点都发生异常时,例如放置主节点与备用节点的机房发生物理性灾难,仍可能导致数据丢失。需要说明的是,在上述
背景技术
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:本公开的目的在于提供一种基于分布式数据库的数据存储方法及系统、数据分配方法及装置、电子设备、计算机可读存储介质,进而至少在一定程度上克服由于现有技术的限制和缺陷而导致的分布式数据库存储数据的方法不利于数据读取的问题。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一个方面,提供一种数据存储方法,基于分布式数据库,所述分布式数据库包括代理层、第一数据层以及第二数据层;所述方法包括:所述代理层接收请求写入的目标数据,所述目标数据至少包含第一属性值与第二属性值;所述代理层根据所述第一属性值将所述目标数据分配至第一数据层中的第一目标数据节点,以及根据所述第二属性值将所述目标数据分配至第二数据层中的第二目标数据节点;所述第一目标数据节点与所述第二目标数据节点分别存储被分配的所述目标数据。在本公开的一种示例性实施例中,所述代理层根据所述第一属性值将所述目标数据分配至第一数据层中的第一目标数据节点,以及根据所述第二属性值将所述目标数据分配至第二数据层中的第二目标数据节点包括:所述代理层根据所述第一属性值对所述目标数据进行第一次分类,以及根据所述第二属性值对所述目标数据进行第二次分类;所述第一数据层根据所述第一次分类的结果,指定所述第一目标数据节点;所述第二数据层根据所述第二次分类的结果,指定所述第二目标数据节点;所述代理层将所述目标数据分配至所述第一目标数据节点及所述第二目标数据节点。在本公开的一种示例性实施例中,所述第一次分类与所述第二次分类包括哈希转发。在本公开的一种示例性实施例中,所述代理层至少包括一个主代理节点与一个备代理节点;其中,所述主代理节点用于周期性的向所述备代理节点发送状态表征信息;所述备代理节点用于当根据所述状态表征信息判断所述主代理节点异常时,取代所述主代理节点。在本公开的一种示例性实施例中,所述第一数据层与第二数据层分别包括多个数据节点,其中,每个数据节点至少包括一个主数据节点与一个从数据节点;所述主数据节点用于周期性的向所述从数据节点发送状态表征信息;所述从数据节点用于当根据所述状态表征信息判断所述主数据节点异常时,取代所述主数据节点。根据本公开的一个方面,提供一种基于分布式数据库的数据分配方法,包括:接收请求写入的目标数据,所述目标数据至少包含第一属性值与第二属性值;根据所述第一属性值,将所述目标数据分配至所述分布式数据库的第一数据层中的数据节点进行存储;根据所述第二属性值,将所述目标数据分配至所述分布式数据库的第二数据层中的数据节点进行存储。根据本公开的一个方面,提供一种基于分布式数据库的数据存储系统,包括:代理层,用于接收写入的目标数据,并根据所述目标数据的第一属性值进行第一次分配,以及根据所述目标数据的第二属性值进行第二次分配;第一数据层,用于根据所述第一次分配的结果,指定第一目标数据节点存储所述目标数据;第二数据层,用于根据所述第二次分配的结果,指定第二目标数据节点存储所述目标数据。根据本公开的一个方面,提供一种数据分配装置,应用于分布式数据库的代理层,该装置包括:目标数据接收模块,用于接收请求写入的目标数据,所述目标数据至少包含第一属性值与第二属性值;第一分配模块,用于根据所述第一属性值,将所述目标数据分配至所述分布式数据库的第一数据层中的数据节点进行存储;第二分配模块,用于根据所述第二属性值,将所述目标数据分配至所述分布式数据库的第二数据层中的数据节点进行存储。根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。本公开的示例性实施例具有以下有益效果:在上述方法、系统及装置中,分布式数据库的代理层在接收到外部请求写入目标数据的任务后,分别根据目标数据的第一属性值与第二属性值将其分配到第一目标数据节点与第二目标数据节点上进行存储。一方面,目标数据分别按照第一属性值与第二属性值在两个数据层上形成分布式存储,当外部请求数据读取时,可以根据具体的需求灵活选择从第一数据层或第二数据层中调取数据,从而可以减少数据读取请求所涉及的数据节点数量,降低系统处理数据读取任务的工作量,缩短该过程的响应时间。另一方面,在本实施例中,每个目标数据都分别存储于两个数据节点中,相当于增加了一次数据备份,当第一数据层中的数据节点发生灾难时,可以通过第二数据层对发生灾难的数据节点进行重建,当第二数据层中的数据节点发生灾难时,也可以通过第一数据层对发生灾难的数据节点进行重建,从而提高了系统的可靠性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示意性示出本公开示例性实施例中一种用于数据存储的系统架构图;图2示意性示出本公开示例性实施例中一种数据存储方法的流程图;图3示意性示出本公开示例性实施例中一种数据存储方法的子流程图;图4示意性示出本公开示例性实施例中一种数据分配装置的结构框图;图5示意性示出本公开示例性实施例中一种用于实现上述方法的电子设备;图6示意性示出本公开示例性实施例中一种用于实现方法的计算机可读存储介质。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的属性、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。需要说明的是,本公开中,用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”、“包含”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量、次序等的限制。在本公开的示例性实施例中,提供了一种基于分布式数据库的数据存储方法。其中,分布式数据库可以是hive、mongodb等常用的分布式数据库,也可以是采用分布式架构的influxdb、kairosdb等时序数据库。图1所示为本示例性实施例中用于数据存储的一种系统架构图,该系统100可以包括代理层101、第一数据层102以及第二数据层103。其中,代理层101至少包含一代理节点,可以将外部请求的读写数据任务转发或分配至第一数据层102与第二数据层103中,第一数据层102与第二数据层103中分别包含多个数据节点,可以用奇数与偶数分别编号加以识别,也可以通过其他方式区分,各数据节点可以根据代理层101的转发或分配结果对数据进行分布式的存储。应当理解,代理节点、第一数据层及第二数据层中的数据节点的数量不限于图1所示的情况,根据实际情况的需要可以设置任意数量的代理节点或数据节点。在一示例性实施例中,参考图2所示,所述数据存储方法可以包括以下步骤:步骤s210中,代理层接收请求写入的目标数据,目标数据至少包含第一属性值与第二属性值。目标数据通常是有实际意义的数据,可以是元组、包括多元组的数据列表等,在请求写入代理层时,可以转换为可被代理层识别的形式。目标数据的元组中至少包含两个属性值。如表1所示的投保记录数据即为一类目标数据,其中,每一行是一个元组,表1包含了5个元组,则代理层可以将该数据表拆分为5个分立的元组,以每个元组为目标数据,分别写入。如果行中有数值缺失,代理层可以将其识别为空值。“orderno.”、“time”、“location”、“applicant”、“type”这些代表数值意义的元数据即为属性,表1中的目标数据包含了五个属性值,则第一属性值与第二属性值可以是其中的任意两个。实际应用中数据的属性值数量与其类型有关,通常数据的属性中有一个是用于唯一性标识的主属性,此外数据只要再具备另一个有实际意义的属性值,即满足步骤s210中对于目标数据包含两个属性值的要求,因此本实施例的方法对于绝大多数的数据都可适用。orderno.timelocationapplicanttype1433020180308140003shenzhenjiacar1433320180308140006shenzhenyilife1433420180308140007shanghaibingproperty1433720180308140009shanghaidinglife1434220180308140012shenzhenwuproperty表1步骤s220中,代理层根据第一属性值将目标数据分配至第一数据层中的第一目标数据节点,以及根据第二属性值将目标数据分配至第二数据层中的第二目标数据节点。代理层在分布式数据库中通常具有路由的功能,数据层可以不与外部节点直接交互,由代理层将任务分配到各数据节点。分配规则通常是预设的分配逻辑,在本实施例中,分配规则可以包括两部分:在第一属性值与第一数据层中的数据节点之间建立映射关系,以及在第二属性值与第二数据层中的数据节点之间建立映射关系,从而可以根据两种映射关系将目标数据分配两次。例如将表1中的目标数据分配至图1所示的各数据节点中,第一数据层102可以对应于location属性,其中“location值=shenzhen”的目标数据分配至数据节点01,“location值=shanghai”的目标数据分配至数据节点03;第二数据层103可以对应于type属性,其中“type值=car”的目标数据分配至数据节点02,“type值=life”的目标数据分配至数据节点04,“type值=property”的目标数据分配至数据节点06。则分配结果如表2所示,其中每个目标数据都分配到了两个数据节点中,例如“14330”同时分配到了数据节点01与数据节点02中。表2步骤s230中,第一目标数据节点与第二目标数据节点分别存储被分配的目标数据。在确定第一目标数据节点与第二目标数据节点后,两个节点分别接收由代理层分配的目标数据,并进行存储,则目标数据可以分别存储于两个数据节点中。以表2中的分配结果为例,完成目标数据存储后,当外部请求读取数据时,可以根据实际情况灵活选择数据节点以调取目标数据,例如请求读取深圳市的投保记录数据,可以从数据节点01中调取“location值=shenzhen”的目标数据,请求读取财产险类型的投保记录数据,可以从数据节点06中调取“type值=property”的目标数据等,从而通过一个数据节点即可满足读取数据的请求,减少代理层与多个数据节点交互所导致的高工作量与长响应时间。此外,第一属性值与第二属性值的选取可以根据实际情况而不同,不限于表2所示的情况,例如对于表1而言,如果实际应用中较多的根据时间或投保人来检索数据,则第一属性值也可以选取time值,第二属性值也可以选取applicant值等。本实施例对此不做特别限定。基于两个数据层的设置,可以实现数据容灾。例如数据节点01发生灾难,致使其中的数据全部灭失时,代理层可以遍历第二数据层的所有数据节点,从中读取“location值=shenzhen”的数据,将其复制到灾后的数据节点01中,以帮助数据节点01重建;当数据节点06中的数据因为灾难而灭失时,代理层可以遍历第一数据层的所有数据节点,从中读取“type值=property”的数据,将其复制到灾后的数据节点06中以完成重建。在上述数据存储方法中,分布式数据库的代理层在接收到外部请求写入目标数据的任务后,分别根据目标数据的第一属性值与第二属性值将其分配到第一目标数据节点与第二目标数据节点上进行存储。一方面,目标数据分别按照第一属性值与第二属性值在两个数据层上形成分布式存储,当外部请求数据读取时,可以根据具体的需求灵活选择从第一数据层或第二数据层中调取数据,从而可以减少数据读取请求所涉及的数据节点数量,降低系统处理数据读取任务的工作量,缩短该过程的响应时间。另一方面,在本实施例中,每个目标数据都分别存储于两个数据节点中,相当于增加了一次数据备份,当一个数据层中的数据节点发生灾难时,可以通过另一数据层对发生灾难的数据节点进行重建,以实现数据节点的异地容灾,从而提高了系统的可靠性。在一示例性实施例中,当目标数据具备多个属性值时,还可以在分布式数据库中增设第三数据层,甚至第四、第五数据层等等,以满足实际应用中数据读取的多样化需求。通过增加数据节点,并在代理层中配置关于第三属性值、第四属性值等的分配规则以及与新增数据节点的映射关系,可以方便的实现数据层的增加与系统的扩容。在一示例性实施例中,步骤s220可以通过图3中的步骤s301至步骤s304实现:步骤s301中,代理层根据第一属性值对目标数据进行第一次分类,以及根据第二属性值对目标数据进行第二次分类;步骤s302中,第一数据层根据第一次分类的结果,指定第一目标数据节点;步骤s303中,第二数据层根据第二次分类的结果,指定第二目标数据节点;步骤s304中,代理层将目标数据分配至第一目标数据节点及第二目标数据节点。分类是指在属性值与数据节点之间建立多对一(或一对一)的映射关系,可以将属性值不完全相同但有共性的目标数据分配至同一数据节点中,以提高数据节点的利用率。在本实施例中,代理层负责对第一属性值与第二属性值进行分类,得到分类结果。而具体的分类结果对应于哪个数据节点,则由各数据节点对分类结果与自身的属性值集合进行匹配,其中,第一数据层中的一个数据节点将匹配第一次分类结果成功,可以宣告成为第一目标数据节点,第二数据层中的一个数据节点将匹配第二次分类结果成功,可以宣告成为第二目标数据节点。然后代理层可以分别以第一目标数据节点及第二目标数据节点为目的地,完成分配。在一示例性实施例中,第一次分类与第二次分类可以包括哈希转发。哈希转发是对第一属性值与第二属性值进行字段式分类的一种实现方式,其特点是输入空间远大于输出空间,是一类多对一的映射关系。在本实施例中,为了保证对目标数据的第一次分类与第二次分类结果不同,可以通过在第一次分类与第二次分类中使用不同的哈希算法进行转发,使两种哈希转发值有明显的区别(如数值的位数不同、进制不同等),例如第一哈希算法与第二哈希算法都采用平方取中法,但其中第一哈希算法取第7为与第9位数值,第二哈希算法取第6、第8与第10位数值,则两种哈希算法的输出结果有明显的差别。对第一次分类的哈希转发过程举例说明:代理层可以事先为第一数据层中的各数据节点分配不同的哈希转发值,则代理层接收如表1中的目标数据后,可以根据目标数据的“location”值,通过预设的第一哈希算法得到哈希转换结果,如果该哈希转换结果与为某一数据节点分配的哈希转发值相同,则将目标数据分配至该数据节点。或者,也可以在第一数据层中的各数据节点中事先配置第一哈希算法以及哈希转发值集合(不同数据节点的哈希转发值集合之间无交集),则代理层接收如表1中的目标数据后,可以将目标数据的“location”值通告给第一数据层中的所有数据节点,各数据节点根据第一哈希算法将该“location”值转换为哈希转换结果,并与自身的哈希转发值集合匹配,其中通常只有一个数据节点可以匹配成功,此时该数据节点宣告接收目标数据。关于第二数据层的哈希转发过程可以通过预设的第二哈希算法实现,与上述过程相似,此处不再赘述。为了提高系统的容灾能力,在一示例性实施例中,代理层可以至少包括一个主代理节点与一个备代理节点;其中,主代理节点用于周期性的向备代理节点发送状态表征信息;备代理节点用于当根据状态表征信息判断主代理节点状态异常时,取代主代理节点。状态表征信息用于表征主代理节点当前的状态是否正常,可以是心跳信息等周期性信息,也可以是异常警报信息等触发性信息。状态表征信息的交互可以是双向的,即备代理节点也可以周期性的向主代理节点发送表征自身状态的信息。此外,也可以将主代理节点中的目标数据分配规则、数据节点配置状态等信息周期性的备份于备代理节点,以便主代理节点异常时备代理节点可以顺利的切换。在其他实施例中,代理层还可以包括多个备代理节点,例如一代理层可以包括主代理节点、第一备代理节点与第二备代理节点,主代理节点可以向第一备代理节点发送自身的心跳,第一备代理节点可以向第二备代理节点发送自身的心跳,第二备代理节点可以向主代理节点发送自身的心跳,从而实现在所有的代理节点中互通状态信息,当主代理节点异常时,可以设定优先将第一备代理节点升级为主代理节点。对于备代理节点的具体数量、顺序及状态表征信息的交互方式等,本实施例不做特别限定。在一示例性实施例中,第一数据层与第二数据层可以分别包括多个数据节点,其中,每个数据节点至少包括一个主数据节点与一个从数据节点;主数据节点用于周期性的向从数据节点发送状态表征信息;从数据节点用于当根据状态表征信息判断主数据节点异常时,取代主数据节点。在本实施例中,状态表征信息用于表征主数据节点当前的状态是否正常,可以是心跳信息等周期性信息,也可以是异常警报信息等触发性信息。一个主数据节点也可以配置多个从数据节点。各从数据节点可以周期性的复制主数据节点中的数据存储,以实现备份。通过数据节点的主/从配置结构,增加了数据层的容灾能力。此外,在数据节点采用主/从配置结构的系统中,可以将数据的读/写分离,即可以将数据写入主数据节点,而读取从数据节点中的数据,以降低数据节点的访问压力。在本公开的示例性实施例中,还提供了一种数据分配方法,可以应用于分布式数据库的代理层,例如图1中所示的代理层101。该数据分配方法可以包括以下步骤:接收请求写入的目标数据,目标数据至少包含第一属性值与第二属性值;根据第一属性值,将目标数据分配至分布式数据库的第一数据层中的数据节点进行存储;根据第二属性值,将目标数据分配至分布式数据库的第二数据层中的数据节点进行存储。可以在代理层预设分配规则,分配规则可以包括:第一属性值与第二属性值具体是哪种属性,第一属性值的转发规则,第二属性值的转发规则等。基于分配规则,代理层可以实现上述分配方法。其中两次分配不区分先后次序,并且也可以同时进行。在本公开的示例性实施例中,还提供了一种基于分布式数据库的数据存储系统,参考图1所示,该数据存储系统100可以包括:代理层101,用于接收写入的目标数据,并根据目标数据的第一属性值进行第一次分配,以及根据目标数据的第二属性值进行第二次分配;第一数据层102,用于根据第一次分配的结果,指定第一目标数据节点存储目标数据;第二数据层103,用于根据第二次分配的结果,指定第二目标数据节点存储目标数据。需要说明的是,代理层在配置第一数据层与第二数据层的数据节点信息时,通常需要对数据节点进行唯一性标识,为了区分第一数据层与第二数据层中的数据节点,可以将形式不同的唯一性标识分别分配至两个数据层中的数据节点,例如用数字标识第一数据层的数据节点(01、02、03等),用字母标识第二数据层的数据节点(aa、ab、ac等);也可以使用相同形式的唯一性标识并通过特定规则加以区分,例如图1中奇数编号代表第一数据层的数据节点,偶数编号代表第二数据层的数据节点等。本实施例对此不做特别限定。此外,由于目标数据同时存储于第一数据层的数据节点与第二数据层的数据节点中,当读取目标数据时,可以按照以下规则决定从哪个数据层的数据节点检索并调取目标数据:当读取命令的索引关键词与第一属性值相关时,可以在第一数据层中检索相应的数据节点,并调取目标数据;当读取命令的索引关键词与第二属性值相关时,可以在第二数据层中检索相应的数据节点,并调取目标数据;当读取命令的索引关键词与两个属性值都不相关时,可以预设优先从第一数据层调取目标数据,也可以预设优先从第二数据层调取目标数据;当读取命令的索引关键词与两个属性值同时相关时,可以根据相关顺序或相关程度决定,也可以预设优先从第一数据层或第二数据层调取目标数据。在本公开的示例性实施例中,还提供了一种数据分配装置,可以应用于图1所示系统的代理层101。如图4所示,该数据分配系统400可以包括:目标数据接收模块410,用于接收请求写入的目标数据,目标数据至少包含第一属性值与第二属性值;第一分配模块420,用于根据第一属性值,将目标数据分配至分布式数据库的第一数据层中的数据节点进行存储;第二分配模块430,用于根据第二属性值,将目标数据分配至分布式数据库的第二数据层中的数据节点进行存储。各模块的具体细节在方法部分的实施例中已经详细说明,因此不再赘述。本公开的示例性实施例还提供了一种能够实现上述方法的电子设备。所属
技术领域
的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。下面参照图5来描述根据本公开的这种示例性实施例的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540。其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图2中所示的步骤:步骤s210,代理层接收请求写入的目标数据,目标数据至少包含第一属性值与第二属性值;步骤s220,代理层根据第一属性值将目标数据分配至第一数据层中的第一目标数据节点,以及根据第二属性值将目标数据分配至第二数据层中的第二目标数据节点;步骤s230,第一目标数据节点与第二目标数据节点分别存储被分配的目标数据。存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(rom)523。存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施例的方法。本公开的示例性实施例还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。参考图6所示,描述了根据本公开的示例性实施例的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施例,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1