掌桥专利:专业的专利平台
掌桥专利
首页

配置数据处理方法、系统、设备及计算机可读存储介质

文献发布时间:2023-06-19 19:13:14


配置数据处理方法、系统、设备及计算机可读存储介质

技术领域

本发明涉及软件技术领域,具体涉及一种配置数据处理方法、系统、设备及计算机可读存储介质。

背景技术

键值(Key-Value,KV)型数据库,是一种以键值对存储数据的一种数据库,类似Java中的数据地图(Map)。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。其中,key是关键字,Value是值。基于kv型数据库的Key-Value分布式存储系统,例如MemcacheDB、Tokyo Tyrant等,通常具有查询速度快、存放数据量大、支持高并发,并且非常适合通过主键进行查询。因此,目前许多大型的业务服务系统,例如保险业务服务平台等系统,大多会采用KV型数据库进行数据导入、查询以及获取等。例如,一些业务服务系统对应的服务器端使用的一些服务发现工具,例如Etcd,Redis,Consul,Zookeeper等,均采用KV型存储。

随着业务的多元化需求,业务服务系统也需要满足更多的业务需求。例如,为了实现数据隔离,有些业务服务系统需要支持多租户管理;为了适应不同类型的业务需求,运行业务服务系统所需的服务器或者服务器集群往往还需要提供多种软件应用开发所需的多种环境,例如开发环境(development,dev环境)、测试环境(testing,test环境)以及生产环境(production,prod环境)等。

然而,目前应用在运行上述大型业务服务系统的服务器或服务器集群中的数据处理方案,通常是在一个运行环境中设置一个独立的配置中心,而不支持多种环境(即多环境)使用同一配置中心、或者对各环境中的配置中心相关配置数据进行统一管理。而且,目前加之,已应用了多租户技术的保险业务服务系统等大型系统中租户分类复杂、数量繁多,因而目前也无法实现对应每个租户设置一个配置中心来管理相关配置数据。

发明内容

本申请实施例提供了一种配置数据处理方法、系统、设备及计算机可读存储介质,其中的方法能够实现对数据库存储及查询过程中需要用到的配置数据进行统一化管理,该统一化管理既可以通过同一个配置中心来实现,也可以通过预设有统一数据组织方式的多个配置中心来实现,能够适用于多租户、多环境以及多服务的数据配置场景,有利于提高数据管理效率及准确率。

具体地,第一方面,本申请实施例提供了一种配置数据处理方法,应用于电子设备,该电子设备中部署至少一个配置中心服务和数据库,并且该方法包括:获取对第一类数据的数据导入请求;基于第一类数据的内容以及数据导入请求,确定用于定位第一类数据中各项数据的至少一项配置数据,其中至少一项配置数据包括第一类数据所应用的项目信息、以及与第一类数据相关的信息对应存储的第一数据表中的第一主键;基于至少一个配置中心服务中设置的配置数据组织方式,对至少一项配置数据进行数据拼接,得到用于识别第一类数据的第二主键,其中各配置中心服务中设置的配置数据组织方式相同,项目信息用于确定组成第二主键的配置项;在数据库中创建用于存放第一类数据的第二数据表,并采用第二主键作为第二数据表的主键存储第一类数据。

例如,上述电子设备可以是服务器,上述配置中心服务可以是部署在服务器上的软件服务,与数据库之间进行数据存储、查询等方面的交流。另外,上述第一类数据可以是用户指定导入数据库的待存储数据,例如可以是保单数据等,上述第二主键例如是拼接主键。上述方法即对于用户请求导入的第一类数据,可以先分析确定该类数据中各项数据所对应的配置数据,进而采用统一的配置数据组织方式将所确定的配置数据组织成拼接主键,作为存储第一类数据的数据表的主键。其中,统一的配置数据组织方式即上述各配置中心服务中设置的配置数据组织方式相同。如此,可以使存储第一类数据的数据表的主键能够关联上该第一类数据所应用的项目信息、以及与第一类数据相关的信息,便于在后期查询数据时能根据这些信息中的任一项或多项来精准定位数据查询范围或者精准定位到具体的数据等,提高数据查询效率以及准确率。

