一种数据传输方法、通讯组件、装置及系统与流程

文档序号:16467461发布日期:2019-01-02 22:51阅读:183来源:国知局
一种数据传输方法、通讯组件、装置及系统与流程

本说明书实施例涉及通讯技术领域,特别涉及一种数据传输方法、通讯组件、装置及系统。



背景技术:

在一些中小型服务端平台中,可能部署有多个应用程序。多个应用程序之间可能需要进行通讯。

当应用程序都为java语言编写的应用程序时,两个应用程序之间可以基于java开源的rpc框架进行通讯。但当应用程序分别是利用多种计算机语言编写的应用程序时,可以利用协议报文实现两个应用程序之间的通讯。即,将一个应用程序发出的数据转换为协议报文的格式,再将协议报文发送至另一应用程序,另一应用程序接收协议报文后,读取报文中的内容,并转换为该应用程序可识别的计算机语言。传统的报文格式有8583报文、xml报文、json报文等。由于传统报文的需要对通讯数据进行转换、不同语言数据的编程也需要较多的人力开发和维护成本。因此,亟需一种更高效的用于多语言应用之间的数据传输方式。



技术实现要素:

本说明书实施例的目的是提供一种数据传输方法、通讯组件、装置及系统,可以提高多语言应用之间的通讯效率。

为实现上述目的,本说明书的一些实施例是这样实现的:

一种数据传输方法,应用于跨语言的数据通讯,数据通讯时发送方发送预定格式的通讯报文,所述通讯报文基于包括下述的通讯报文协议生成的:

通讯报文包括:报文首部和报文体;

所述报文首部包括:报文首部长度信息、报文体长度信息和报文头内容;

所述报文头内容的长度是可变的,且存储预定的协议属性及属性值;

所述报文头内容包括:报文的类型和报文信息。

一种通讯组件,应用于跨语言的数据通讯,包括:注册中心模块、实时监控模块、管理模块以及至少一个业务端点;

所述业务端点用于组装协议报文,还用于发送端点数据至所述实时监控模块;所述端点数据为通讯协议报文;

所述注册中心模块,用于端点注册和端点服务维护;

所述实时监控模块,用于接收所述业务端点的端点数据;

所述管理模块,用于根据所述实时监控模块的端点数据,向所述业务端点发送命令指令。

一种通讯装置,应用于跨语言的数据通讯,所述装置包括本说明书中任意一项实施例所述的通讯组件。

一种跨语言通讯的系统,包括至少一个处理器和存储处理器可执行指令的存储器,所述处理器执行所述指令进行跨语言通信的通讯报文传输时实现本说明书中任意一方法实施例所述步骤;

或者,所述系统基于调用本说明书中任一实施例所述的通讯组件实现跨语言通信的通讯报文传输。

由以上可见,本说明书一个或多个实施例中,通信协议报文采用可变长度的报文头,可以使得报文格式的多样化,同时,在报文首部封装了报文头长度信息和报文体长度信息,可以提高通讯效率。而采用了该通讯协议报文的组件,解决了应用直接使用协议带来的复杂性,可以使得应用程序间通讯只需要一个通用的组件即可,不仅避免了使用报文相互转换带来的效率低下问题,还可以避免使用socket编程带来的复杂性,降低后期维护的成本。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本说明书提供的一种通讯报文的实施例的组成示意图;

图2是本说明提供的应用通讯报文协议的通讯组件的组成示意图;

图3是本说明提供的不同计算机语言的应用程序进行通讯的示意图;

图4是根据本说明书的一示例性实施例的计算机的示意结构图;

图5是本说明书提供的一种通讯组件的应用示意图。

具体实施方式

本说明书实施例提供一种数据传输方法、通讯组件、装置及系统。

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

部署有多个应用程序的服务端平台,当平台上的应用程序都为同一种语言编写的应用程序时,应用之间的通信较为便捷。例如,当平台上的应用程序都是java语言编写的应用程序时,两个应用程序之间可以基于java开源的rpc框架进行通讯。但当应用程序分别是利用多种计算机语言编写的应用程序时,两个不同语种的应用程序之间则不能直接进行便捷的通讯。

一种实现不同语种的应用程序之间通讯的方法为利用协议报文。即,将一个应用程序发出的数据转换为协议报文的格式,再将协议报文发送至另一应用程序,另一应用程序接收协议报文后,读取报文中的内容,并转换为该应用程序可识别的计算机语言。传统的报文格式有8583报文、xml报文、json报文等。由于传统报文的需要对通讯数据进行转换,通讯效率低下。

另一种实现java和c语言应用之间通信的方法为使用socket编程实现通讯。因为socket是基于tcp的编程接口,而tcp是计算机网络osi模型的第四层,不存在跨语言的障碍。但socket编程的开发难度较大。

