一种记录日志变更的方法及装置与流程

文档序号:17721437发布日期:2019-05-22 02:11阅读:335来源:国知局
一种记录日志变更的方法及装置与流程

本发明涉及数据处理技术领域,具体涉及一种记录日志变更的方法及装置。



背景技术:

目前所有的资料管理类软件都需要记录日志的变更,即记录资料管理系统中的资料在何时被何人做了何种修改,但是现有的资料管理类软件如果需要对所述的修改进行记录,需要自己开发适合自己的资料管理软件的日志服务产品,因此相关技术中缺少一种能同时为大多数资料管理类软件提供记录日志服务的产品。



技术实现要素:

本发明提出了一种记录日志变更的方法及装置,旨在解决相关技术中日志服务产品同质化开发严重的问题。

为了解决相关技术中的问题,本发明提供了一种解决方案:一种记录日志变更的方法,包括:

获取已变更的对象的修改前的属性和修改后的属性;

判断所述修改前的属性和所述修改后的属性是否符合vo规范,所述vo规范为服务方对所述属性预设的java注解的书写格式;

当所述修改前的属性和所述修改后的属性符合所述vo规范,且所述修改前的属性的属性值和所述修改后的属性的属性值不相等时,将所述修改前的属性的属性值和所述修改后的属性的属性值记录到公共组件库,所述公共组件库用于储存日志信息。

可选地,获取已变更的对象的修改前的属性和修改后的属性,包括:

获取服务请求方的服务请求事件;

从所述服务请求事件中获取vo对象,所述vo对象为所述服务请求方正在资料管理系统中操作的实体对象,所述vo对象包括修改前的vo实体对象和修改后的vo实体对象;

采用java反射机制并通过getclass函数从所述修改前的vo实体对象中获取所述的已变更的对象的修改前的属性;

采用java反射机制并通过getclass函数从所述修改后的vo实体对象中获取所述的已变更的对象的修改后的属性。

可选地,判断所述修改前的属性和所述修改后的属性是否符合vo规范,包括:

判断从所述修改前的vo实体对象中获取的修改前的属性和从所述修改后的vo实体对象中获取的修改后的属性是否符合vo规范;

所述方法还包括:

当所述修改前的属性和所述修改后的属性不符合所述vo规范时,发出日志报警。

可选地,若所述修改前的属性和所述修改后的属性符合所述vo规范,且所述修改前的属性的属性值和所述修改后的属性的属性值不相等,则将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到公共组件库,包括:

当所述修改前的属性和所述修改后的属性符合所述vo规范时,采用equals方法比较两者的属性值是否相等,若不相等,则将所述修改前的属性的属性值和所述修改后的属性的属性值记录到所述公共组件库。

可选地,在获取已变更的对象的修改前的属性和修改后的属性之前,所述方法还包括:

从所述服务请求事件中获取服务请求事件的操作类型、操作时间、操作人以及操作实体id并记录到所述公共组件库。

可选地,在获取服务请求方的服务请求事件之前,所述方法还包括:

在所述服务请求方的资料管理系统中,将需要请求记录日志变更服务的属性按照所述vo规范的书写格式进行java注解。

一种记录日志变更的装置,包括:

获取操作事件模块,用于获取已变更的对象的修改前的属性和修改后的属性;

vo属性判断模块,用于判断所述的修改前的属性和所述的修改后的属性是否符合vo规范,所述vo规范为服务方对所述属性预设的java注解的书写格式;

对象比较模块,用于当所述修改前的属性和所述修改后的属性符合所述vo规范,且所述修改前的属性的属性值和所述修改后的属性的属性值不相等时,将所述修改前的属性的属性值和所述修改后的属性的属性值记录到公共组件库,所述公共组件库用于储存日志信息。

本发明中,所述装置还包括:

获取操作请求模块,用于从所述服务请求事件中获取服务请求事件的操作类型、操作时间、操作人以及操作实体id并记录到所述公共组件库;

公共组件库,用于储存日志信息;

日志展示服务模块,用于提供日志展示服务。

其中,所述公共组件库包括:

操作日志信息记录模块,用于记录从所述获取操作事件模块和所述获取操作请求模块中获取的服务请求事件的信息;