在上述第一方面的一种可能的实现中,基于第一类数据的内容以及数据导入请求,确定用于定位第一类数据中各项数据的至少一项配置数据,包括:基于数据导入请求,确定第一类数据所应用的项目信息;以及,基于第一类数据的内容,获取第一类数据中的各项数据对应的数据描述信息;确定存放数据描述信息的一个或多个第一数据表,并确定一个或多个第一数据表的第一主键;将确定的项目信息和一个或多个第一数据表的第一主键确定为配置数据。

例如,上述数据导入请求中包括用户进行数据导入操作时设置的项目名称等信息,即第一类数据所应用的项目信息。该项目信息例如可以是某个数据库对应部署的主机识别信息,或者是该数据允许被调用的端口信息等。上述数据描述信息例如可以是租户信息、运行环境信息、服务信息以及文件版本信息等中的一项或多项,对应确定的第一数据表例如可以是租户数据表、环境数据表、服务数据表以及版本数据表等数据表中的一项或多项。因而,最终确定的第一主键例如可以是上述租户数据表中对应于第一类数据的租户名、或者是环境数据表中对应于第一类数据的环境名、或者是服务数据表中对应于第一类数据的服务名、或者是版本数据表对应于第一类数据的版本号等。

在上述第一方面的一种可能的实现中,基于至少一个配置中心服务中设置的配置数据组织方式,对至少一项配置数据进行数据拼接,包括:基于配置数据组织方式,确定第二主键的主键数据结构,其中主键数据结构包括至少一项配置数据;基于主键数据结构,进行数据拼接。

在上述第一方面的一种可能的实现中,基于配置数据组织方式,确定第二主键的主键数据结构,包括:识别至少一项配置数据中的项目信息以及第一主键;根据配置数据组织方式,从第一主键中确定组成主键数据结构的主键元素;根据项目信息确定组成主键数据结构的配置项;将主键元素与配置项通过特定符号连接,确定为第二主键的主键数据结构。

在上述第一方面的一种可能的实现中,通过以下方式在至少一个配置中心服务中设置配置数据组织方式:创建一个或多个拼接实例,各拼接实例的数据结构与主键数据结构之间具有一对一的对应关系。

在上述第一方面的一种可能的实现中,基于下列各项中的任一项数据结构,创建拼接实例:租户+分隔符+环境+分隔符+服务+分隔符+配置项;租户+分隔符+服务+分隔符+配置项;租户+分隔符+环境+分隔符+配置项;租户+分隔符+环境+分隔符+服务+分隔符+标签+分隔符+配置项;租户+分隔符+环境+分隔符+服务+分隔符+标签+分隔符+版本号+分隔符+配置项。

在上述第一方面的一种可能的实现中,第二主键的主键信息包括配置项和主键元素,并且,方法还包括:接收到对第二类数据的数据获取请求;从数据获取请求中提取用于定位第二类数据的至少一项配置参数,其中第一类数据包括第二类数据,并且配置参数为至少一项配置数据对应的参数;基于确定的配置参数,从第二主键的主键信息中匹配出指示第二类数据的目标主键信息;基于匹配到的目标主键信息,从第一类数据中获取第二类数据。

在上述第一方面的一种可能的实现中,电子设备为服务器,并且服务器上运行业务服务系统,业务服务系统的客户端运行在用户使用的终端设备上,并且,对第一类数据的数据导入请求、以及对第二类数据的数据获取请求均为客户端向服务器发送的请求。

例如,上述业务服务系统可以是保险业务服务系统、银行业务服务系统等,在此不做限制。

在上述第一方面的一种可能的实现中,数据库为键值(KV)型数据库。

可以理解,在另一些实施例中,本申请提供的配置数据处理方法所适用的数据库也可以包括其他数据库,例如可能与KV型数据库具有相似数据存储结构的数据库等,在此不做限制。

第二方面,本申请实施例提供了一种系统,系统包括至少一个配置中心服务和数据库;其中,配置中心服务包括:参数校验模块,用于基于获取的第一类数据的内容以及数据导入请求,确定用于定位第一类数据中各项数据的至少一项配置数据,其中至少一项配置数据包括第一类数据所应用的项目信息、以及与第一类数据相关的信息对应存储的第一数据表中的第一主键;以及,数据处理模块,用于基于设置的配置数据组织方式,对参数校验模块确定的至少一项配置数据进行数据拼接,得到用于识别第一类数据的第二主键,其中项目信息用于确定组成第二主键的配置项;以及用于在数据库中创建用于存放第一类数据的第二数据表,并采用第二主键作为第二数据表的主键存储第一类数据。