基于此,本说明书实施例中提供一种通讯协议报文以及采用该通讯协议报文的组件,基于提供的通信协议报文以及组件提供一种新的数据传输方法、组件、装置及系统。具体的,所述的通信协议报文采用可变长度的报文头,不但可以存储非常关键的协议属,还可以使得报文格式的多样化。同时,在报文首部封装了报文头长度信息和报文体长度信息,可以提高通讯效率。而采用了该通讯协议报文的组件,解决了应用直接使用协议带来的复杂性,可以使得应用程序间通讯只需要一个通用的组件即可,不仅避免了使用报文相互转换带来的效率低下问题,还可以避免使用socket编程带来的复杂性,降低后期维护的成本。具体的本说明书提供的所述方法的一种数据传输方法的一个实施例中,可以应用于跨语言的数据通讯,数据通讯时发送方发送预定格式的通讯报文,所述通讯报文基于包括下述的通讯报文协议生成的:

通讯报文包括:报文首部和报文体;

所述报文首部包括:报文首部长度信息、报文体长度信息和报文头内容;

所述报文头内容的长度是可变的,且存储预定的协议属性及属性值;

所述报文头内容包括:报文的类型和报文信息。

上述所述的可以经营于跨语言的数据通讯,可以包括不同系统的跨语言通讯,或者同一个系统中接入的不同业务方所使用的不同语言的实施场景。例如,在一些互联网应用中,一些平台的服务系统可能涉及第三方支付、银行系统、商家等业务方,这些业务方均接入服务系统,则本方案可以应用在服务系统中,解决或提高使用不同语言的业务方的数据报文传输效率。当然,这里所述的语言通常指的是计算机汇编/高级语言,如现在流行的:java,c,c#等。

以下介绍本说明书一种通讯报文的一种具体实施例。图1是本说明书提供的一种通讯报文的实施例的组成示意图。具体的如图1所示,所述通讯报文可以包括:报文首部和报文体。所述报文首部可以包括:报文首部长度信息、报文体长度信息和报文头内容。

所述报文首部长度信息可以用于表示所述报文首部的总字节数。所述报文首部长度信息可以占用4字节。例如,一个报文的报文首部长度信息可以占用4个字节,该报文首部长度信息可以为“0100”,那么,该报文首部长度信息可以表示报文首部的总字节数为8个字节。

所述报文体长度信息可以用于表示所述报文体的总字节数。所述报文体长度信息可以占用4字节。

所述报文头内容的长度可以是可变的。所述报文头内容可以包括:报文的类型和报文信息。

在一个实施方式中,所述报文类型可以为下述中的任意一种:心跳报文、业务请求报文/业务响应报文、业务通知报文、连接请求报文/连接应答报文、端点注册请求报文/端点注册响应报文、cmd命令报文/cmd命令响应报文、端点汇报报文。不同的报文类型可以应用于不同的业务场景。

所述心跳报文,可以是用于检测tcp通道的是否可用或者检测端点是否存活的报文。所述心跳报文不包含业务数据。

所述业务请求报文/业务响应报文,可以是用于表示业务端点之间进行rpc(remoteprocedurecall,远程过程调用)请求和应答的报文。

所述业务通知报文,可以是用于反馈业务处理结果的报文。

所述连接请求报文/连接应答报文,可以是用于在两个业务端点建立通道时使用的报文。例如,可以是业务端点启动时与关联的端点建立的tcp长链接,或者,可以是一个业务端点和其他业务端点建立的短连接。

所述端点注册请求报文/端点注册响应报文,可以是用于注册端点的报文。例如,可以是一个应用程序启动时注册一个端点所使用的报文。

所述cmd命令报文/cmd命令响应报文,可以是动态控制端点中的属性的报文。所述cmd命令报文/cmd命令响应报文可以是指令的形式。例如,限流控制指令等。

所述端点汇报报文,可以是用于汇报各业务端点信息的报文。

在一个实施方式中,所述报文信息可以包括下述至少中的一种:版本信息、报文体格式、服务码、跟踪id、响应码、系统名称、端点信息、客户端地址、服务端地址、业务属性信息。

所述版本信息可以是字符串。例如,可以是1.0.0等。

所述报文体格式,可以用于表示报文中报文体的原始格式。

所述服务码可以用于表示调用请求的服务名。

所述跟踪id可以用于唯一标识一个请求。所述跟踪id可以为定位调用链路。

所述响应码可以是相应于一个请求的结果码。

所述系统名称可以是一个端点的名称。例如,可以是一个应用程序的名称。

所述端点信息可以用于唯一标识一个端点。所述端点信息可以用于服务注册时判断是否为唯一端点。

所述客户端地址可以用于表示发起请求的地址.

所述服务端地址可以用于表示服务端的地址。

所述业务属性信息可以包括一个或多个业务的属性信息。例如,可以包括超时时间等。

