业务数据处理方法及设备
本申请是申请日为2014年08月29日,申请号为2014104360913,发明名称为“业务数据处理方法及设备”的中国专利申请的分案申请。
【技术领域】
本发明涉及数据处理技术领域,尤其涉及一种业务数据处理方法及设备。
【背景技术】
在现有技术中,业务数据通常被存储到服务端进行维护管理,服务端向客户端提供业务数据的增删改查等能力。当客户端进行业务处理过程中要对业务数据进行操作时,向服务端发送业务请求,由服务端根据业务请求对有关业务数据进行处理并将处理结果返回给客户端。这种由服务端对所有业务数据进行维护管理的方法可以保证业务数据对所有客户端的一致性,但服务端的负担较重。
【发明内容】
本发明的多个方面提供一种业务数据处理方法及设备,用以减轻服务端的负担。
本发明的一个方面,提供了一种业务数据处理方法,该方法包括:
服务端确定业务数据中的业务规则和基础数据,将所述业务规则存储在所述服务端本地,将所述基础数据发送给客户端,以使所述客户端将所述基础数据存储于所述客户端本地。
根据本发明一具体实施方式,该方法还包括:
所述服务端存储所述基础数据;
所述业务规则和所述基础数据在所述服务端的存储是物理隔离的。
根据本发明一具体实施方式,该方法还包括:
所述服务端对所述业务规则和所述基础数据的属性进行标识和维护,所述属性用以标识业务规则或基础数据。
根据本发明一具体实施方式,该方法还包括:
所述服务端接收所述客户端发送的业务参数,所述业务参数是所述客户端基于所述基础数据确定的;
根据所述业务参数获取进行业务处理所需的目标业务规则;
将所述目标业务规则返回给所述客户端,以使所述客户端根据所述目标业务规则进行业务处理。
根据本发明一具体实施方式,所述服务端接收所述客户端发送的业务参数包括:
所述服务端接收所述客户端根据服务名对服务的调用,通过所述服务获取业务参数;
所述根据业务参数获取进行业务处理所需的目标业务规则包括:
所述服务端根据所述服务名确定所述服务对应的所有业务规则在服务端的存储位置,依据所述业务参数确定所述服务下的目标业务规则。
根据本发明一具体实施方式,该方法还包括:
所述服务端根据第一调整请求,对所述基础数据进行调整,并将调整后的基础数据发送给所述客户端;和/或,
所述服务端根据第二调整请求,对所述业务规则进行调整。
根据本发明一具体实施方式,所述服务端根据第一调整请求,对所述基础数据进行调整,包括:
所述服务端在业务使用率小于预设门限时,根据所述第一调整请求,对所述基础数据进行调整。
本发明的第二方面,提供了一种业务数据处理方法,该方法包括:
客户端接收服务端发送的业务数据中的基础数据;
将所述基础数据存储于所述客户端本地;
其中所述业务数据中的业务规则存储于所述服务端。
根据本发明一具体实施方式,该方法还包括:
所述客户端在本地存储的基础数据中获取进行业务处理所需的目标基础数据,利用所述目标基础数据进行业务处理。
根据本发明一具体实施方式,该方法还包括:
所述客户端根据本地存储的基础数据,获取业务参数;
将所述业务参数发送给所述服务端,以使所述服务端根据所述业务参数获取进行业务处理所需的目标业务规则并返回;
根据所述目标业务规则进行业务处理。
根据本发明一具体实施方式,所述客户端根据本地存储的基础数据,获取业务参数包括:
所述客户端接收包含业务标识信息的业务处理指令;
根据所述业务标识在本地存储的基础数据中进行查询,获取与所述业务标识信息相关联的基础数据作为业务参数。
根据本发明一具体实施方式,将所述业务参数发送给所述服务端,包括:
所述客户端根据服务名,调用所述服务端提供的服务,通过所述服务将所述业务参数提供给所述服务端。
根据本发明一具体实施方式,该方法还包括:
所述客户端向所述服务端发送第一调整请求,接收所述服务端依据所述第一调整请求对所述基础数据进行调整后返回的调整后的基础数据;和/或,
所述客户端向所述服务端发送第二调整请求,以便所述服务端依据所述第二调整请求对所述业务规则进行调整。
本发明的第三方面,提供了一种业务数据处理装置,设置于服务端,该装置包括:
确定模块,用于确定业务数据中的业务规则和基础数据;
存储模块,用于将所述业务规则存储在所述服务端本地;
第二发送模块,用于将所述基础数据发送给所述客户端,以使所述客户端将所述基础数据存储在所述客户端本地。
根据本发明一具体实施方式,该装置还包括:
接收模块,用于接收所述客户端发送的业务参数,所述业务参数是所述客户端基于所述基础数据获取的;
获取模块,用于根据所述业务参数获取进行业务处理所需的目标业务规则;
第一发送模块,用于将所述目标业务规则发送给所述客户端,以使所述客户端根据所述目标业务规则进行业务处理。
根据本发明一具体实施方式,该装置还包括:
调整模块,用于根据第一调整请求,对所述基础数据进行调整,并将调整后的基础数据发送给所述客户端,和/或,根据第二调整请求,对所述业务规则进行调整。
本发明的第四方面,提供了一种业务数据处理装置,设置于客户端,该装置包括:
接收模块,用于接收服务端发送的业务数据中的基础数据,将所述基础数据存储于所述客户端本地;
其中所述业务数据中的业务规则存储于所述服务端。
根据本发明一具体实施方式,该装置还包括:
获取模块,用于根据本地存储的基础数据,获取业务参数;
发送模块,用于将所述业务参数发送给所述服务端,以使所述服务端根据所述业务参数获取进行业务处理所需的目标业务规则并返回;
接收模块,用于接收所述服务端返回的所述目标业务规则;
业务处理模块,用于根据所述目标业务规则进行业务处理。
根据本发明一具体实施方式,所述发送模块具体用于根据服务名,调用所述服务端提供的服务,通过所述服务将所述业务参数提供给所述服务端。
本发明的第五方面,提供了一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现如上所述方法中执行的操作。
本发明的第六方面,提供了一种计算机存储介质,所述计算机存储介质被编码有计算机程序,所述程序在被一个或多个计算机执行时,使得所述一个或多个计算机执行如上所述方法中执行的操作。
在本发明中,业务数据中的基础数据存储于客户端,业务数据中的业务规则存储于服务端,服务端只需维护管理业务数据中的业务规则,不需要维护管理业务数据中的基础数据,使得业务处理过程能够部分或全部的在客户端完成,减轻了服务端的负担。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的业务数据处理方法的流程示意图;
图2为本发明另一实施例提供的业务数据处理方法的流程示意图;
图3为本发明一实施例提供的客户端的结构示意图;
图4为本发明一实施例提供的服务端的结构示意图;
图5为本发明另一实施例提供的服务端的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了克服现有技术中业务数据全部存储在服务端,由服务端进行维护管理并进行有关业务处理造成服务端负担较重的问题,本发明以下实施例提供了一种对业务数据进行分类存储,并将服务端的部分功能分给客户端承担,从而达到减轻服务端负担的目的的方法。
图1为本发明一实施例提供的业务数据处理方法的流程示意图。如图1所示,该方法包括:
101、当需要基于业务数据中的业务规则进行业务处理时,客户端根据本地存储的业务数据中的基础数据,获取业务参数。
102、客户端将业务参数发送给存储业务规则的服务端,以使服务端根据业务参数获取进行业务处理所需的目标业务规则并返回。
103、客户端根据上述目标业务规则进行业务处理。
通过对业务数据进行研究发现:业务数据一般会包括两大类数据,一类是相对静态,变化周期不频繁的数据,一类是相对动态,变化周期频繁的数据。在本发明实施例中,将相对静态,变化周期不频繁的数据称为基础数据,将相对动态,变化周期频繁的数据称为业务规则。
在本实施例中,将业务数据分解为基础数据和业务规则,并对业务数据进行分类存储。基础数据存储在客户端一侧,而业务规则存储在服务端一侧。
基于上述分类存储,当需要基于业务数据中的业务规则进行业务处理时,客户端基于本地存储的基础数据,确定获取业务规则所需的业务参数,之后将业务参数发送给服务端。服务端接收客户端发送的业务参数,根据业务参数从本地存储的业务规则中获取进行业务处理所需的目标业务规则,并将获取的目标业务规则返回给客户端。客户端根据目标业务规则进行业务处理。
根据业务不同,基础数据以及业务规则都会有所不同。举例说明,如果是存储类业务,则基础数据可能是所存储的数据,所存储的数据可能是文本信息、音频信息、业务交易涉及的商品信息或者业务交易涉及的用户信息等,而业务规则可能是如何存储这些数据的存储规则,例如可以规定何时存储、存储到什么位置等。如果是查询类业务,则基础数据可能是待查询的数据,例如可以是商品信息、用户信息、文本信息、音频信息等等,而业务规则可能是如何查询这些数据的查询规则,例如可以规定查询条件、查询地址等。
其中客户端确定需要基于业务规则进行业务处理的方式包括但不限于以下几种:
客户端可以提供一个交互界面,在需要基于业务规则进行业务处理时,用户可以通过上述交互界面向客户端发出指令,客户端可以根据该指令执行上述业务数据处理流程。
或者,客户端也可以提供一物理按键,供用户向客户端发出基于业务规则进行业务处理的指令,客户端可以根据该指令执行上述业务数据处理流程。
值得说明的是上述指令可以携带与业务处理相关的一些信息(可以简称为业务标识信息),这些信息会因为业务处理的不同而不同。举例说明,这些信息可以是业务处理的类型,例如可以是查询类业务处理、存储类业务处理、上传类业务处理或获取类业务处理等,又或者,这些信息可以是业务处理涉及的对象信息,例如可以是待查询的商品名称、待存储的数据名称、待上传的文件标识和大小或者待获取网络数据的存储地址等。
基于上述,客户端可以根据上述业务标识信息,从本地存储的基础数据中获取相应的业务参数。客户端可以提供数据查询业务,具体的,用户可以按照约定的服务方式(主要是传参格式),将查询所需的参数提供给客户端,客户端根据查询所需的参数在本地查询获取相关联的基础数据,以供执行其他操作使用。基于此,客户端在通过上述指令获取业务标识信息后,可以根据该业务标识信息在本地基础数据中进行查询,获取与该业务标识信息相关联的基础数据作为业务参数,以供获取业务规则时使用。
值得说明的是,客户端除了可以提供数据查询业务之外,还可以提供数据校验业务,具体的,用户可以按照约定的服务方式,将校验所需的参数(主要是指待校验的数据)提供给客户端,客户端基于本地存储的基础数据对传入的参数、以及参数之间关联关系逐一进行校验,并返回校验结果,以供执行其他操作使用。
进一步,客户端还可以同时提供数据查询+数据校验业务,具体的,具体的,客户端会先进行数据查询操作,再基于查询到的基础数据进行校验操作。
在一可选实施方式中,服务端可以提供多种服务,并将所提供的服务的名称(简称为服务名)存储到客户端。一个服务将以服务名的方式被客户端的业务感知,多个业务可以共用一个服务名,与服务端进行业务规则的查询。不同业务可以通过同一服务名下不同的业务参数做业务个性化细分,以匹配不同的业务规则。基于此,客户端将业务参数发送给服务端的一种实现方式包括:客户端根据服务名,调用服务端提供的服务,通过该服务将业务参数提供给服务端。值得说明的,本实施例中的服务名除了可以标识服务端提供的服务之外,还包括路参信息,该路参信息用于指示该服务对应的业务规则在服务端的存储位置。基于此,服务端可以根据服务名确定目标业务规则所属的服务,进而确定该服务对应的所有业务规则的存储位置,之后根据业务参数确定该服务下的目标业务规则。服务端在获取目标业务规则后,将目标业务规则返回给客户端;客户端根据目标业务规则进行业务处理。例如,客户端可以根据目标业务规则进行查询操作、存储操作、上传操作或获取操作等。
由上述可见,本实施例将业务数据中的基础数据存储在客户端,将业务数据中的业务规则存储在服务端,使得服务端只需维护管理业务规则,可以不用维护管理基础数据,并且基于这种新的存储方式,客户端可以分担服务端的部分功能,例如基于业务规则的业务处理过程由客户端执行,服务端也不需要负责业务处理过程,因此,与现有技术相比,减轻了服务端的压力。
图2为本发明另一实施例提供的业务数据处理方法的流程示意图。如图2所示,该方法包括:
201、服务端确定业务数据中的业务规则和基础数据,将业务规则存储在本地,并将基础数据发送给客户端,以使客户端将基础数据存储在本地。
202、当需要基于业务数据中的业务规则进行业务处理时,客户端根据本地存储的业务数据中的基础数据,获取业务参数。
203、客户端将业务参数发送给存储业务规则的服务端,以使服务端根据业务参数获取进行业务处理所需的目标业务规则并返回。
204、客户端根据目标业务规则进行业务处理。
本实施例可基于图1所示实施例实现,区别在于:服务端预先确定业务数据中的业务规则和基础数据,将业务规则存储在本地,并将基础数据发送给客户端以使客户端将基础数据存储在本地,实现业务数据的分类存储。
服务端在接收到业务数据后可以识别出业务数据中的业务规则和基础数据。在对数据进行存储过程中,服务端可以对数据的基础信息进行标识和维护,数据的基础信息包括数据的属性,数据的属性用以标识该数据是基础数据还是业务规则。优选的,服务端可以以特性的字段对数据的属性信息进行标识和维护。另外,基础数据可以存储在基础数据库表中,业务规则可以存储在业务规则库表中,并且基础数据库表和业务规则库表中的数据是物理隔离的,相互不影响。
关于步骤202-204可参见图1中步骤101-103的描述,在此不再赘述。
在一可选实施方式中,在客户端进行业务处理之前或进行业务处理之后,服务端还可以根据调整请求对基础数据和/或业务规则进行调整,并将调整后的基础数据发送给客户端。可选的,服务端可以提供可视化的管理页面,通过该管理页面接收用户或运维人员输入的调整请求。服务端将调整后的基础数据发送给客户端,可以是在对基础数据进行调整之后,将全部基础数据发送给客户端,也可以是将基础数据中发生变化的部分基础数据发送给客户端。
具体的,当服务端接收到第一调整请求时,根据第一调整请求对基础数据进行调整,并将调整后的基础数据发送给客户端。对基础数据的调整方式包括但不限于:增加、删除、修改。第一调整请求包括对基础数据进行调整所需的信息,该信息与具体调整方式有关。例如,如果对基础数据进行增加,则第一调整请求应该包括所要增加的基础数据;如果对基础数据进行删除,则第一调整请求应该包括所要删除的基础数据或所要删除的基础数据的标识,等等。值得说明的是,服务端除了具有对基础数据进行调整的能力之外,还可以提供基础数据的查询功能,即允许外部(例如运维人员或客户端等)对基础数据进行查询。其中,通过查询可以判断服务端对基础数据的调整是否满足了需求。
进一步,考虑到服务端在向各客户端发送调整后的基础数据时,在时间上一般会存在时间差,如果时间差较大,可能造成各客户端在时间差内使用的基础数据不同,从而影响业务。基于此,考虑到对基础数据的变更不是一种常态的多变状态,因此服务端可以将对基础数据的调整以及向各客户端发送调整后的基础数据的操作放在业务使用相对不频繁的时间段进行,即服务端可以在业务使用率低于预设门限时,根据第一调整请求,对基础数据进行调整,并将调整后的基础数据发送给客户端,这样既可以做到对基础数据的调整,又可以降低甚至屏蔽由时间差带来的各客户端的基础数据瞬时不匹配的问题。
本实施例对上述门限的取值不做限定,根据不同应用需求,上述门限可以取不同的值,例如可以是10%、15%、5%等。
当服务端接收到第二调整请求时,根据第二调整请求对业务规则进行调整。对业务规则的调整方式包括但不限于:增加、删除、修改。第二调整请求包括对业务规则进行调整所需的信息,该信息与具体调整方式有关。例如,如果对业务规则进行增加,则第二调整请求应该包括所要增加的业务规则;如果对业务规则进行删除,则第二调整请求应该包括所要删除的业务规则或所要删除的业务规则的标识,等等。值得说明的是,服务端除了具有对业务规则进行调整的能力之外,还可以提供业务规则的查询功能,即允许外部(例如运维人员或客户端等)对业务规则进行查询。其中,通过查询可以判断服务端对业务规则的调整是否满足了需求。
本实施例将业务规则存储到服务端,有利于满足灵活多变的业务需求,做到业务规则调整的及时性和快速性。另外,考虑到客户端通常会有多个,因此,将业务规则存储到服务端,还有利于将业务规则的变动体现到所有客户端的使用上。
在一可选实施方式中,当所要进行的业务处理不需要基于业务数据中的业务规则时,即该业务处理只涉及到业务数据中的基础数据,则客户端可以直接在本地存储的基础数据中获取进行业务处理所需的目标基础数据,利用所获取的目标基础数据完成业务处理。例如,在业务处理仅涉及查询基础数据的情况下,客户端可以直接从本地进行基础数据的查询,不需要像现有技术那样通过服务端进行查询,因此,本实施例将基础数据存储在客户端,有利于客户端快速、方便的查询基础数据。
综上可见,本实施例提供的业务数据处理方法,通过将业务数据中的基础数据和业务规则进行分类存储的方式,不仅可以保证客户端准确稳定的查询到相对静态固定的基础数据,而且还可以保证快速高效的调整基础数据使用的业务规则,同时还可以减轻服务端的负担。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本发明一实施例提供的客户端的结构示意图。如图3所示,该客户端包括:获取模块31、发送模块32、接收模块33和业务处理模块34。
获取模块31,用于在需要基于业务数据中的业务规则进行业务处理时,根据本地存储的业务数据中的基础数据,获取业务参数。
发送模块32,与获取模块31连接,用于将获取模块31获取的业务参数发送给存储业务规则的服务端,以使服务端根据业务参数获取进行业务处理所需的目标业务规则并返回。
接收模块33,用于接收服务端返回的目标业务规则。
业务处理模块34,与接收模块33连接,用于根据接收模块33接收的目标业务规则进行业务处理。
在一可选实施方式中,发送模块32具体可用于根据服务名,调用服务端提供的服务,通过该服务将业务参数提供给服务端。
进一步,接收模块33还用于在发送模块32发送业务参数之前,接收服务端发送的业务数据中的基础数据。可选的,接收模块33还可用于在客户端进行业务处理之前或之后,接收服务端发送的经过调整后的基础数据。
在一可选实施方式中,当业务处理不需要基于业务数据中的业务规则时,即只需基于业务数据中的基础数据,则获取模块31还可以从本地存储的基础数据中获取进行业务处理所需的目标基础数据。相应的,业务处理模块34可以根据获取模块31获取的目标基础数据完成业务处理。举例说明,不需要基于业务规则的业务处理,例如可以是查询基础数据。
本实施例提供的客户端,存储业务数据中的基础数据,并支持服务端存储业务数据中的业务规则,在需要基于业务规则进行业务处理时,基于本地存储的基础数据获取业务参数并发送给服务端,之后基于进行业务处理所使用的业务规则进行业务处理,分担了服务端的部分功能,减轻了服务端的负担,有利于提高服务端的性能。
图4为本发明一实施例提供的服务端的结构示意图。如图4所示,该服务端包括:接收模块41、获取模块42和第一发送模块43。
接收模块41,用于接收客户端在需要基于业务数据中的业务规则进行业务处理时发送的业务参数,该业务参数是客户端从本地存储的业务数据中的基础数据中获取的。
获取模块42,与接收模块41连接,用于根据接收模块41接收的业务参数,从本地存储的业务数据中的业务规则中获取进行业务处理所需的目标业务规则。
第一发送模块43,与获取模块42连接,用于将获取模块42获取的目标业务规则发送给客户端,以使客户端根据该目标业务规则进行业务处理。
在一可选实施方式中,如图5所示,服务端还可以包括:确定模块44、存储模块45和第二发送模块46。
确定模块44,用于在接收模块41接收业务请求之前,确定业务数据中的业务规则和基础数据。
存储模块45,与确定模块44连接,用于将确定模块44确定出的业务规则存储在本地。存储模块45与获取模块42连接,用于向获取模块42提供业务规则。
第二发送模块46,与确定模块44连接,用于将确定模块44确定出的基础数据发送给客户端,以使客户端将基础数据存储在本地。
进一步,如图5所示,该服务端还可以包括:调整模块47。
调整模块47,用于根据第一调整请求,对上述基础数据进行调整,并将调整后的基础数据发送给客户端。和/或,
调整模块47,用于根据第二调整请求,对业务规则进行调整。可选的,调整模块47与存储模块45连接。
进一步,调整模块47具体可用于在业务使用率小于预设门限时,根据第一调整请求,对上述基础数据进行调整,并将调整后的基础数据发送给客户端。
本实施例提供的服务端,存储业务数据中的业务规则,并支持客户端存储业务数据中的基础数据,在需要基于业务规则进行业务处理时,根据客户端的请求向客户端提供所需的业务规则,使得客户端根据服务端提供的业务规则进行业务处理。本实施例提供的服务端,可以不用负责基础数据的维护管理,并且也不再负责业务处理过程,减轻了负担。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。