在上述第二方面的一种可能的实现中,参数校验模块,还用于从接收到的对第二类数据的数据获取请求中,确定用于定位第二类数据的至少一项配置参数,其中第一类数据包括第二类数据,并且配置参数为至少一项配置数据对应的参数;并且,数据处理模块,还用于基于参数校验模块确定的配置参数,从第二主键下的各项主键信息中匹配出第二类数据对应的目标主键信息;基于匹配到的目标主键信息,从第一类数据中查询并获取第二类数据。

第三方面,本申请实施例提供了一种设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得设备执行上述第一方面及各种可能的实现中提供的配置数据处理方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时,使计算机执行上述第一方面及各种可能的实现中提供的配置数据处理方法。

附图说明

图1所示为本申请实施例提供的一种配置数据所应用的数据处理场景示意图。

图2所示为本申请实施例提供的一种配置数据处理方法的实施流程示意图。

图3所示为本申请实施例提供的一种基于数据库的数据主键确定的拼接主键的过程示意图。

图4所示为本申请实施例提供的一种服务器200的系统软件结构示意图。

图5所示为本申请实施例提供的一种服务器200的硬件结构示意图。

具体实施方式

为了便于理解本申请方案,下面先对本申请实施例涉及的部分技术领域的概念进行解释。

(1)数据库,用于存储大量的数据实体。数据库设计则是将数据库中的数据实体及这些数据实体之间的关系,进行规划和结构化的过程。

(2)实例(Instance),是对象(Object)的具体表示,而对象通常具有身份(Identity)和属性值(Attribute Values)两个特征。对象就是类的实例,所有的对象都是实例。操作可以作用于实例,实例可以有状态地存储操作结果。故而,实例通常被用来模拟在现实世界中存在的、具体的或原型的东西。

(3)数据表,是由表名、表中的字段和表的记录三个部分组成的。设计数据表结构(以下简称表结构)就是定义数据表文件名,确定数据表包含哪些字段,各字段的字段名、字段类型、及宽度,并将这些数据输入到计算机当中。

(4)主键,指的是数据表中一个列或多列的组合,其值能唯一地标识表中的每一行。一个数据表的主键可以与其他表的外键关联,以关联其他数据表中的字段文本等的新增、删除、变更/修改等。

图1根据本申请实施例示出了一种配置数据处理方法所应用的具有多租户、多环境、多服务配置数据的场景示意图。

如图1所示,该场景包括终端设备100和服务器(或服务器集群)200。用户可以通过终端设备100向服务器200发起数据导入、数据查询以及数据获取等数据处理请求。

为满足终端设备100发来的各类数据处理请求,服务器200可以基于不同的数据处理请求调用不同的服务或者多个服务进行相应数据的处理,例如图1所示的服务A、服务B、服务C等等。服务器200还可以对应不同的用户提供多租户管理,例如图1所示的对租户1、租户2、……、租户n对应的存储数据以及配置数据等进行数据隔离。在处理终端设备100的数据处理请求之前,服务器200可以对通过终端设备100登录的用户身份以及对应匹配的租户身份信息进行验证,以确保各租户之间的数据隔离安全。另外,服务器200还可以提供多种运行环境来提供相应服务运行所需的数据,例如图1所示的dev环境用于存储一些开发服务或开发工具运行所需的数据、test环境用于存储测试服务或测试工具运行所需的数据、以及prod环境用于存储一些生产管理服务运行所需的数据等。

继续参考图1所示,为了满足用户对数据的不同处理需求,服务器200还需要在相应环境中执行各种服务来实现相应的数据处理功能。该服务例如可以是图1所示的服务A、服务B、服务C等,其中服务A例如会调用dev环境中的数据运行以用于构建业务服务系统的数据分析功能,服务B例如会调用test环境中的数据运行以用于测试业务服务系统的系统响应能力等。在此不做赘述。

然而目前为业务服务系统提供多环境、多服务的服务器中,通常是对一个环境对应设置一个配置中心,来对该环境中运行的服务或者导入导出的数据管理实现相应配置。并且,这些服务器中由于各个环境中与待存储数据或者待获取数据对应的配置数据无法统一管理,因而也无法支持多租户进行数据隔离以提高数据的安全性。