日志内容记录模块,用于记录从所述对象比较模块中获取的信息;

日志附加信息记录模块,用于记录所述的已更改的对象的附加信息。

所述日志展示服务模块包括:

客户基本信息查询展示服务模块,用于提供查询客户基本信息的功能;

客户拓展信息查询展示服务模块,用于提供查询客户附加信息的功能;

纳税人资质查询展示服务模块,用于提供查询纳税人资质的功能;

日志查询展示服务模块,用于提供查询企业的资料管理系统的信息的功能。

可选地,所述获取操作事件模块包括:

服务请求事件获取模块,用于获取服务请求方的服务请求事件;

第一获取模块,用于从所述服务请求事件中获取vo对象,所述vo对象为所述服务请求方正在资料管理系统中操作的实体对象,所述vo对象包括修改前的vo实体对象和修改后的vo实体对象;

第二获取模块,用于采用java反射机制并通过getclass函数从所述修改前的vo实体对象中获取所述的已变更的对象的修改前的属性;

第三获取模块,用于采用java反射机制并通过getclass函数从所述修改后的vo实体对象中获取所述的已变更的对象的修改后的属性。

可选地,所述vo属性判断模块包括:

判断子模块,用于判断从所述修改前的vo实体对象中获取的修改前的属性和从所述修改后的vo实体对象中获取的修改后的属性是否符合vo规范;

所述装置还包括:

日志报警模块,用于当所述的修改前的属性和所述的修改后的属性不符合所述vo规范时,发出日志报警。

可选地,所述对象比较模块包括:

比较子模块,用于当所述的修改前的属性和所述的修改后的属性符合所述vo规范时,采用equals方法比较两者的属性值是否相等,若不相等,则将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到所述公共组件库。有益效果:

本发明可以同时为大多数资料管理类软件提供记录日志变更的服务,只要所述资料管理类软件的后台程序按照vo规范进行调整,在进行日志变更前向本发明发送服务请求,则本发明获取所述资料类软件中已变更的对象的修改前的属性和修改后的属性并判断两者的属性值是否相等,若不相等则将所述的修改前的属性的属性值和修改后的属性的属性值记录到用于储存日志信息的公共组件库;本发明无需用户重新开发适合自己的资料管理系统的日志服务产品而只需用户按照本发明的vo规范对资料管理系统进行相应调整即可为用户提供记录日志变更的服务,能有效解决相关技术中日志服务产品同质化开发严重的问题。

附图说明

图1是根据一示例性实施例示出的一种记录日志变更的方法的流程图;

图2是根据一示例性实施例示出的一种获取已变更的对象的修改前的属性和修改后的属性的流程图;

图3是根据一示例性实施例示出的另一种记录日志变更的方法的流程图;

图4是根据一示例性实施例示出的一种记录日志变更的装置的框图;

图5是根据一示例性实施例示出的一种公共组件库的框图;

图6是根据一示例性实施例示出的一种日志展示服务模块的框图;

图7是根据一示例性实施例示出的获取操作事件模块的框图。

具体实施方式

下文描述了本发明的具体实施方式,该实施方式为示意性的,旨在揭示本发明的具体工作过程,不能理解为对权利要求的保护范围的进一步限定。

图1是根据一示例性实施例示出的一种记录日志变更的方法的流程图,参照图1,包括以下步骤。

在步骤s11中,获取已变更的对象的修改前的属性和修改后的属性。

在步骤s12中,判断所述修改前的属性和所述修改后的属性是否符合vo规范,所述vo规范为服务方对所述属性预设的java注解的书写格式。

在步骤s13中,当所述修改前的属性和所述修改后的属性符合所述vo规范,且所述修改前的属性的属性值和所述修改后的属性的属性值不相等时,将所述修改前的属性的属性值和所述修改后的属性的属性值记录到公共组件库,所述公共组件库用于储存日志信息。

首先在步骤s11中,获取已变更的对象的修改前的属性和修改后的属性。举例来说,服务请求方正在资料管理系统中对员工a的个人信息进行修改,那么已变更的对象为员工a的个人信息,所述个人信息中包括多个属性,例如姓名、职业等,获取到的修改前的属性为修改前的员工a的姓名、职业等,获取到的修改后的属性为修改后的员工a的姓名、职业等,虽然修改前与修改后的属性名称依然为姓名、职业,但是该属性的属性值可能在修改后发生了变化。

