一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

模拟服务的调用方法、装置、存储介质及电子设备与流程

2022-09-15 05:15:07 来源:中国专利 TAG:


1.本公开总体上涉及计算机技术领域,更具体地涉及一种模拟服务的调用方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备。


背景技术:

2.本部分旨在介绍本领域的一些方面,其可以与下面描述的和/或要求保护的本公开的各个方面相关。相信本部分有助于提供背景信息以便于更好地理解本公开的各个方面。因此,应该理解的是这些陈述应该从这个角度来理解,而不是作为对现有技术的承认。
3.微服务架构是指在传统软件应用架构的基础上,将系统业务按照功能拆分为更加细粒度的服务,所拆分的每一个服务可以是一个独立的应用,这些应用对外提供公共的应用程序编程接口(application programming interface,简称:api),可以独立承担对外服务的职责。通过此种方式所开发的软件服务就是“微服务”,而围绕微服务所构建的一系列体系结构(例如包括开发、测试、部署等)称之为“微服务架构”。
4.微服务架构以其独有的优势日益盛行。但是,随着服务数量的急剧增长,测试环境管理快速成为了一个巨大的挑战。考虑到成本问题,为每一个被测服务搭建一个单独的完整测试环境会造成巨大资源浪费。


技术实现要素:

5.本公开的目的在于提供一种模拟服务的调用方法、装置、计算机程序产品、非暂时性计算机可读存储介质及电子设备,以支持并行开发。
6.根据本公开的第一方面,提供一种模拟服务的调用方法,所述调用方法由预设服务执行,所述调用方法包括:步骤10:获取模拟服务的标识信息和规则信息,其中,所述模拟服务的规则信息包括针对所述模拟服务的请求内容以及对应的响应内容;步骤30:根据针对所述模拟服务的请求以及所述规则信息,确定所述模拟服务的响应内容。
7.根据本公开的第二方面,提供了一种模拟服务的调用装置,所述调用装置部署有预设服务,所述调用装置包括:获取模块,其配置为获取模拟服务的标识信息和规则信息,其中,所述模拟服务的规则信息包括针对所述模拟服务的请求内容以及对应的响应内容;确定模块,其配置为根据针对所述模拟服务的请求以及所述规则信息,确定所述模拟服务的响应内容。
8.根据本公开的第三方面,提供了一种计算机程序产品,包括程序代码指令,当所述程序产品由计算机执行时,所述程序代码指令使所述计算机执行根据本公开的第一方面所述的方法。
9.根据本公开的第四方面,提供了一种存储有计算机指令的非暂时性计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开的第一方面所述的方法。
10.根据本公开的第五方面,提供了一种电子设备,包括:处理器,与所述处理器进行电子通信的存储器;以及指令,所述指令存储在所述存储器中并且可由所述处理器执行以
使所述电子设备执行根据本公开的第一方面所述的方法。
11.根据本公开提供的各个实施例,可以通过多人共享的统一的模拟服务,实现支持多人并行开发的目的。
12.应当理解,本部分所描述的内容并不旨在标识所要求保护的发明内容的关键或必要特征,也不旨在单独地用于确定所要求保护的发明内容的范围。
附图说明
13.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
14.图1示出了根据本公开的微服务架构的一个示例
15.图2示出了可以应用根据本公开实施例的模拟服务的调用方法的一个示例场景的示意图。
16.图3出了可以应用根据本公开实施例的模拟服务的调用方法的另一个示例场景的示意图。
17.图4示出了根据本公开的实施例的模拟服务的调用方法的流程示意图。
18.图5示出了根据本公开的实施例的模拟服务的调用方法的流程示意图。
19.图6示出了根据本公开的实施例的模拟服务的调用装置的示例性框图。
20.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。
21.具体实现方式
22.下文将参考附图更全面地描述本公开。然而,本公开可以以多种替代形式来体现,并且不应被解释为限于本文描述的实施例。因此,尽管本公开易于进行各种修改和替代形式,但是其具体实施例在附图中以示例的方式示出,并将在本文详细描述。然而,应当理解,这种方式并不旨在将本公开限制于所公开的特定形式,相反,本公开覆盖了落入由权利要求所限定的本公开的精神和范围内的所有修改方案、等同方案和替代方案。
23.应当理解,尽管本文可以用术语第一、第二等描述各种元素,但是这些元素不应该被这些术语所限制。这些术语仅用于区分一个元素和另一个元素。例如,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素,而不脱离本公开的教导。
24.本文结合框图和/或流程图描述了一些示例,其中每个框表示包括用于实现指定逻辑功能的一个或多个可执行指令的电路元件、模分块或代码的部分。还应该注意的是,在其他实现方式中,框中所述的功能可以不按所述的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以实质上同时执行,或者这些框有时可以以相反的顺序执行。
25.本文提到的“根据...示例”或“在..示例中”意味着结合示例描述的特定特征、结构或特性可以被包括在本公开的至少一个实现方式中。本文中不同地方出现的短语“根据...示例”或“在...示例中”不一定都指同一示例,也不一定是与其他示例相互排斥的单独或替代示例。
26.微服务是一些协同工作的小而自治的服务,这种服务具有高凝聚力和松散耦合
的。当一体化的应用程序达到了其可扩展性和可维护性的极限,它们就会被分解为多个独立的部件或服务。根据微服务的颗粒度(又称业务边界)可以将业务划分为多个微服务。
27.图1示出了根据本公开的微服务架构的一个示例。在图1示出的场景中,需要提供的业务为在终端设备101上显示商品的价格、库存、评价等信息。如图1所示,可以将该业务分成商品详情服务、库存服务和评价服务三个微服务。商品详情服务用于聚合在终端设备101上显示的所有信息。库存服务用于维护商品的库存信息和价格信息。评价服务用于维护用户对商品的评价。微服务的目的是为了基于松散耦合、高凝聚力将业务拆分为多个微服务,然后将每个微服务进行单独部署(例如,可以部署到物理机或虚拟机或容器)。为了描述之方便,在本文中,“服务”、“微服务”可以互换使用。
28.服务调用即一个服务调用另一个服务,此过程可以分为服务调用者、服务提供者。服务调用者可以根据服务提供者的地址进行服务访问。服务提供者的地址可以包括ip地址、服务端口、路径名等要素。ip地址和服务端口提供了在互联网上找到部署有目标服务(即服务提供者所提供的服务)的服务器的凭证,路径名提供了在该服务器上找到目标服务的凭证。服务实例是指服务对应的ip地址和端口,当访问服务时,可以先寻址知道该服务每个运行实例的ip地址和端口,然后建立连接进行访问。通常而言,服务调用过程会使用注册中心作为中间件。服务注册即某个服务实例宣称自己提供了哪些服务,也即某个ip地址和端口提供了哪些服务接口。服务发现即服务调用者通过特定方式找到服务提供者,也即知道目标服务运行的ip地址和端口。这里的路径名可以是超文本传输协议(hyper text transfer protocol,http)统一资源定位符(uniform resource locator,url)中的{path}字段。
29.远程过程调用(remote procedure call,rpc)是指服务器a上的进程/服务,调用另外一台服务器b上的进程/服务,其中a上的调用进程/服务被挂起,而b上的被调用进程/服务开始执行,当值返回给a时,a进程继续执行。服务调用者可以通过使用参数将信息传送给服务提供者,而后可以通过传回的结果得到数据。远程过程调用的原理为:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型);在服务端(server)实现这个接口,并运行一个rpc服务器来处理客户端(client)调用;在客户端拥有一个存根能够像服务端一样的方法。在远程过程调用中,所定义的服务(即下文中“服务 方法”中的“服务”)可以类比与上文所描述的ip地址、服务端口,指定的被远程调用的方法(即下文中“服务 方法”中的“方法”)可以类比于上文所描述的路径名。
30.需要说明的是,根据本公开的模拟服务的调用方法既适用于基于ip地址、服务端口、路径名等要素的服务调用,也适用于基于“服务 方法”的服务调用。
31.模拟服务(mock)指的是一种测试过程中的服务或工具。在测试过程中,对于一些不容易构造/获取的对象,可以通过创建一个mock来模拟其行为,达到解除测试依赖,提升测试稳定性等目的。例如,现有服务c和服务d两个服务,服务c需要调用服务d才能完成业务需求,而服务d可能还没有开发完成或者服务d的某些场景很难去构造(例如超时、未知错误等),此时可以用一个虚拟的对象(即本公开中的模拟服务)来替代服务d。模拟服务的实现方式包括但不限于业务自研的模拟服务、mock-js、mitm-proxy等。
32.通过模拟服务可以解决测试环境中特定服务缺失的问题,但全局得到的模拟服务的响应结果是同一份数据,无法支持多人并行开发时对模拟服务的不同需求。鉴于此,本公
开提出了一种模拟服务的调用方法以通过多人共享的统一的模拟服务,实现支持多人并行开发的目的。
33.图2示出了可以应用根据本公开实施例的模拟服务的调用方法的一个示例场景的示意图。如图2所示,通过先调用服务1,再由服务1调用服务3,用户可以得到服务3的响应数据。现在,用户a需要得到服务3 功能1(可以表示为服务3-1)的响应数据,用户b需要得到服务3 功能2(可以表示为服务3-2)的响应数据。由于在目前的测试环境中,尚未开发出服务3-1和服务3-2。为了支持用户a和用户b的业务开发需求,可以从数据库中获取模拟服务3-1和模拟服务3-2的标识信息和规则信息。模拟服务3-1和模拟服务3-2的标识信息可以包括上文中所描述的“服务 方法”中的“服务”。为了支持多人并行开发,在该示例中,模拟服务3-1的标识信息还包括标记用户a的标识符,模拟服务3-2的标识信息还包括标记用户b的标识符。在一些示例中,这里的标识符可以为流量/用户的染色标签。流量染色是指根据流量协议,设置对应的流量染色规则,对指定的流量进行染色标签,并在整个调用链中携带该标记,可以实现对特定流量的跟踪和路由。例如,用户a的染色标签为“red”,用户b的染色标签为“blue”。
34.在该示例中,模拟服务3-1的规则信息包括针对模拟服务3-1的请求内容以及对应的响应内容,也即对于模拟服务3-1,针对何种具体的请求返回何种预设的内容。举例而言,若模拟服务3-1是对图1中“评价服务”的模拟,则模拟服务3-1的规则信息包括:针对商品评价的请求返回“1、很好2、还可以”的数据内容。同理,模拟服务3-2的规则信息包括针对模拟服务3-2的请求内容以及对应的响应内容,也即对于模拟服务3-2,针对何种具体的请求返回何种预设的内容。在该示例中,模拟服务的规则信息可以被配置为根据用户的标识符进行标记。例如模拟服务3-1的规则信息可以用用户a的标识符进行标记,模拟服务3-2的规则信息可以用用户b的标识符进行标记。在一些示例中,这里的标识符可以为流量/用户的染色标签。
35.需要说明的是,本公开中的模拟服务的标识信息和规则信息可以为用户配置的信息。如图2所示,在用户配置好各类信息后,可以将该类信息入库到数据库(例如mysql)。
36.继续参考图2,预设服务用于提供统一的模拟服务,根据本公开实施例的模拟服务的调用方法可以由预设服务执行。需要说明的是,预设服务与本文所描述的微服务或服务属于同一类型,因此,针对预设服务的调用过程与针对微服务或服务的调用过程类似。预设服务可以将模拟服务3-1和模拟服务3-2的标识信息注册到注册中心以将针对模拟服务3-1和模拟服务3-2的服务发现路由至预设服务实例。用户a可以向服务1发起调用请求(即图2中的“用户a的请求”),之后服务1执行针对模拟服务3-1的服务发现,得到预设服务实例。再之后,服务1向预设服务发起调用请求,而后预设服务召回模拟服务3-1的规则信息并将模拟服务3-1的响应结果返回至服务1。用户b可以向服务1发起调用请求(即图2中的“用户b的请求”),之后服务1执行针对模拟服务3-2的服务发现,得到预设服务实例。再之后,服务1向预设服务发起调用请求,而后预设服务召回模拟服务3-2的规则信息并将模拟服务3-2的响应结果返回至服务1。
37.根据本公开实施例的模拟服务的调用方法,可以通过多人共享的统一的模拟服务(即图2中的预设服务),实现支持多人并行开发的目的。
38.图3示出了可以应用根据本公开实施例的模拟服务的调用方法的另一个示例场景
的示意图。如图3所示,第一服务用于执行服务注册与发现,服务1和服务3可以向第一服务进行服务注册。若服务1要调用服务3,服务1可以请求第一服务进行服务发现,然后根据返回的结果确定服务3的实例。通过先调用服务1,再由服务1调用服务3,用户可以得到服务3的响应数据。需要说明的是,图3中的预设服务与服务1或服务3属于同一类型,因此,预设服务也会向第一服务进行服务注册。
39.用户可以创建具有不同标识信息的模拟服务,并在各个模拟服务下创建规则信息,然后将模拟服务的标识信息和规则信息进行信息入库。在图3的示例中,用户创建了模拟服务3-1和模拟服务3-3的标识信息和规则信息。模拟服务3-1和模拟服务3-3的标识信息和规则信息的含义与图2示出的示例相同,这里不再赘述。
40.预设服务可以向第一服务注册模拟服务。以图3中的模拟服务3-1和模拟服务3-2为例,预设服务会将模拟服务3-1和模拟服务3-3的标识信息注册至第一服务以将针对模拟服务3-1和模拟服务3-2的服务发现路由至预设服务实例。
41.若用户a和用户b同时在使用测试环境,分别用“red”和“blue”的染色标签向服务1发起请求(即图3中的“用户a的请求”和“用户b的请求”),那么服务1可以根据请求中携带的染色标签请求第一服务进行服务发现,然后服务1根据第一服务返回的结果决定具体请求的服务实例。在该示例中,针对在第一服务中已经注册的模拟服务3-1和模拟服务3-2的请求会被路由到预设服务。
42.然后,预设服务在内部进行模拟服务的规则信息的召回。预设服务会根据调用请求中携带的染色标签判断是否有对应的模拟服务的规则信息,若存在对应的模拟服务的规则信息,则将预设的响应结果返回;若不存在对应的模拟服务的规则信息,则可以调用相应的模拟服务获取相应的数据。预设服务调用相应的模拟服务的过程与本文所描述的服务调用过程类似,这里不再赘述。需要指出的是,若存在与模拟服务对应的真实服务,则在不存在对应的模拟服务的规则信息的情况下,预设服务也可以调用相应的真实服务以获取真实的响应数据。
43.回到图3,以图3中的模拟服务3-1和模拟服务3-2为例,预设服务可以在内部进行模拟服务3-1和模拟服务3-2的规则信息召回,预设服务会分别根据用户a的“red”染色标签和用户b的“blue”染色标签判断是否已经获取到模拟服务3-1和模拟服务3-2的规则信息,当判断出存在模拟服务3-1和模拟服务3-2的规则信息时,则可以将规则信息中的响应结果返回。若路由至预设服务的调用请求还包括对服务2(未在图3中示出)的调用,当预设服务判断出不存在对模拟服务2的规则信息时,则预设服务可以调用服务2以获取服务2真实的响应数据或者调用模拟服务2以获取模拟服务2的响应数据。
44.在一些示例中,模拟服务的标识信息还包括用于部署模拟服务的服务器的ip地址和端口号,并且,模拟服务的规则信息可以被配置为根据染色标签、服务器的ip地址和端口号以及模拟服务在服务器的路径信息的组合进行标记。以图3中的模拟服务3-1和模拟服务3-2为例,可以以部署模拟服务3-1的服务器的ip地址和端口号、用户a的染色标签“red”、以及模拟服务3-1的路径名的组合对模拟服务3-1的规则信息进行标记;可以以部署模拟服务3-2的服务器的ip地址和端口号、用户b的染色标签“blue”、以及模拟服务3-2的路径名的组合对模拟服务3-2的规则信息进行标记。
45.需要说明的是,尽管该示例对基于ip地址、服务端口、路径名的服务调用中模拟服
务的规则信息的标记方法进行了说明,但本领域技术人员可知,针对基于“服务 方法”的服务调用,基于相同的原理,其中的模拟服务的规则信息可以以染色标签和“服务 方法”的组合进行标记。
46.本实施例提供的模拟服务的调用方法通过使用不同的染色标签对模拟服务的规则进行标记,可以实现不同用户之间的模拟服务的规则的隔离。
47.在一些示例中,针对模拟服务的请求携带染色标签、服务器的ip地址和端口号以及路径信息,预设服务在内部进行规则召回时可以基于染色标签、服务器的ip地址和端口号以及路径信息的粒度进行召回。需要说明的是,尽管该示例对基于ip地址、服务端口、路径名的服务调用中模拟服务的规则信息的召回方法进行了说明,但本领域技术人员可知,针对基于“服务 方法”的服务调用,基于相同的原理,其中的模拟服务的规则信息可以以染色标签以及“服务 方法”的粒度进行召回。
48.本实施例提供的模拟服务的调用方法通过使用不同的染色标签对模拟服务的规则进行召回,可以实现不同用户之间的模拟服务的规则的隔离。
49.图4示出了根据本公开的实施例的模拟服务的调用方法的流程示意图。
50.如图4所示,该模拟服务的调用方法400包括:
51.步骤10:获取模拟服务的标识信息和规则信息,其中,所述模拟服务的规则信息包括针对所述模拟服务的请求内容以及对应的响应内容。
52.步骤30:根据针对所述模拟服务的请求以及所述规则信息,确定所述模拟服务的响应内容。
53.由于本文已经结合图2对本公开的实施例的模拟服务的调用方法进行了说明,这里针对模拟服务的调用方法400的相关内容可以参见本文结合图2的相关描述。
54.图5示出了根据本公开的实施例的模拟服务的调用方法的流程示意图。
55.如图5所示,该模拟服务的调用方法500包括:
56.步骤10:获取模拟服务的标识信息和规则信息,其中,所述模拟服务的规则信息包括针对所述模拟服务的请求内容以及对应的响应内容。
57.步骤20:将所述预设服务的标识信息以及所述模拟服务的标识信息注册至用于执行服务注册与发现的第一服务,以使所述第一服务根据针对所述模拟服务的服务发现请求返回所述预设服务的标识信息。
58.步骤30:根据针对所述模拟服务的请求以及所述规则信息,确定所述模拟服务的响应内容。
59.由于本文已经结合图3对本公开的实施例的模拟服务的调用方法进行了说明,这里针对模拟服务的调用方法500的相关内容可以参见本文结合图3的相关描述。
60.图6示出了根据本公开的实施例的模拟服务的调用装置的示例性框图。如图6所示,该模拟服务的调用装置600部署有预设服务,该模拟服务的调用装置600包括:获取模块601,其配置为获取模拟服务的标识信息和规则信息,其中,所述模拟服务的规则信息包括针对所述模拟服务的请求内容以及对应的响应内容;确定模块602,其配置为根据针对所述模拟服务的请求以及所述规则信息,确定所述模拟服务的响应内容。
61.根据本公开的实施例提供的模拟服务的调用装置可以通过多人共享的统一的模拟服务,实现支持多人并行开发的目的。
62.应当理解,图6中所示装置600的各个模块可以与参考图4描述的方法400中的各个步骤相对应。由此,上面针对方法400描述的操作、特征和优点同样适用于装置600及其所包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
63.在一些示例中,该模拟服务的调用装置600还包括注册模块,其配置为将所述预设服务的标识信息以及所述模拟服务的标识信息注册至用于执行服务注册与发现的第一服务,以使所述第一服务根据针对所述模拟服务的服务发现请求返回所述预设服务的标识信息。
64.在一些示例中,所述模拟服务的标识信息包括用于区分不同用户的染色标签,并且,所述模拟服务的规则信息被配置为根据所述染色标签进行标记。
65.在一些示例中,所述模拟服务的标识信息还包括用于部署所述模拟服务的服务器的ip地址和端口号,并且,所述模拟服务的规则信息被配置为根据所述染色标签、所述服务器的ip地址和端口号以及所述模拟服务在所述服务器的路径信息的组合进行标记。
66.在一些示例中,所述针对所述模拟服务的请求携带所述染色标签,并且,所述确定模块602包括:召回模块,其配置为基于所述染色标签对所述规则信息进行召回;以及响应模块,其配置为根据所述规则信息,确定所述模拟服务的响应内容。
67.在一些示例中,所述针对所述模拟服务的请求携带所述染色标签、所述服务器的ip地址和端口号以及所述路径信息,并且,所述确定模块602包括:召回模块,其配置为基于所述染色标签、所述服务器的ip地址和端口号以及所述路径信息对所述规则信息进行召回;以及响应模块,其配置为根据所述规则信息,确定所述模拟服务的响应内容。
68.在一些示例中,该模拟服务的调用装置600还包括:调用模块,其配置为响应于未召回到所述规则信息,调用所述模拟服务以确定所述模拟服务的响应内容,其中,所述模拟服务的标识信息和所述预设服务的标识信息不同。
69.在一些示例中,所述预设服务的标识信息包括用于部署所述预设服务的服务器的ip地址和端口号。
70.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。参见图7,现将描述可以作为本公开的服务器或客户端的电子设备700的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。如图7所示,电子设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
71.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如模拟服务的调用方法。例如,在一些实施例中,模拟服务的调用方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的模拟服务的调用方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模拟服务的调用方法。
72.结合本文公开的方面所描述的各种说明性逻辑、逻辑块、模块、电路和算法过程可以实现为电子硬件、计算机软件或两者的组合。硬件和软件的可互换性已经在功能方面进行了一般性描述,并且在上述各种说明性组件、块、模块、电路和过程中进行了说明。这种功能是以硬件还是软件实现取决于特定的应用和对整个系统的设计限制。
73.用于实现结合本文公开的方面所描述的各种说明性逻辑、逻辑块、模块和电路的硬件和数据处理装置可以用通用单芯片或多芯片处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被设计成执行本文所描述的功能的其任意组合来实现或执行。通用处理器可以是微处理器或任何常规处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如dsp和微处理器的组合、多个微处理器、一个或多个与dsp内核结合的微处理器、或者任何其他这样的配置。在一些方面中,特定的过程和方法可以由特定于给定功能的电路来执行。
74.在一个或多个方面,所描述的功能可以在硬件、数字电子电路、计算机软件、固件(包括本说明书中公开的结构及其等同结构)或其任意组合中实现。本说明书中所描述的主题的方面也可以实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,该一个或多个计算机程序被编码在计算机存储介质上用于由数据处理装置执行或控制数据处理装置的操作。
75.如果以软件实现,该功能可以作为一个或多个指令或代码存储或传输到计算机可读介质上。本文公开的方法或算法的过程可以在处理器可执行的软件模块中实现,该软件模块可以驻留在计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括能够将计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机访问的任何可用介质。作为示例而非限制,此计算机可读介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备,或者可以用于以指令或数据结构的形式存储所需的程序代码并且可以由计算机访问的任何其他介质。此外,任何连接都可以被恰当地称为计算机可读介质。本文使用的盘(disk)和盘(disc)包括高密度光盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光光盘,其中盘(disk)通常磁性地复制数据,而盘(disc)用激光光学地复制数据。以上的组合也应该包括在计算机可读介质的范围内。附加地,方法或算法的操作可以作为机器可读介质和计算机可读介质上的代码和指令的一个或任意组合或集合,其可以被结合到计算机程序产品中。
76.本公开中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、设备实施例、计算机可读存储介质实施例、以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献