为了解决上述问题,本申请实施例提供了一种配置数据处理方法,应用于服务器等电子设备。该方法对待存储数据对应的配置数据,可以通过配置中心采用统一的数据组织方式组织为能够精准定位到该数据的主键,用于存储或者查找相应数据。其中,该配置数据例如可以是待存储数据所属的租户信息、运行环境信息、对应调用该数据的服务信息等以及该数据即将被应用到的软件应用或应用项目信息等。上述数据组织方式则例如可以是将上述配置数据组织成能够准确指向待存储数据对应存放的数据表唯一主键,该唯一主键即拼接得到的拼接主键。

如此,在服务器运行的某个服务需要调用某个运行环境中采用上述方式存储的数据时,也可以基于待获取数据所属的租户信息、对应的运行环境信息、服务信息以及所应用的软件应用或应用项目信息等中的一项或多项,根据希望查询的数据范围拼接生成相应的数据获取请求。进而可以准确匹配到适当的数据获取范围,以及精准匹配到相应租户下、相应运行环境中对应于相应服务的数据。

可以理解,上述配置中心既可以是对应服务器中的多个环境设置的同一个配置中心,也可以是对应于各个环境分别设置的配置中心,但该分别设置的配置中心需采用统一的数据组织方式。如此,可以对各个运行环境中使用的数据对应的相关配置数据进行统一管理以及利用。基于此,服务器上如果应用了多租户技术进行数据隔离,各租户空间内使用的多个运行环境可以设置的统一的配置中心,而不同租户空间的配置中心可以采用统一的数据组织方式。如此,则可以实现对不同运行环境中的配置中心统一管理配置数据、或者实现通过不同租户空间的配置中心统一管理配置数据。

如此,在具有多租户空间、多环境以及多服务的服务器等电子设备中,数据库对应存储的各类数据所对应的配置数据可以得到有效管理,而不会混淆。并且,基于本申请统一管理配置数据后,在获取数据时也可以按照租户或者按照环境实现精准的分类获取例如将待获取数据统一维护在一个配置中心里,然后发布的时候按照需要获取需要指定租户信息或者环境信息组织成拼接主键作为相应数据获取请求中的配置信息。

在一些更为复杂的数据处理场景中,还可以增加更多与待存储数据或待获取数据有关的配置数据,例如相应数据上的标签,不同阶段导入的数据文件存储版本等,也作为拼接成唯一主键的配置信息之一,从而满足更为复杂的数据处理请求。

图2根据本申请实施例示出了一种形成拼接主键的过程示意图。

如图2所示,基于待存储数据所属的租户名,该待存储数据可以在服务器200的数据库中存储的租户表中对应一个租户名以及相应的值,例如“tenant”以及对应的值“XXX”等。基于待存储数据所应用的服务或者软件应用的运行环境,该待存储数据也可以在运行环境表中对应一个运行环境名以及相应的值,例如“sandbox”以及对应的值“XXX”、“production”以及对应的值“XXX”等。基于待存储数据所应用的服务名称,该待存储数据也可以在数据库中存储的服务表中对应一个服务名以及相应的值,例如“user-service”以及对应的值“XXX”、“policy-service”以及对应的值“XXX”等。

基于上述图2所示的与待存储数据相关的“租户表”、“环境表”以及“服务表”中的相关信息,再添加针对该待存储数据即将应用的软件应用或应用项目信息设定的配置项,则可以得到该待存储数据的拼接主键。该拼接主键对应的数据组织方式例如可以是:“租户+分隔符+环境+分隔符+服务+分隔符+配置项”,因此上述待存储数据对应的拼接主键则可以参考图2所示的“数据表”中的“拼接主键”,例如为“tenant/sandbox/user-service/db.host”、“tenant/sandbox/user-service/db.port”、“tenant/sandbox/policy-service/db.user”或者“tenant/sandbox/policy-service/db.password”等。

如图2所示,例如对于需要回送给本地主机对应的互联网协议地址(InternetProtocol Address,IP)地址的待存储数据,可以添加的配置项例如为“db.host”,对应的拼接主键的值例如为“127.0.0.1”。又例如,对于需要提供给端口调用的待存储存储数据,可以添加的配置项例如为“db.port”,对应的主键的值例如为“3306”。在此不做枚举。如此,通过拼接主键能够实现待处理数据在相应租户空间的安全隔离,基于统一管理的配置数据所确定的例如上述采用拼接主键的数据组织形式,还能够实现对应相应待存储数据更加精准的分类存储。