上述实施例提供的通信协议报文中,采用可变长度的报文头,可以使得报文格式的多样化,协议报文可以被不同语言的应用进行解析,避免报文格式需要转换带来的效率低下问题。同时,在报文首部封装了报文头长度信息和报文体长度信息,可以让使用该协议报文的应用更明确分辨报文头内容和报文体内容。

本说明书另一方面还提供一种应用本说明书中通讯报文协议的通讯组件。所述的通讯组件包括计算机可执行指令以及存储所指令的存储介质,并可以结合必要的实施硬件实现逻辑处理。图2是本说明提供的应用通讯报文协议的通讯组件的组成示意图。参照图2,所述通讯组件可以包括:注册中心模块220、实时监控模块240、管理模块260以及至少2个业务端点280。

所述业务端点280可以用于组装协议报文。所述业务端点280还可以用于建立链接,通过所述建立的链接,可以实现两个业务端点280之间的rpc调用。所述业务端点280可以对应一个应用程序。所述业务端点280对应的应用程序可以采用c语言、java语言等。不同业务端点280对应的应用程序可以采用相同或不同的计算机语言。

所述业务端点280还可以发送端点数据至所述实时监控模块240。所述端点数据可以包括端点服务业务日志。所述端点数据可以为通讯协议报文。

所述注册中心模块220,可以用于端点注册和端点服务维护。具体地,可以建立所述业务端点。通过所述注册中心模块220,可以对所述业务端点280进行统一维护。

所述实时监控模块240,可以用于接收所述业务端点280的端点数据。所述实时监控模块240还可以用于对所述接收的端点数据进行加工、清洗和/或展示。

所述管理模块260,可以用于根据所述实时监控模块240的端点状态信息,可以向所述业务端点280发送命令指令。所述命令指令可以用于调节所述业务端点280的端点数据。例如,所述命令指令可以是更改线程池和队列大小,更改链路超时时间,服务端限流指令等。通过所述命令指令可以使所述业务端点280达到最佳状态。

上述的所述的实现组件功能的指令可以存储在多种计算机可读存储介质中。所述计算机可读存储介质可以包括用于存储信息的物理装置,可以将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。本实施例所述的计算机可读存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。下述所述的装置或服务器或客户端或系统中的指令同上描述。

下面是一个具体的示例来说明本说明书中所述方法传输的数据报文是如何形成和传输、解析、转换的。

本说明书实施例方案在跨语言的通讯报文传输时,可以使用自定义的报文格式,其中创新之一是“可变长度的报文头”。同时为了让使用协议的应用更明确分辨“报文头内容”和“报文体内容”,在报文首部封装了“报文头长度”和“报文体长度”。服务器端读两次4个字节,即可以获取报文头长度和报文体长度。

报文头包含了这笔请求报文的类型和关键属性信息(关键属性参见示意表.1),包括但不限于:

报文体格式:告诉服务端本次请求的序列化形式,如通用的json格式。

服务码:该服务码是服务端已经定义的服务,客户端需要使用服务端的某个服务时,需要在请求中明确服务码。服务端拿到此报文中的服务码,即可进行改服务的处理。

响应码:一套该协议自定义的响应码,用来定义系统链路交互过程中的状态,常见的状态如:200ok;500system_error;503timeout等

端点信息:定义了发送请求的端点的属性,如机器ip等。

客户端地址/服务端地址:

1)可以是自定义的服务地址,服务地址对应的ip通过其他配置维护,在使用时可以进行负载均衡,从可用ip列表中择优选择。

2)也可以是一个固定的ip,用来在两个端点进行简单的调试时使用。

报文类型:报文头中非常核心的定义。可以定义许多不同的报文类型,用来表示这笔请求的属性,从而可以实现通用处理。

1)心跳报文:可以不含任何业务数据的信息,用来检测tcp通道的可用行,检测端点是否存活。

2)业务请求报文/业务响应报文:最常用的报文类型,表示业务系统间rpc请求和应答的报文。

3)业务通知报文:适用于某些特殊业务场景,如b服务提供同步受理,异步回执的能力。那么当a调用b时,会使用“业务请求报文/业务响应报文”进行同步的应答,当b处理完成后,使用“业务通知报文”将处理结果通知给a。

4)连接请求报文/连接应答报文:用于在两个端点建立通道时使用的报文,如业务系统启动时与关联的服务器建立tcp长链接,也可以用于端点和其他端点建立短连接的形式。

5)端点注册报文/端点请求报文:此报文用于服务器启动时端点向“注册中心”注册端点使用的报文。

6)cmd命令报文/cmd命令响应报文:用于通过发送指令的形式,动态控制端点中的属性,如:线程池大小,服务端耗时,限流控制等高级用法。

表1:报文头内容关键属性示意表

