数据处理方法及装置、设备和介质与流程

文档序号:29123679发布日期:2022-03-04 23:09阅读:78来源:国知局
数据处理方法及装置、设备和介质与流程

1.本公开涉及计算机技术领域,尤其涉及数据处理领域,具体涉及一种数据处理的方法、装置、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.数据处理系统中包括缓存和数据库,并且数据处理系统可能分布在不同的机房中,每个机房对应不同的缓存,与相同的数据库相连。当数据流量较大时,数据库的性能将受到影响。
3.在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。


技术实现要素:

4.本公开提供了一种数据处理的方法、装置、电子设备、计算机可读存储介质和计算机程序产品。
5.根据本公开的一方面,提供了一种数据处理方法,包括:响应于接收到目标数据的写请求,将所述目标数据存储至缓存,并且将所述目标数据存储至消息队列;从所述消息队列中读取所述目标数据;将从所述消息队列中所读取的所述目标数据写入数据库;以及响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据。
6.根据本公开的另一方面,提供了一种数据处理装置,包括:缓存,被配置用于存储数据;数据库,被配置用于存储数据;消息队列,被配置用于存储数据;存储单元,被配置用于响应于接收到目标数据的写请求,将目标数据存储至所述缓存;生产者,被配置用于响应于接收到目标数据的写请求,将所述目标数据存储至消息队列;消费者,被配置用于从所述消息队列中读取所述目标数据;写入单元,被配置用于将从所述消息队列中所读取的所述目标数据写入数据库;以及查询单元,被配置用于响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据。
7.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据处理方法。
8.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述数据处理方法。
9.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现上述数据处理方法
10.根据本公开的一个或多个实施例,可以提高数据处理系统的稳定性。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
13.图1示出了根据本公开示例性实施例的数据处理方法的流程图;
14.图2示出了根据本公开示例性实施例的数据处理方法的流程图;
15.图3示出了根据本公开示例性实施例的数据处理装置的结构框图;
16.图4示出了根据本公开示例性实施例的数据处理过程的示意图;
17.图5示出了根据本公开实施例的电子设备的框图。
具体实施方式
18.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
19.在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
20.在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
21.相关技术中,数据处理的实现方式是保证数据库高可用,在整个数据处理流程中将数据同步到数据库。这种实现方式的缺点是当数据流量较大时,频繁的读写操作将使数据库的性能变差,当数据库不可用时将阻塞整个数据处理流程,同时增加了数据库的维护成本。
22.为解决上述问题,本公开提供了一种数据处理方法,通过将目标数据同步写入缓存,并引入消息队列解耦数据库的写库操作,将目标数据异步写入数据库。所述方法通过引入缓存同步写入目标数据,以及引入消息队列解耦数据库的写库操作,从而能够减轻高峰数据流量对数据库的压力,提高数据处理的性能,同时降低了数据处理系统对各组件的依赖,在缓存、消息队列和数据库中任意一个组件不可用时仍能够正常执行数据处理,提高了系统的稳定性。
23.本公开的数据处理方法例如可以但不限于应用与订单处理系统,通过采用本公开实施例中的方法整个下单订单状态流转和数据同步写入缓存,并通过消息队列异步写库,从而能够减轻数据库的压力,减轻下单流程对各组件的依赖,在下单高峰流量期即使缓存、消息队列和数据库中任意一个组件不可用也能下单成功,提高订单处理系统的稳定性。
24.以下将结合附图,详细描述本公开的实施例。
25.图1示出了根据本公开示例性实施例的数据处理方法的流程图。如图1所示,所述数据处理方法包括:步骤s101、响应于接收到目标数据的写请求,将所述目标数据存储至缓存,并且将所述目标数据存储至消息队列;步骤s102、从所述消息队列中读取所述目标数据;步骤s103、将从所述消息队列中所读取的所述目标数据写入数据库;以及步骤s104、响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据。
26.由此,通过将目标数据同步写入缓存,并引入消息队列解耦数据库的写库操作,将目标数据异步写入数据库,从而能够降低数据处理系统对各组件的依赖,当数据流量较大时,只要数据成功写入缓存、消息队列和数据库中的至少任意一者,都能够保证正常执行数据处理,进而能够减轻数据库的压力,提高数据处理的性能。
27.在一个示例中,从所述缓存和/或数据库中读取所述目标数据可以是将缓存中的目标数据和数据库中的目标数据作比对,将最新状态的目标数据作为查询结果。当从数据库中未能读取到所述目标数据时,则将缓存中的目标数据作为查询结果。由此能够实现对目标数据的查询,减轻大的数据流量对数据库的压力,从而提高数据处理的性能。
28.示例性的,所述缓存可以是redis集群式的分布式缓存,但不限于此,例如,还可以是mongodb、couchdb等非关系型数据库。所述消息队列可以是rabbitmq消息队列,所述数据库可以是mysql关系型数据库,但不限于此,只要能实现上文所描述的功能,对缓存、消息队列、数据库的具体实现形式不作限制。
29.根据一些实施例,所述消息队列包括延迟队列和具有相应目标消费者的目标队列,所述目标数据被存储至所述目标队列,所述目标消费者被配置用于自动从所述目标队列中读取所述目标数据。在这种情况下,消息队列存储所述目标数据可包括:响应于从所述目标队列中所读取的所述目标数据写入数据库失败,将所述目标数据发送至所述延迟队列;以及响应于满足第一预设条件,将所述延迟队列中的所述目标数据再次发送至所述目标队列。
30.由此,通过在自动从目标队列所读取的目标数据写入数据库失败时,将目标数据先写入延迟队列,以等待重试写库,从而能够避免目标数据丢失,保护数据完整性,能够充分满足实际应用场景的需求。
31.在一些实施例中,可以每间隔一段时长将延迟队列中的目标数据再次发送至所述目标队列,等待被目标消费者自动消费,以重试写库。
32.相应地,根据一些实施例,所述消息队列存储所述目标数据包括:响应于每次所述目标数据写入数据库失败,记录所述目标数据被发送至所述延迟队列相应的起始时间,其中,所述第一预设条件包括:当前时间和所述起始时间之间的时间间隔达到预设时长。
33.所述第一预设条件相当于是延迟队列中的目标数据的等待时间达到预设阈值,该第一预设条件可以根据实际应用场景的需求灵活调整,从而提高数据处理的性能。示例性地,可以设置数据重试写库的次数的阈值,能够避免无线循环重试将目标数据写入数据库,增加数据库的压力。
34.基于此,根据一些实施例,所述消息队列包括死信队列,所述死信队列中的数据不会被自动消费,并且其中,所述消息队列存储所述目标数据包括:响应于所述目标数据被从所述目标队列发送至延迟队列的累计次数达到阈值,将所述目标数据发送至所述死信队
列。由此,能够在目标数据多次写入数据库失败时将其暂存至死信队列,在避免目标数据丢失的同时减轻了数据流量高峰期时对数据库的压力,从而提高数据处理的性能。
35.进一步地,根据一些实施例,所述步骤s102中从所述消息队列中读取所述目标数据包括:响应于满足第二预设条件,触发死信消费者从所述死信队列中读取所述目标数据;并且所述步骤s103中将从所述消息队列中所读取的所述目标数据写入数据库包括:将从所述死信队列中所读取的所述目标数据写入数据库。由此,能够有效避免数据丢失,充分保护数据完整性。
36.根据一些实施例,所述第二预设条件包括所述数据库为可写入数据状态。所述可写入数据状态可以是对应数据库在极端场景下的不可用故障状态与恢复状态,由此,能够有效避免数据丢失,充分保护数据完整性。
37.可以理解的,所述第二预设条件不局限此,例如,所述第二预设条件可以包括目标数据流量小于一定阈值,由此,能够平衡数据流量高峰期与低谷期间的数据处理操作,充分利用数据库读写的硬件性能,提高数据处理的性能。
38.示例性的,响应于满足第二预设条件,可以手动触发死信消费者从所述死信队列中读取所述目标数据。
39.根据一些实施例,所述数据处理方法还包括:响应于所述目标数据存储至所述消息队列失败,直接将所述目标数据写入所述数据库。由此,能够在消息队列不可用时将目标数据同步写入数据库,降低了数据处理系统对消息队列的依赖,提高了系统的稳定性。
40.根据一些实施例,所述响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据包括:响应于所述目标数据存储至缓存失败,从所述数据库中读取所述目标数据。由此,能够在缓存不可用时直接穿透查询数据库,降低了数据处理系统对缓存的依赖,提高了系统的稳定性。
41.根据一些实施例,所述响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据包括:响应于从所述数据库中未读取到所述目标数据,从所述缓存中读取所述目标数据。由此,能够在数据库不可用时利用缓存实现查询,降低了数据处理系统对数据库的依赖,提高了系统的稳定性。同时,还能够避免多次尝试查询数据库,减轻对数据库的压力。
42.根据一些实施例,所述缓存包括多个子缓存,并且所述步骤s101中将目标数据存储至缓存包括:将所述目标数据存储至每一子缓存。由此,当任一子缓存不可用时,能够从其它子缓存中查询数据,尤其在数据库不可用的情况下,能够避免影响数据查询的性能,进一步降低对子缓存的依赖,从而能够提高系统的性能和稳定性。
43.根据一些实施例,所述目标数据包括数据状态,并且所述步骤s104中响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据包括:响应于从所述缓存和数据库中均读取到与所述查询请求相应的目标数据,基于目标数据的数据状态,将从所述缓存和数据库中所读取到的目标数据中具有最新数据状态的目标数据确定为查询结果。由此,能够将具有最新数据状态的目标数据作为查询结果,保证了查询结果的准确性。
44.根据一些实施例,当目标数据为订单数据时,数据处理系统可以是订单处理系统,相应实现对订单数据的处理。在消费高峰期时减轻对订单数据库的压力,由此,能够充分满足实际应用场景的需求。示例性的,订单数据的数据状态可以包括订单状态,如,待支付状
态、已支付状态、已取消订单状态等等。
45.根据一些实施例,在目标数据为订单数据的情况下,所述目标数据包括目标订单状态,并且所述方法还包括:在将所述目标数据写入数据库之前,获取所述缓存和/或数据库中与目标数据相关的最新订单状态,其中,将所述目标数据写入数据库为响应于所述最新订单状态为所述目标订单状态的前置状态来执行的。由此,能够通过校核预设的订单状态流转条件,来保证写入数据库的目标数据的正确性,避免将订单状态不正确的数据写入数据库,保证了数据的正确性和完整性,从而能够充分满足实际应用场景的需求。
46.根据一些实施例,在目标数据为订单数据,所述目标数据包括目标订单状态,所述消息队列包括延迟队列的情况下,所述数据处理方法还包括:响应于所述最新订单状态不为所述目标订单状态的前置状态,将所述目标数据发送至所述延迟队列。由此,通过将订单状态不正确的数据暂存至延迟队列,以等待重试写库,能够保证数据的正确性和完整性,从而能够充分满足实际应用场景的需求。
47.在一个示例中,目标订单状态可以用于表示该订单相应的支付状态,可以为待支付状态、已支付状态或已取消订单状态等。所述将所述目标数据写入数据库为响应于所述最新订单状态为所述目标订单状态的前置状态来执行的,可以是基于预设的订单状态流转条件来执行写库操作。例如,当目标订单状态为已支付状态,则只有当所述缓存和/或数据库中与目标数据相关的最新订单状态为待支付状态时,才能执行对该目标数据的写库操作,当所述最新订单状态为订单取消状态时,则不可执行相应的写库操作。由此,能够通过校核预设的订单状态流转条件,来保证写入数据库的目标数据的正确性,充分满足实际应用场景的需求。
48.根据一些实施例,在目标数据为订单数据的情况下,所述数据状态包括订单状态,并且所述步骤s104中响应于接收到查询请求,从所述缓存和/或数据库中读取所述目标数据包括:响应于从所述缓存和数据库中均读取到与所述查询请求相应的订单数据,基于订单数据的订单状态,将从所述缓存和数据库中所读取到的订单数据中具有最新订单状态的订单数据确定为查询结果。由此,能够将具有最新订单状态的订单数据作为查询结果,保证了订单查询结果的准确性。
49.图2示出了根据本公开示例性实施例的数据处理方法的流程图。
50.如图2所示,所述数据处理方法包括:
51.步骤s201、响应于接收到目标数据的写请求,将所述目标数据存储至缓存,并且将所述目标数据存储至消息队列中的目标队列,其中,所述消息队列还包括延迟队列和死信队列;
52.步骤s202、目标消费者自动从所述目标队列中读取所述目标数据;
53.将从所述目标队列中所读取的所述目标数据写入数据库,并判断目标数据是否成功存储至数据库;
54.响应于所述目标数据存储至数据库成功,结束。
55.响应于所述目标数据存储至数据库不成功,判断将所述目标数据从目标队列发送至延迟队列的次数是否达到阈值;
56.响应于将所述目标数据从目标队列发送至延迟队列的次数未达到阈值,执行步骤s203、将目标数据发送至延迟队列;
57.响应于满足第一预设条件(例如目标数据发送至延迟队列之后持续的时长达到预设值),执行步骤s204、将延迟队列中的目标数据再次发送至目标队列,以等待再次被目标消费者自动读取;
58.响应于将所述目标数据从目标队列发送至延迟队列的次数达到阈值,执行步骤s205,将目标数据发送至死信队列;
59.响应于满足第二预设条件(例如数据库恢复可写入),执行步骤s206、手动触发死信消费者从死信队列中读取目标数据,然后执行步骤s207、将从死信队列中所读取的目标数据写入数据库。
60.根据本公开的另一方面,还提供一种数据处理装置。图3示出了根据本公开示例性实施例的数据处理装置的结构框图,如图3所示,所述数据处理装置300包括:缓存301,被配置用于存储数据;数据库302,被配置用于存储数据;消息队列303,被配置用于存储数据;存储单元304,被配置用于响应于接收到目标数据的写请求,将目标数据存储至缓存301;生产者305,被配置用于响应于接收到目标数据的写请求,将所述目标数据存储至消息队列303;消费者306,被配置用于从消息队列303中读取所述目标数据;写入单元307,被配置用于将从消息队列303中所读取的所述目标数据写入数据库302;以及查询单元308,被配置用于响应于接收到查询请求,从缓存301和/或数据库302中读取所述目标数据。由此,通过将目标数据同步写入缓存,并引入消息队列解耦数据库的写库操作,将目标数据异步写入数据库,能够降低数据处理系统对各组件的依赖,当数据流量较大时,只要数据成功写入缓存、消息队列和数据库中的至少任意一者,都能够保证正常执行数据处理,从而能够减轻数据库的压力,提高数据处理的性能。
61.根据一些实施例,所述消费者306包括目标消费者,所述消息队列303包括延迟队列和具有相应目标消费者的目标队列,所述生产者305被配置用于将所述目标数据存储至所述目标队列,所述目标消费者被配置用于自动从所述目标队列中读取所述目标数据,所述写入单元被配置用于将从所述目标队列中所读取的目标数据写入数据库,并且其中所述消息队列303还包括:第一发送单元,被配置用于响应于所述目标数据写入数据库失败,将所述目标数据发送至所述延迟队列;以及第二发送单元,被配置用于响应于满足第一预设条件,将所述延迟队列中的所述目标数据再次发送至所述目标队列。所述第一预设条件的具体内容与前文所描述的一致,在此不再赘述。由此,能够在目标数据写入数据库失败时重新尝试将目标数据写入数据库,避免目标数据丢失,保护数据完整性,从而能够充分满足实际应用场景的需求。
62.根据一些实施例,所述消息队列304包括死信队列,所述死信队列中的数据不会被自动消费,并且其中所述消息队列304还包括:第三发送单元,被配置用于响应于所述目标数据被从所述目标队列发送至延迟队列的累计次数达到阈值,将所述目标数据发送至所述死信队列。由此,能够在目标数据多次写入数据库失败时将其暂存,在避免目标数据丢失的同时减轻了数据流量高峰期时对数据库的压力,从而提高数据处理的性能。
63.根据一些实施例,所述消费者306还包括:死信消费者,被配置用于被触发从所述死信队列中读取所述目标数据,其中,所述写入单元307还被配置用于将从所述死信队列中所读取的所述目标数据写入数据库。由此,能够有效避免数据丢失,充分保护数据完整性。
64.图4示出了根据本公开示例性实施例的数据处理过程的示意图,其中,箭头示出了
信号流的方向。根据图4所示的操作请求和/或目标数据在各模块间的流动方向,数据处理过程可以包括以下步骤:步骤s11、响应于接收到目标数据的写请求,目标数据被同步存储至缓存301,生产者305将所述目标数据存储至消息队列303中的目标队列,所述消息队列303包括目标队列、延迟队列和死信队列;步骤s12、目标消费者自动从所述目标队列中读取所述目标数据,所述目标数据被写入数据库302;步骤s13、将目标数据写入数据库。步骤s14、响应于目标数据存储至数据库不成功,所述目标数据被发送至延迟队列;步骤s15、响应于满足第一预设条件,所述第一预设条件例如可以是当前时间和所述目标数据被发送至所述延迟队列的起始时间之间的时间间隔达到预设时长,将所述延迟队列中的所述目标数据再次发送至所述目标队列,等待被目标消费者再次读取以写入数据库302;步骤s16、若目标数据多次写入数据库不成功,则响应于所述目标数据被从所述目标队列发送至延迟队列的累计次数达到阈值,将所述目标数据发送至所述死信队列;步骤s17、响应于满足第二预设条件,通过手动触发死信消费者从所述死信队列中读取所述目标数据,并将所述目标数据写入数据库302;以及步骤s18、响应于目标数据存储至消息队列不成功,直接将目标数据写入数据库。由此,只要数据成功写入缓存、消息队列和数据库中的至少任意一者,都能够保证正常执行数据处理,都能够保证正常执行数据处理,从而提高数据处理系统的性能和稳定性。
65.该数据处理过程还包括:步骤s19、响应于接收到查询请求,从缓存301和数据库302中读取所述目标数据,比对缓存301和数据库302中的目标数据,取最新数据状态的目标数据作为查询结果。
66.根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的数据处理方法。
67.根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的数据处理方法。
68.根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序再被处理器执行时实现上述的数据处理方法。
69.参见图5,现将描述可以作为本公开的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备可以是不同类型的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
70.图5示出了根据本公开实施例的电子设备的框图。如图5所示,电子设备500可以包括能够通过系统总线503彼此通信的至少一个处理器501、工作存储器502、i/o设备504、显示设备505、存储装置506和通信接口507。
71.处理器501可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器501可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信
号的任何设备。处理器501可以被配置成获取并且执行存储在工作存储器502、存储装置506或者其他计算机可读介质中的计算机可读指令,诸如操作系统502a的程序代码、应用程序502b的程序代码等。
72.工作存储器502和存储装置506是用于存储指令的计算机可读存储介质的示例,指令由处理器501执行来实施前面所描述的各种功能。工作存储器502可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。此外,存储装置506可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。工作存储器502和存储装置506在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器501作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
73.i/o设备504可以包括输入设备和/或输出设备,输入设备可以是能向电子设备500输入信息的任何类型的设备,可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出设备可以是能呈现信息的任何类型的设备,并且可以包括但不限于包括视频/音频输出终端、振动器和/或打印机。
74.通信接口507允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙tm设备、802.11设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
75.工作寄存器502中的应用程序502b可以被加载执行上文所描述的各个方法和处理,例如图1中的步骤s101-步骤s104。在一些实施例中,计算机程序的部分或者全部可以经由存储装置506和/或通信接口507而被载入和/或安装到电子设备500上。当计算机程序被加载并由处理器501执行时,可以执行上文描述的数据处理方法的一个或多个步骤。
76.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
77.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
78.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
79.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示设备(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
80.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
81.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
82.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
83.虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1