因而,服务器等电子设备在响应用户需求,对采用上述拼接主键的数据组织方式存储的数据进行获取或调用时,终端设备可以基于用户通过客户端发起的数据处理请求生成包含对应拼接主键的请求信息。例如,该请求中携带的拼接主键可以包括与该用户对应的租户名、相应数据被加载到的运行环境名、以及相应的服务名等信息。如此,也可以在获取相应数据时便于精准、快速的查询到所需数据,并且便于相应租户空间的各运行环境中运行的服务准确调用相应数据。

可以理解,本申请实施例所提供的配置数据处理方法,所适用的电子设备包括但不限于上述服务器200,以及终端设备100例如手机、平板电脑、桌面型、膝上型、手持计算机、上网本,以及增强现实(augmentedreality,AR)\虚拟现实(virtual reality,VR)设备、智能电视、智能手表等可穿戴设备、移动电子邮件设备、车机设备、便携式游戏机、便携式音乐播放器、阅读器设备、其中嵌入或耦接有一个或多个处理器的电视机、或能够访问网络的其他设备。

可以理解,本申请实施例提供的配置数据管理方法所适用的服务器,既可以是应用程序服务器(The Application Server),也可以是数据库服务器等,还可以是其他具有较强存储能力以及较强计算能力的集群或者其他电子设备。在此不做限制。

图3根据本申请实施例示出了一种配置数据管理方法的实施流程示意图。可以理解,图3所示流程各步骤的执行主体可以为均为服务器200。参考上述图1所示场景,该服务器200上可以提供业务服务系统的数据导入、查询、分析能力,而业务服务系统的客户端所运行的终端设备100可以向服务器100写入待存储数据或者从服务器100获取所需要的数据等。

具体地,如图3所示,该流程可以包括以下步骤:

301:获取客户端发来的数据导入请求以及待存储数据。

示例性地,用户可以通过终端设备100上运行的客户端操作导入数据,终端设备100上运行的客户端则可以向服务器200发送数据导入请求以及相应导入的待存储数据。相应地,服务器200可以获取客户端发来的数据导入请求以及对应导入的待存储数据。

作为示例,上述客户端例如是保险业务服务系统客户端,用户可以在客户端操作导入一批保单数据,该保单数据例如可以包括投保人信息、投保的保险公司信息、投保险种信息等等。

302:确定待存储数据对应的至少一项配置数据。其中,该配置数据至少包括指示该待存储数据所应用的项目信息。

示例性地,服务器200可以对获取到的待存储数据分析相关配置数据,并基于接收到的数据导入请求确定该数据所应用的项目信息。上述至少一项配置数据可以包括待存储数据所属的租户信息、对应存储的运行环境信息、对应调用该数据的服务信息、以及待存储数据上已添加的数据标签、文件版本等中的一项或多项,以及指示该待存储数据所应用的项目信息,在此不做限制。上述项目信息例如可以基于用户在客户端操作导入数据时对应选择存入的数据库信息或者对应设置的数据查看权限信息等确定。

作为示例,对于前述例子,例如上述用户例如可以是某保险公司的保单数据管理人员。参考上述图2所示,对于该用户通过客户端导入的保单数据,所属的租户(tenant)例如可以是保险公司信息,该保单数据对应存储的运行环境例如可以是隔离的某种沙箱(sandbox)环境,对应调用该保单数据服务例如可以是某个管理类的用户服务(user-service)以及保单服务(policy-service)。因此,上述导入的保单数据对应的配置数据则可以包括上述保险公司信息(tenant)、沙箱环境信息(sandbox)、以及服务信息(user-service以及policy-service)的相关信息。

进一步地,例如上述导入的保单数据应用于数据库主机调用,则该数据所应用的项目信息可以是某个数据库对应部署的主机识别信息或其他信息。又例如上述导入的保单数据应用于端口调用,则该数据所应用的项目信息例如可以是允许调用的端口信息等,在此不做限制。

303:基于待存储数据所应用的项目信息,确定待存储数据对应需要组织的拼接主键中的配置项。

示例性地,服务器200可以基于上述步骤302中确定的待存储数据所应用的项目信息,可以对应确定与该待存储数据相匹配的配置项。其中,该配置项可以用于指示上述待存储数据所应用的项目信息。

作为示例,对于前述例子,例如上述导入的保单数据所应用的项目信息为数据库主机的识别信息,则相应匹配的配置项例如可以是“db.host”。又例如,例如上述导入的保单数据所应用的项目信息为允许调用的端口信息,则相应匹配的配置项例如可以是“db.port”。在此不做限制。