然后在步骤s12中,判断所述的修改前的属性和所述的修改后的属性是否符合vo规范,所述vo规范为服务方对所述属性预设的java注解的书写格式。举例来讲,服务请求方若要在资料管理系统中将员工a的职业由“学生”更改为“医生”,只需在职业这一栏中将学生删除并重新填入“医生”,此时不需要服务请求方做任何其他操作,因为资料管理系统里已经预先按照vo规范对此处的职业这个属性做了java注解,如“@comparjob_职业”,又如对此处的姓名这个属性也做了java注解,如“@comparname_姓名”。@符号后面的字符可以由服务方任意设定,但是服务请求方必须按照服务方设定的书写格式,即vo规范进行java注解,才能向服务方请求服务,因为只有采用vo规范进行了java注解的属性,服务方才能根据java注解获取到该属性的字段含义,进而进入所述步骤s13。由于服务方获取到的属性中可能存在预先没有进行java注解的属性或者java注解的格式没有采用服务方的vo规范,这类没有进行java注解或者java注解的格式没有采用服务方的vo规范的属性不会进入所述步骤s13。举例来讲,服务方获取到员工a的个人信息这个已变更的对象,这个对象除了姓名、职业这两个属性,还包括国籍这个属性,假如预先没有对国籍这个属性做java注解,或者对国籍这个属性作出的java注解为“@comparbb_国籍”不符合服务方设定的“@comparnationality_国籍”,那么在判断所述的修改前的属性和所述的修改后的属性是否符合vo规范时,国籍这个属性就不符合vo规范因而无法进入所述步骤s13,而已经采用了服务方的vo规范进行了java注解的姓名和职业这两个属性会继续进入所述步骤s13。

在步骤s13中,当所述的修改前的属性和所述的修改后的属性符合所述vo规范,且所述的修改前的属性的属性值和所述的修改后的属性的属性值不相等时,将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到公共组件库,所述公共组件库用于储存日志信息。例如,服务方获取到的修改前的与修改后的员工a的个人信息中姓名和职业这两个属性均符合vo规范,那么依次地,将姓名这个属性的修改前的属性值与修改后的属性值进行对比,将职业这个属性的修改前的属性值与修改后的属性值进行对比。如果发现修改前的属性值与修改后的属性值不相等,将修改前的属性值与修改后的属性值记录到公共组件库,若修改前的属性值与修改后的属性值相等则不作处理。例如服务请求方在对员工a的个人信息进行修改前,员工a的姓名为李明,职业为学生;修改后,员工a的姓名为李明,职业为医生。此处姓名这个属性的修改前后的属性值并没有发生变化,不用作处理,职业这个属性的属性值发生了变化,所以要修改前的学生与修改后的医生记录到公共组件库。

图2是根据一示例性实施例示出的一种获取已变更的对象的修改前的属性和修改后的属性的流程图,参照图2,包括以下步骤。

在步骤s110中,获取服务请求方的服务请求事件。在步骤s111中,从所述服务请求事件中获取vo对象,所述vo对象为所述服务请求方正在资料管理系统中操作的实体对象,所述vo对象包括修改前的vo实体对象和修改后的vo实体对象。

在步骤s112中,采用java反射机制并通过getclass函数从所述修改前的vo实体对象中获取所述的已变更的对象的修改前的属性。

在步骤s113中,采用java反射机制并通过getclass函数从所述修改后的vo实体对象中获取所述的已变更的对象的修改后的属性。

首先在步骤s110中,获取服务请求方的服务请求事件。当服务请求方需要对资料管理系统内的数据进行更改时,向服务方发送一个请求记录日志变更的服务,服务方接收该请求并从产生的服务请求事件中获取到关于该服务请求事件的多个事件信息。