在上述定义了报文协议内容后,具体的实施过程示例可以包括如下:

基于自定义的通讯报文协议,直接暴露给业务系统使用。本说明书的另一个实施例中,可以基于此协议进行二次研发,如包装形成一个rpcservier组件,如图5所示,可以提供以下的服务能力:

1)服务注册和发现:避免应用自己维护下游应用的列表和关系

2)rpc通讯:基于tcp长链接,可以高效进行跨语言之间的通讯。

3)服务治理:基于协议自定义的属性,可以实现负载均衡,服务降级,通讯加密等高级特性。

4)业务监控:服务器端点可以实时汇报当前节点状态,从而实时展示维护服务器状态和rpc链路使用情况等关键信息;基于协议中的流水号,可以从业务系统实时采集日志,加工清洗后,获取实时链路调用的详情;业务日志经过大数据平台的加工,可以展示出服务调用的报表。

5)性能优化:通过服务器端点汇报的节点状态,可以通过监控管理后台,通过此协议报文,实时向服务器发送命令指令,如:更改线程池和队列大小,更改链路超时时间,服务端限流指令等。动态调整参数,让应用达到最佳状态,(个别特性需要语言本身支持)。

对此rpcsercice组件的关键理解,整个组件可以有四个部分组成:

a.endpoint端:可理解为业务端点,主要的功能是:组装协议报文,建立链接,rpc调用,负载均衡处理,端点信息汇报等。(形式不限:c语言打包为库文件,java可以打包为jar包)

b.注册中心:一个需要部署的应用,主要功能为服务发现和维护。

c.实时监控平台:汇总端点汇报的数据和服务业务日志,进行数据加工清洗并展示。

d.后台管理系统:后台登陆控制,服务命令执行等。

基于上述二次研发形成的rpcservice通用服务组件,整个系统间跨语言之间的通讯如图3所示,系统间通讯可以只需要一个通用的rpcservice组件即可,既屏蔽了使用“报文”相互转换带来的效率低下问题,也绕开了直接使用socket变成带来的复杂性和后期维护的成本。通过基于此协议报文二次研发而形成的“rpcservice组件”不仅解决了应用直接使用协议带来的复杂性,也可以扩展实现“服务治理”,“性能优化”,“业务监控”等高级特性。

图3是本说明书实施例提供的不同计算机语言的应用程序进行通讯的示意图。参照图3,app1和app2可以采用java语言,app3可以采用c语言,app4可以采用c#语言,app5可以采用其他语言。上述5个应用程序之间进行通讯时,可以采用本说明提供的应用通讯报文的组件。

由此可见,本说明书提供的应用本说明书中通讯报文协议的组件实施例,解决了应用直接使用协议带来的复杂性,可以使得应用程序间通讯只需要一个通用的组件即可,不仅避免了使用报文相互转换带来的效率低下问题,还可以避免使用socket编程带来的复杂性,降低后期维护的成本。同时,还可以统一管理多个应用程序,实现各个应用程序的性能优化和业务监控。

本说明书实施例提供的上述通信协议报文组件可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在pc端实现,或其他例如使用android、ios系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。如图4所示,图4是应用本说明书的实施例的计算机的示意结构图。在硬件层面,该计算机可以包括处理器、内部总线、传输模块和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成词串识别装置。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,所述计算机还可包括比图4中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如gpu(graphicsprocessingunit,图像处理器),或者具有与图4所示不同的配置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。

本说明书实施例中,所述的处理器可以包括中央处理器(cpu)或图形处理器(gpu),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本申请实施例所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不错限定。

基于上述所述的方法或装置,本说明书还提供一种通讯装置,所述装置可以包括上述任一实施例所述的通讯组件。所述的装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的设备装置。基于同一创新构思,本说明书提供的一种实施例中的处理装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的处理装置的实施可以参见前述方法的实施,重复之处不再赘述。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

当然,本说明书实施例所述的方法、装置、组件等可以应用与跨语言的系统中,如上述所述的服务平台的服务系统,可以解决跨语言的系统间通讯,提高通信效率,同时可提供服务发现,服务治理,业务监控等功能。因此,本说明书还提供一种跨语言通讯的系统,包括至少一个处理器和存储处理器可执行指令的存储器,所述处理器执行所述指令进行跨语言通信的通讯报文传输时实现本说明书中任一方法实施例所述步骤;

或者,所述系统基于调用本说明书中任一实施例所述的通讯组件实现跨语言通信的通讯报文传输。

需要说明的是,本说明书提供的利用自定义报文协议的数据传输方法,不仅局限于跨语言的通讯,也可以实现跨平台的通讯,通常满足基于osi协议标准的网络(如internet),均可以使用。

需要说明的是,本说明书实施例上述所述的装置、组件、系统,根据相关方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照方法实施例的描述,在此不作一一赘述。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、装置或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1