304:将确定的至少一项配置数据以及所确定的配置项进行拼接,得到拼接主键。

示例性地,服务器200可以将上述步骤303中确定的配置项与上述步骤302中确定的配置数据进行拼接,以得到用于在所存储的数据库中唯一标识待存储数据的拼接主键(key)。该拼接过程可以基于预设的拼接实例确定相应的拼接规则(即数据组织方式),进而采用相应的拼接规则将各项配置数据以及配置项进行拼接。

作为示例,预设的拼接实例对应确定的拼接规则或者说数据组织方式,例如可以参考以下示例:

“租户+分隔符+环境+分隔符+服务+分隔符+配置项”;

“租户+分隔符+服务+分隔符+配置项”;

“租户+分隔符+环境+分隔符+配置项”;

“租户+分隔符+环境+分隔符+服务+分隔符+标签+分隔符+配置项”;

“租户+分隔符+环境+分隔符+服务+分隔符+标签+分隔符+版本号+分隔符+配置项”等。

在另一些实施例中,预设的拼接实例对应确定的拼接规则也可以为其他,在此不做限制。

对于前述例子,例如以“租户+分隔符+环境+分隔符+服务+分隔符+配置项”对应的数据组织方式组成拼接主键进行数据存储,则对应拼接得到的拼接主键可以参考如下示例:

tenant/sandbox/user-service/db.host;

tenant/sandbox/user-service/db.port。

在另一些实施例中,基于上述数据组织方式对应拼接得到的拼接主键还可以参考如下示例:

tenant/sandbox/policy-service/db.user;

tenant/sandbox/policyr-service/db.password;

tenant/production/user-service/db.host;

tenant/production/user-service/db.port;

tenant/production/policy-service/db.user;

tenant/production/policy-service/db.password。

可以理解,如果需要做到待存储数据的安全隔离,对应的数据组织方式可以限定拼接主键中必然包括租户信息,如此当用户再通过客户端发来相应的数据获取请求时,如果用户输入的登录信息与相应的租户信息不匹配,则无法拼接出正确的拼接主键。因而,无法获取该用户所请求的数据,实现相应租户空间的数据安全隔离。

305:将拼接得到的拼接主键作为存放待存储数据的数据表的唯一主键,并为数据表中相应的拼接主键进行赋值。

示例性地,服务器200可以将拼接得到的拼接主键作为存放待存储数据的数据表的唯一主键,并为数据表中相应的拼接主键进行赋值。可以理解,上述赋值配合拼接主键,可以用于精准定位到待存储数据中的每一条数据。

作为示例,对于前述例子,相应拼接主键对应赋值后的示例如下:

tenant/sandbox/user-service/db.host:127.0.0.1;

tenant/sandbox/user-service/db.port:3306。

在另一些实施例中,还可以包括以下对拼接主键对应赋值后的示例:

tenant/sandbox/policy-service/db.user:tommy;

tenant/sandbox/policyr-service/db.password:tommy_password;

tenant/production/user-service/db.host:127.0.0.1;

tenant/production/user-service/db.port:3306;

tenant/production/policy-service/db.user:tommy;

tenant/production/policy-service/db.password:tommy_password。

可以理解,在上述示例中,“db.host”、“db.port”等为配置项,“127.0.0.1”、“3306”等为相应拼接主键(即key)的赋值。

306:接收到客户端发来的数据获取请求。

示例性地,用户可以通过终端设备100上运行的客户端操作查询数据或者导出数据,终端设备100上运行的客户端则可以向服务器200发送数据获取请求。相应地,服务器200可以获取客户端发来的数据获取请求,并基于该数据获取请求对应的请求语句执行下述步骤307至310。

作为示例,对于前述例子,用户通过客户端发起的数据获取请求,例如可以是对已经存入服务器200数据库的保单数据的获取请求。

307:确定数据获取请求对应传递的数据配置参数。其中,该数据配置参数例如可以是上述步骤302中确定的用于组成拼接主键的配置数据以及项目信息中的一项或多项。

示例性地,服务器200可以从接收到的数据获取请求中提取数据配置参数。因此,用户通过终端设备100运行的客户端输入所请求数据的相关参数,以通过上述数据获取请求向服务器200传递的过程,可以称为用户传参。因此可以理解,“用户传参”是指传递用户主键对应的参数。基于从数据获取请求中提取的数据配置参数,服务器200可以进一步确定用于查询数据的查询语句。