然后在步骤s111中,从所述服务请求事件中获取vo对象,所述vo对象为所述服务请求方正在资料管理系统中操作的实体对象,所述vo对象包括修改前的vo实体对象和修改后的vo实体对象。例如,服务请求方在资料管理系统中将员工a的职业由学生变更为医生之前,服务方通过所述服务请求事件从资料管理系统中获取到修改前的vo实体对象,即获取到修改前的员工a的个人信息,当服务请求方在资料管理系统中将员工a的职业由学生变更为医生并点击保存之后,服务方再次从资料管理系统中获取到修改后的vo实体对象,即获取到修改后的员工a的个人信息。

然后在步骤s112中,所述java反射机制是指在运行状态中,对于任意一个实体类,都能够知道这个实体类的所有属性和方法;对于任意一个对象,都能够调用属于这个对象的任意方法和属性。服务方在获取到服务请求方的修改前的vo实体对象之后,采用java反射机制并通过getclass函数从所述修改前的vo实体对象中获取所述的已变更的对象的修改前的属性。例如,服务方获取到修改之前的员工a的个人信息这个实体对象,从该实体对象中获取到员工a的姓名、职业、国籍等属性,当然,还可以包括其他属性比如地址、电话号码等。

然后在步骤s113中,采用java反射机制并通过getclass函数从所述修改后的vo实体对象中获取所述的已变更的对象的修改后的属性。例如,服务方获取到修改之后的员工a的个人信息这个实体对象,从该实体对象中获取到员工a的姓名、职业、国籍等属性,当然,还可以包括其他属性比如地址、电话号码等。

本公开中,判断所述的修改前的属性和所述的修改后的属性是否符合vo规范,即判断从所述修改前的vo实体对象中获取的修改前的属性和从所述修改后的vo实体对象中获取的修改后的属性是否符合vo规范。举例来讲,服务方获取到员工a的修改前的和修改后的个人信息中姓名和职业这两个属性是按照服务方设定的格式进行了java注解的,即对姓名的java注解为“@comparname_姓名”,对职业的java注解为“@comparjob_职业”,而员工a的修改前的和修改后的个人信息中国籍这个属性没有进行java注解或者java注解的格式“@comparbb_国籍”与服务方设定的“@comparnationality_国籍”不同,因而国籍这个属性不符合vo规范。

当所述的修改前的属性和所述的修改后的属性不符合所述vo规范时,发出日志报警,例如修改前后的国籍这个属性不符合所述vo规范,因此服务方向服务请求方发出日志报警,该日志报警用于提醒服务请求方按照服务方给定的vo规范在资料管理系统进行相应的调整。

本公开中,若所述的修改前的属性和所述的修改后的属性符合所述vo规范,且所述的修改前的属性的属性值和所述的修改后的属性的属性值不相等,则将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到公共组件库。即当所述的修改前的属性和所述的修改后的属性符合所述vo规范时,采用equals方法比较两者的属性值是否相等,若不相等,则将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到所述公共组件库。

所述equals方法为java语言中用于比较两个值是否相等的方法。举例来讲,服务方获取到的修改前的员工a的个人信息中姓名这个属性符合vo规范且属性值为李明,修改后姓名这个属性的属性值还是为李明,那么采用equals方法得出的修改前的姓名的属性值和修改后的姓名的属性值为相同属性值,服务方对于相同的属性值不作处理。若服务方获取到的修改前的员工a的个人信息中职业这个属性符合vo规范且属性值为学生,修改后职业这个属性的属性值为医生,那么采用equals方法得出修改前的职业的属性值和修改后的职业的属性值为不相同属性值,然后服务方将不相同的这部分属性值记录到公共组件库的相关记录表中,即将修改前后的学生和修改后的医生记录到所述公共组件库的相关记录表中。同时,若服务方获取到的vo对象为列表,如列表内包含员工a、员工b以及员工c的个人信息,此时采用双层循环并通过泛型对象的equals方法判断修改前后的列表中的属性值是否一致。equals方法对属性值进行比较的具体过程为所属技术领域的公知常识,故在此不做赘述。

图3是根据一示例性实施例示出的另一种记录日志变更的方法的流程图,参照图3,获取已变更的对象的修改前的属性和修改后的属性还包括以下步骤。

在步骤s10中,从所述服务请求事件中获取服务请求事件的操作类型、操作时间、操作人以及操作实体id并记录到所述公共组件库。

在步骤s10中,当服务请求方在对资料管理系统进行更改前,通过http请求的方式向作为第三方平台的服务方发送请求,服务方确认收到请求后建立与服务请求方的通信渠道,同时,服务方将服务请求事件的操作类型、操作时间、操作人以及操作实体id并记录到所述公共组件库。例如,企业b的操作人李华(员工编码为06051)对集团客户施耐德电器(中国)有限公司(集团客户id012232)的客户基本信息进行更新,更新的内容为将行业由制造业变更为专用设备制造业,将联系人由张伟变更为申明,那么在进行变更前,李华在企业b的管理客户信息的资料管理系统里点击请求服务的按钮,服务方接收请求建立通信渠道,同时,服务方获取到的服务请求事件的操作类型为update,获取到的操作人为李明的员工编码06051,获取到的操作时间为操作系统当前的时间如2018年9月1日15:30:35,获取到的操作实体id的代号为tf_f_cust_group,将这些信息记录到所述公共组件库。

本公开中,在获取已变更的对象的修改前的属性和修改后的属性获取服务请求方的服务请求事件之前,还需要在所述服务请求方的资料管理系统中,将需要请求记录日志变更服务的属性按照所述vo规范的书写格式进行java注解。理论上本发明可以为所有的资料管理系统提供服务,但是只有当服务请求方的资料管理系统按照vo规范对需要记录日志变更的属性进行java注解以后才能向本发明请求记录日志变更服务。例如,企业b要向本发明请求服务,那么就先要在资料管理系统的后台程序里,将需要记录日志变更的属性进行java注解。

图4是根据一示例性实施例示出的一种记录日志变更的装置的框图,参照图4,所述装置包括:

获取操作事件模块100,用于获取已变更的对象的修改前的属性和修改后的属性;

vo属性判断模块101,用于判断所述的修改前的属性和所述的修改后的属性是否符合vo规范,所述vo规范为服务方对所述属性预设的java注解的书写格式;

对象比较模块102,用于当所述的修改前的属性和所述的修改后的属性符合所述vo规范,且所述的修改前的属性的属性值和所述的修改后的属性的属性值不相等时,将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到公共组件库,所述公共组件库用于储存日志信息。参照图4,所述装置还包括:

获取操作请求模块103,用于从所述服务请求事件中获取服务请求事件的操作类型、操作时间、操作人以及操作实体id并记录到所述公共组件库;

公共组件库104,用于储存日志信息;

日志展示服务模块105,用于提供日志展示服务。

图5是根据一示例性实施例示出的一种公共组件库的框图,参照图5,所述公共组件库104包括:

操作日志信息记录模块1041,用于记录从所述获取操作事件模块和所述获取操作请求模块中获取的服务请求事件的信息;

日志内容记录模块1042,用于记录从所述对象比较模块中获取的信息;

日志附加信息记录模块1043,用于记录所述的已更改的对象的附加信息。

本公开中,所述操作日志信息记录模块1041内部记录的为从所述获取操作请求模块获取的服务请求事件的日志id,包括操作类型、操作时间、操作人、操作实体id等。例如,所述企业b的操作人李华(员工编码为06051)对集团客户施耐德电器(中国)有限公司(集团客户id012232)的客户基本信息进行更新,更新的内容为将行业由制造业变更为专用设备制造业,将联系人由张伟变更为申明,那么企业b在发送服务请求时,服务方的操作日志信息记录模块1041会随机生成一个对应该请求事件的日志id序列号,如该序列号为123456,在该日志id下,操作类型为update,操作人为06051,操作时间为2018年9月1日15:30:35,操作实体id为tf_f_cust_group。

所述日志内容记录模块1042包括日志内容表10421,所述操作日志信息记录模块1041生成的一条操作日志信息可以对应多个日志内容表,每个所述日志内容表包括日志id、操作实体id、属性id、属性名称等。例如所述企业b的操作人李华(员工编码为06051)对集团客户施耐德电器(中国)有限公司(集团客户id012232)的客户基本信息进行更新,更新的内容为将行业由制造业变更为专用设备制造业,将联系人由张伟变更为申明,那么有两个属性的值发生了改变,一个是行业,另一个是联系人,此时,在序列号为123456的操作日志信息下,对应两个日志内容表,第一个日志内容的内容id为随机生成的序列号,比如234567,在该日志内容表中,日志id为123456,操作实体id为tf_f_cust_group,属性id为tf_f_cust_group.calling_type_code,属性名称为总部行业,属性原值为制造业,调整后值为专用设备制造业。第二个日志内容的内容id为随机生成的序列号,比如345678,在该日志内容表中,日志id为123456,操作实体id为tf_f_cust_group,属性id为tf_f_cust_group.link_man,属性名称为联系人,属性原值为张伟,调整后值为申明。