作为示例,对于前述例子,用户如果想获取已存入数据库的保单数据,可以在客户端的界面上输入租户信息(例如tenant)以及运行环境信息(例如sandbox)等,作为需要传递的参数。故而,服务器200对应接收到的数据获取请求中便可以包括配置参数“tenant”以及“sandbox”等。即用户传参对应传递的数据配置参数包括租户参数“tenant”,运行环境参数为“sandbox”。

308:基于数据获取请求传递的数据配置参数,查询、获取相应拼接主键下的数据并反馈给客户端。

示例性地,服务器200可以基于上述步骤307所确定的数据配置参数,例如“tenant”、“sandbox”等,则可以从数据库中匹配包含这些参数的拼接主键,进而查询到相应拼接主键对应的数据表,并获取用户所需的全部数据。

可以理解,在一些实施例中,一些用户如果想要查询某个租户下的全部历史数据或者某个项目对应的历史数据,可以在客户端输入较少的数据配置参数,例如仅输入租户信息“tenant”和环境信息“sandbox”。在另一些实施例中,如果用户想要精准查询一些数据,也可以在客户端输入较多的数据配置参数,例如服务信息、版本号等,在此不做限制。可以理解,如果用户输入的数据配置参数越多,对应查找的数据越具体,数据范围越窄;反之,如果用户输入的数据配置参数越少,对应查找的数据范围越广。

例如,对于数据获取请求传递的数据配置参数为“tenant”以及“sandbox”时,服务器200可以在数据库中对应查询到租户名为tenant,环境名为sandbox下的所有数据。对应匹配到的数据例如可以包括:

tenant/sandbox/user-service/db.host:127.0.0.1

tenant/sandbox/user-service/db.port:3306

tenant/sandbox/policy-service/db.user:tommy

tenant/sandbox/policyr-service/db.password:tommy_password

其中,“tenant/sandbox/user-service/db.host”等为匹配到的拼接主键(key),“127.0.0.1”为相应拼接主键的值(value)。

图4根据本申请实施例示出了一种服务器200的系统软件结构示意图。

如图4所示,服务器200的系统软件结构例如可以包括配置中心服务210和数据库220。其中配置中心服务210用于对配置数据进行组织生成拼接主键以及统一管理。并且,该配置中心服务210还可以包括参数校验模块211和数据处理模块212。

其中,参数校验模块211,用于对服务器200获取的数据导入请求以及请求导入的待存储数据、或对数据获取请求等数据处理请求,进行配置数据及相关参数的检查和校验。即服务器200可以基于参数校验模块211执行上述步骤302或步骤307的过程。例如,检查待存储数据的各项配置数据,包括上述租户名、环境名、服务名等,以及数据导入请求中对待存储数据对应描述的所应用的项目信息等。又例如,参数校验模块211还可以对用户通过客户端发来的数据获取请求,校验数据配置参数并对应匹配复合该数据配置参数的拼接主键作为数据查询条件,以便于查询获取相应数据。

数据处理模块212,基于参数校验模块211对数据导入请求以及待存储数据的检查结果,对待存储数据的各项配置参数进行拼接组织,得到拼接主键,以作为待存储数据对应的数据表主键。即服务器200可以基于数据处理模块212执行上述步骤304至305的过程。以及,基于参数校验模块211对数据获取请求的校验结果,对用户传参过来的各项数据配置参数匹配对应的拼接主键,从而能够快速、精准地完成数据查询及获取等。即服务器200可以基于数据处理模块212执行上述步骤308的过程。

数据库220,用于提供数据存储能力。在本申请实施例中,数据库220可以是KV型数据库。例如,基于本申请实施例提供的配置数据处理方法,在存储数据时,基于待存储数据的至少一项配置数据以及该数据对应应用的项目信息拼接得到的拼接主键,可以作为该待存储数据对应的数据表的唯一主键,而当租户和用户不匹配的话是无法正确拼接出拼接主键进行数据存储的,因此可以实现对待存储数据的安全隔离存储。另外,在读取数据时,基于本申请实施例提供的配置数据处理方法,还可以根据用户输入的配置数据参数的多少来组织配置数据匹配拼接主键,进而灵活确定数据库中对应查询到的数据范围,既可以实现大范围数据查询,也可以实现精准的数据查询,有利于提高数据查询效率。

可以理解,基于本申请实施例提供的配置数据处理方法,所应用的业务服务系统,包括但不限于保险业务服务系统、银行业务服务系统等。这类业务服务系统所运行的服务器200可以具有上述图4所示的系统软件结构来实施上述图3所示的配置数据处理方法的各步骤。该业务服务系统的客户端可以运行在上述图2所示场景中的终端设备100上,接收用户的各项操作请求。

图5根据本申请实施例示出了一种服务器200的硬件结构示意图。

如图5所示,在一些实施例中,服务器200可以包括一个或多个处理器504,与处理器504中的至少一在个连接的系统控制逻辑508,与系统控制逻辑508连接的系统内存512,与系统控制逻辑508连接的非易失性存储器(NVM)516,以及与系统控制逻辑508连接的网络接口520。

在一些实施例中,处理器504可以包括一个或多个单核或多核处理器。在一些实施例中,处理器504可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在服务器200采用eNB(Evolved Node B,增强型基站)101或RAN(Radio Access Network,无线接入网)控制器102的实施例中,处理器504可以被配置为执行各种符合的实施例,例如,上述如图2至图所示的实施例或其他实施例。

在一些实施例中,系统控制逻辑508可以包括任意合适的接口控制器,以向处理器504中的至少一个和/或与系统控制逻辑508通信的任意合适的设备或组件提供任意合适的接口。

在一些实施例中,系统控制逻辑508可以包括一个或多个存储器控制器,以提供连接到系统内存512的接口。系统内存512可以用于加载以及存储数据和/或指令。在一些实施例中服务器200的内存512可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。

NVM/存储器516可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器516可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。

NVM/存储器516可以包括安装服务器200的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口520通过网络访问NVM/存储516。

特别地,系统内存512和NVM/存储器516可以分别包括:指令524的暂时副本和永久副本。指令524可以包括:由处理器504中的至少一个执行时导致服务器200实施如图3所示的方法的指令。在一些实施例中,指令524、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑508,网络接口520和/或处理器504中。

网络接口520可以包括收发器,用于为服务器200提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口520可以集成于服务器200的其他组件。例如,网络接口520可以集成于处理器504的,系统内存512,NVM/存储器516,和具有指令的固件设备(未示出)中的至少一种,当处理器504中的至少一个执行所述指令时,服务器200实现上述图3所示的方法。

网络接口520可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口520可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。

在一个实施例中,处理器504中的至少一个可以与用于系统控制逻辑508的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器504中的至少一个可以与用于系统控制逻辑508的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。

服务器200可以进一步包括:输入/输出(I/O)设备532。I/O设备532可以包括用户界面,使得用户能够与服务器200进行交互;外围组件接口的设计使得外围组件也能够与服务器200交互。在一些实施例中,服务器200还包括传感器,用于确定与服务器200相关的环境条件和位置信息的至少一种。

在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。

在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。

在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口520的一部分或与网络接口520交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。

在说明书对“一个实施例”或“实施例”的引用意指结合实施例所描述的具体特征、结构或特性被包括在根据本申请实施例公开的至少一个范例实施方案或技术中。说明书中的各个地方的短语“在一个实施例中”的出现不一定全部指代同一个实施例。

本申请实施例的公开还涉及用于执行文本中的操作装置。该装置可以专门处于所要求的目的而构造或者其可以包括被存储在计算机中的计算机程序选择性地激活或者重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读介质中,诸如,但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)或者适于存储电子指令的任何类型的介质,并且每个可以被耦合到计算机系统总线。此外,说明书中所提到的计算机可以包括单个处理器或者可以是采用针对增加的计算能力的多个处理器涉及的架构。

另外,在本说明书所使用的语言已经主要被选择用于可读性和指导性的目的并且可能未被选择为描绘或限制所公开的主题。因此,本申请实施例公开旨在说明而非限制本文所讨论的概念的范围。

相关技术
  • 数据处理方法、装置、计算机设备及计算机可读存储介质
  • 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
  • 数据库事务处理方法、装置、设备和计算机可读存储介质
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 表格数据处理方法、终端设备及计算机可读存储介质
  • 配置数据处理方法、装置、可读存储介质和计算机设备
  • 一种自动调整缓存的数据处理方法、数据处理系统、数据可视化设备及计算机可读存储介质
技术分类

06120115834757