所述日志内容记录模块1042还包括列表内容表10422,用于存储当属性为列表时列表中的内容。所述操作日志信息记录模块1041生成的一条操作日志信息可以对应多个列表内容表,所述列表内容表中包括列表内容id、操作类型列表内容等。

所述志附加信息记录模块1043,用于记录所述的已更改的对象的附加信息,所述操作日志信息记录模块1041生成的一条操作日志信息可以对应多条日志附加信息。

图6是根据一示例性实施例示出的一种日志展示服务模块的框图,参照图6,所述日志展示服务模块105包括:

客户基本信息查询展示服务模块1051,用于提供查询客户基本信息的功能;

客户拓展信息查询展示服务模块1052,用于提供查询客户附加信息的功能;

纳税人资质查询展示服务模块1053,用于提供查询纳税人资质的功能;

日志查询展示服务模块1054,用于提供查询企业的资料管理系统的信息的功能。

本公开中,所述日志展示服务模块105还可以包括其他子模块,图7只列出了几种可能的子模块。

图7是根据一示例性实施例示出的获取操作事件模块100的框图,参照图7,所述获取操作事件模块100包括:

服务请求事件获取模块1000,用于获取服务请求方的服务请求事件;

第一获取模块1001,用于从所述服务请求事件中获取vo对象,所述vo对象为所述服务请求方正在资料管理系统中操作的实体对象,所述vo对象包括修改前的vo实体对象和修改后的vo实体对象;

第二获取模块1002,用于采用java反射机制并通过getclass函数从所述修改前的vo实体对象中获取所述的已变更的对象的修改前的属性;

第三获取模块1003,用于采用java反射机制并通过getclass函数从所述修改后的vo实体对象中获取所述的已变更的对象的修改后的属性。

本公开中,所述vo属性判断模块包括:

判断子模块,用于判断从所述修改前的vo实体对象中获取的修改前的属性和从所述修改后的vo实体对象中获取的修改后的属性是否符合vo规范;

所述装置还包括:

日志报警模块,用于当所述的修改前的属性和所述的修改后的属性不符合所述vo规范时,发出日志报警。

本公开中,所述对象比较模块包括:

比较子模块,用于当所述的修改前的属性和所述的修改后的属性符合所述vo规范时,采用equals方法比较两者的属性值是否相等,若不相等,则将所述的修改前的属性的属性值和所述的修改后的属性的属性值记录到所述公共组件库。

本发明可以同时为大多数资料管理类软件提供记录日志变更的服务,只要所述资料管理类软件的后台程序按照vo规范进行调整,在进行日志变更前向本发明发送服务请求,则本发明获取所述资料类软件中已变更的对象的修改前的属性和修改后的属性并判断两者的属性值是否相等,若不相等则将所述的修改前的属性的属性值和修改后的属性的属性值记录到用于储存日志信息的公共组件库;本发明无需用户重新开发适合自己的资料管理系统的日志服务产品而只需用户按照本发明的vo规范对资料管理系统进行相应调整即可为用户提供记录日志变更的服务,能有效解决相关技术中日志服务产品同质化开发严重的问题。

本发明对于集团客户的管理能很好的发挥优势,企业不需要额外开发适合自己系统的日志服务产品,只需依照本发明的规范适当调整资料管理系统,便能完整地记录客户信息、纳税人资质信息的变更过程和变更轨迹,使得客户经理能更好地服务和跟踪客户,减轻了客户经理工作压力,提高客户经理工作效率。

本发明可以在不知道服务请求方的实体vo类内部构造的情况下对实体信息变更情况进行识别、记录和查询展示,即只需从服务请求方获取已更改的vo对象,真正实现了非入侵方式的日志记录。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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