CN117407457A - 基于可配置规则的多源数据融合方法、系统及设备 - Google Patents
基于可配置规则的多源数据融合方法、系统及设备 Download PDFInfo
- Publication number
- CN117407457A CN117407457A CN202311714413.1A CN202311714413A CN117407457A CN 117407457 A CN117407457 A CN 117407457A CN 202311714413 A CN202311714413 A CN 202311714413A CN 117407457 A CN117407457 A CN 117407457A
- Authority
- CN
- China
- Prior art keywords
- source
- data
- rule
- standard field
- service module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012216 screening Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 230000004927 fusion Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于可配置规则的多源数据融合方法、系统及设备,该方法包括:在用数服务模块中,配置数源和标准字段,并初始化数源描述信息;所述用数服务模块是封装了数源查询和组合数据功能的独立模块;根据数源类型,查询数源的原始数据;对原始数据进行筛选,获得筛选后数据;将筛选后数据组合成为多源合一数据;基于查询字段,将所述多源合一数据输出为标准字段。本方案能够有效提升系统更新和迭代的效率,提高数据质量,减少数据误差,并且缩短了多次请求耗时,避免无意义的重复查询,提升了数源的查询效率。
Description
技术领域
本发明涉及大数据处理及数据融合领域,特别涉及针对多数据来源、异构数据库的数据融合处理方法、系统及设备。
背景技术
在用户使用业务系统时,经常需要用户根据系统要求填写相关用户信息,为了减少用户填报的工作量,系统可以在用户同意的前提下从其他数据来源(以下简称数源)中获取到部分用户信息,方便用户使用。通常从数源获取数据有两种方式,一种是从其他系统通过HTTP协议访问相关接口获取数据,一种是从各类数据库中获取数据。
通过HTTP接口获取数据,可以将其他系统作为数源,根据数源提供方的接口描述和规范,指定相关的接口路径,添加必要的认证授权,组织并提交合适的参数,解析处理接口返回的数据,这样就可以完成数据的相关操作。
当使用数据库作为数源时,可以根据业务系统的特点和数据结构,选择合适类型的数据库。通过指定数据库地址和端口,建立和数据库的稳定连接,根据业务需求组织结构化的查询语句,即可实现数据相关的操作。
由于存在多种不同类型的数源,在获取和解析数据上需要根据数源做适配。接口类型的数源需要根据接口定义调整请求方式,认证授权和请求参数,不同的数源接口还会存在不同结构的数据封装。数据库类型的数源需要根据数据库类型选择对应的查询语言,根据查询需求和数据库特性组织查询语句。
这种情况下,每接入一类新的数源,就需要业务系统根据提供的数源规范和数据结构来做适配。这部分数源接入的功能和业务系统的主流程无关,但却需要集成在业务系统的代码中,要求业务系统随数源接入更新和发布,不利于业务系统的维护和更新。同时,如果多个系统需要接入同一个数源,在数源接入上会存在大量的重复工作和相似代码,会影响业务系统的开发效率。
当业务系统需要通过多个数源获取组合数据集时,由于单个数源能够提供的数据是有限的,业务系统需要从不同的数源获取到数据后再进行筛选组合,这会增加开发成本和数源请求次数,容易造成性能瓶颈。在网络环境方面,由于需要和多个数源做数据交换,接入数源的业务系统都需要能够和数源互通,这对网络环境要求较高,不利于运行环境的资源隔离和访问控制。
发明内容
针对现有技术中的不足,为了至少部分地解决上述技术问题,本发明提供了一种基于可配置规则的多源数据融合方法、系统及设备。具体而言,本发明公开了以下技术方案:
一方面,本发明提供了一种基于可配置规则的多源数据融合方法,该方法包括:
S1、在用数服务模块中,配置数源和标准字段规则,基于数源规则形成数源描述信息,基于标准字段规则形成标准字段描述信息;所述用数服务模块是封装了数源查询和组合数据功能的独立模块;
S2、用数服务初始化时,用数服务模块基于数源描述信息初始化对应的数源,并进行缓存;对应的数源处于启用状态;
S3、业务系统提交数据查询请求,用数服务模块根据数据查询请求中的请求数据确定对应的标准字段,进行数据查询时,查询包含该些标准字段对应数据的数源;请求数据,也即查询请求中想要查询的数据;
S4、当步骤S3的结果中包含多个数源时,进行多源合一筛选,获得筛选后数源;基于筛选后数源获取请求数据;
S5、基于查询字段,将获取的一个或多个请求数据按照标准化的数据格式,输出为标准字段数据。
优选地,所述S1中,所述数源描述信息包括数源规则基本信息、预定义数据结构、入参和出参、数源连接信息;
所述标准字段描述信息包括标准字段基本信息、格式转换信息、校验规则、数源关联规则。
优选地,所述标准字段基本信息描述标准字段的基本的描述信息;
格式转换信息用以区分对象类型和字符串类型;
校验规则用以将定义的规则添加到标准字段中;
数源关联规则包含标准字段名称、数据类型、关联的其他数源、关联的数源的具体字段。
优选地,所述S5中,标准化的数据格式包括:标准字段名称、标准字段编码、筛选后数源数据、格式转换信息。
优选地,查询数源数据时,基于所述数源关联规则对查询字段分组,属于同一数源的数据分配到同一组;
查询中,指定查询的字段列表,用数服务模块对数源进行查询时,只返回所述字段列表中字段的数据。
优选地,所述S4中,多源合一筛选方式为:
以数源响应时间作为指标,筛选响应最快的数源,作为筛选后数源;或者,
基于检查规则进行筛选,筛选出符合检查规则的数源。
优选地,所述用数服务模块在启动用数服务时,对进行缓存的数源基于数源描述信息建立连接池。
优选地,用数服务模块采用异步方式,同时从多个数源获取待查询数据;同一数源的标准字段数据由同一数据查询请求从同一数源获取。
优选地,以数源响应时间作为指标进行多源合一选的具体方式为:
以数源为横轴,以响应时间为纵轴,通过插值法,建立数源-响应时间拟合曲线:
;
其中,x表示数源,y表示对应数源的响应时间,(x0, y0) 与 (x1, y1)表示已知的两个坐标;
则响应时间y的计算方式为:
;
再基于响应时间要求,筛选出对应的数源。
优选地,对获取到的多源合一后的数据,基于格式转换信息获取其数据类型,基于数据类型要求对多源合一后的数据进行格式转换;所述数据类型包括字符串类型、对象类型。
优选地,在执行查询请求之前,用数服务模块基于查询请求对应的数源信息,获取对应的唯一标识符,并在缓存中查询是否存在具有该唯一标识符的缓存;若具有该唯一标识符的缓存存在,且有效,则用数服务模块将该缓存中的数据作为查询结果直接返回,否则用数服务模块执行查询请求,并在完成数据查询后将返回结果刷新到缓存中,并为缓存中数据生成唯一标识符。
优选地,所述唯一标识符基于数源ID、查询参数生成,具体方式为:
将数源ID和查询参数组合为一个字符串S:
;
S1-Sn代表各个输入参数,n表示字符的数量;
定义函数:
;
其中,‘a’表示字符a,i表示字符串中第i个字符;
唯一标识符的计算方式为:
;
其中,Base表示进制,MOD表示取余,hash[0]取0。
优选地,所述唯一标识符还包括第二部分,第二部分计算方式如下:
将不同数源的用户ID组合成字符串,m表示用户ID组成的字符串字符数量;
计算函数如下:
;
Base64代表Base64加密,j=1,2,3…,m;
;
其中,(0)为空白字符串,/>代表唯一标识符第二部分,/>表示半角字符点号;
将hash[i]和进行字符串拼接后,得到完整唯一标识符。
另一方面,本发明还提供了一种基于可配置规则的多源数据融合系统,该系统包括业务系统模块、用数服务模块、前端配置模块、接口类型数源、数据库类型数源;
所述业务系统模块基于数据使用需求,向用数服务模块提交数据查询请求,并接收用数服务模块返回的查询结果;
所述前端配置模块用于对用数服务系统配置数源规则和标准字段规则;
用数服务模块基于数源规则形成数源描述信息,基于标准字段规则形成标准字段描述信息;用数服务模块是封装了数源查询和组合数据功能的独立模块;
用数服务模块包括数源查询单元,数源查询单元根据数据查询请求中的请求数据确定对应的标准字段,进行数据查询时,查询包含该些标准字段对应数据的数源;请求数据,也即查询请求中想要查询的数据;
用数服务模块还包括筛选单元,在数源查询单元的查询结果中包含多个数源时,筛选单元进行多源合一筛选,获得筛选后数源,并基于筛选后数源获取请求数据;
用数服务模块还包括输出单元,用于将获取的一个或多个请求数据按照标准化的数据格式,输出为标准字段数据;
接口类型数源、数据库类型数源分别连接用数服务模块,用以提供待查询的数源。
再一方面,本发明还提供了一种基于可配置规则的多源数据融合设备,该设备包含处理器、存储器、接口类型数源系统、数据库类型数源系统;所述处理器调用存储器中存储的指令,以执行如上所述的基于可配置规则的多源数据融合方法,或者搭载如上所述的基于可配置规则的多源数据融合系统。
与现有技术相比,本方案具备以下有益效果:
通过接入用数服务,业务系统在接入数源时,能够有效减少业务系统在接入数源上的重复的工作和流程,通过配置统一的数源规则,字段信息,校验规则,能够有效消除不同数源之间的差异性和复杂性,使得业务系统能够专注于业务系统的主要业务流程,能够有效提升系统更新和迭代的效率。
通过整合多数源,能够丰富业务系统的数据来源,在使用单一数源时,如果数源状态异常或数据缺失,会造成业务系统关键数据无法复用,无法实现业务闭环。多数源能够有效提升业务系统的稳定性,在多个数源中选择最符合条件的数据,能够提高数据质量,减少数据误差。
在获取数源数据时,以数源为单位将标准字段分组,通过一次请求获取该数源的所有数据,有效缩短了多次请求耗时。通过建立数源缓存,能够有效避免无意义的重复查询。根据业务系统需要进获取需要的标准字段,减少了数据传输,提升了数源的查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例的系统结构示意图;
图2为本发明实施例的概念划分示意图;
图3为本发明实施例的多源合一查询数据流程图;
图4为本发明实施例的数据融合方法流程图;
图5为本发明实施例的用数服务启动流程图;
图6为本发明实施例的查询数据流程图;
图7为本发明实施例的响应时间评估指标计算方式示意图;
图8为本发明实施例的设备结构图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。应当明确,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域技术人员应当知晓,下述具体实施例或具体实施方式,是本发明为进一步解释具体的发明内容而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的理解。
针对目前的多源数据融合问题,为了消除不同数源之间的差异,将数源的配置和查询标准化,在本实施例中,结合图1所示,我们将数源查询和组合数据的流程封装到了一个独立的服务中,以下简称为用数服务。通过用数服务,业务系统不需要关心如何从数源查询数据,如何从数源筛选所需的字段,如何根据多个数源组合数据集。这样对于业务系统来说,用数服务就是唯一的数源。
结合图2所示,在用数服务中,所有数源和字段的描述信息被标准化为一系列规则,主要分为两种规则:数源规则和标准字段规则。通过这两种规则,用数服务完成数据的定义、获取、校验、筛选的步骤,并通过统一的格式封装、输出,接下来详细介绍各个部分的作用和构成。数源规则也即形成数源的描述信息,根据标准字段规则形成标准字段描述信息。数源规则中,主要包含的内容包括数源规则基本信息、预定义数据结构、配置数源的入参和出参、数源连接信息等;标准字段规则中,主要包括标准字段基本信息、格式转换信息、校验规则、数源关联规则。
结合图3、图5所示,针对不同类型的数源,数源规则通过配置数源的入参和出参,用来限定该数源能够接受的筛选条件和返回值;通过标准化的数据结构限制数源返回的数据结构,方便统一解析出数据内容;通过数源连接信息来确定如何获取这个数源的数据。这一系列的规则称为数源描述信息。在用数服务初始化时,用数服务会筛选所有符合条件的数源,这些数源应该是启用状态并且按照统一规范命名,然后根据数源描述信息初始化对应的数源并在系统中缓存。
为了避免不同类型数源之间数据类型不统一,便于数据集的组装融合,用数服务通过标准字段规则来规范数据输出。标准字段规则又主要包含标准字段基本信息、格式转换信息、校验规则、数源关联规则四部分,具体内容如下:
标准字段基本信息用来描述这个标准字段的名称、编码等基本的描述信息。
格式转换信息主要用来区分对象类型和字符串类型,如果是对象类型,则会在输出的时候以JSON对象的形式输出,如果是字符串类型则以字符串的形式输出,使用方可以根据这个信息判断数据的类型。
校验规则信息依赖于另一套规则系统,将规则系统定义的规则添加到标准字段上,在获取原始数据后调用规则系统的SDK进行校验。
数源关联规则具体包含了标准字段的名称、数据类型、关联了哪些数源、数源中具体的哪个字段(简称:数源字段)等信息。
以上四部分合称为标准字段描述信息,在实际获取数源数据时,用数服务会根据上面的标准字段描述信息获取、校验、选优数源返回的数据,然后建立标准化的数据格式。标准化的数据格式包括以下内容:标准字段名称、标准字段编码、选优后的数源数据、格式转换信息。这样可以保证通过用数服务获取到的数据始终是符合条件的标准格式的数据。
为了高效快速地获取到所需的数据集,用数服务会在启动后读取配置文件,获取配置文件里面的连接池参数,建立数据库连接池、网络连接池,连接池建立后在系统运行时持续保留。用数服务在建立数源连接时,通过获取数据库连接池、网络连接池的连接使用,避免了每次查询数据时重复建立连接的网络开销和耗时。
在查询数源数据时,根据前面说到的数源关联规则对查询字段分组,属于同一个数源的数据会分配到同一组内,在一次查询中获取属于该数源的所有数据,避免多次请求数源。通过指定查询的字段列表,用数服务在查询时只返回查询所请求的字段数据,避免无用的数据传输,减少传输耗时。
当一个标准字段存在多个数源时,用数服务根据内置的取数规则按顺序选择数据通过校验系统的数据。在一个更为优选的实施方式中,在从多个数源查询数据时,通过计算数源响应时间的99百分位数和平均响应时间等响应时间指标,选择响应最快的数源。在另一个优选的实施方式中,还可以按照配置的一系列检查规则进行筛选,具体的检查规则例如有:不为空,长度不大于N,类型必须为数字,值范围必须是1-N等等,筛选出符合规则的数源数据,这一筛选过程我们以下简称为多源合一。
在又一个具体的实施方式中,结合图3、图4、图5、图6所示,我们对本发明的方案进一步进行详细阐述。本发明的用数服务通过配置统一的数源规则和标准字段规则,将不同类型的数源、字段标准化,根据数源描述信息提前建立对应数源的连接池,在查询数源数据时根据数源类型组装特定分组查询语句,执行对应的查询操作。通过这种方式能够有效减少业务系统在接入不同数源过程中的重复工作和相似流程,有效提高系统更新迭代的效率。
①通过对标准字段描述信息中的校验规则和内置的选优逻辑进行校验和选优,从多个数源中筛选出最符合条件的数据,避免单一数源的局限性。②通过连接池、同数源分组等策略优化数源查询过程,避免重复建立数据连接和重复的数据查询流程,能够有效提升数源的查询效率。③通过统一的输出格式,附带统一的自描述信息,附带标准字段基本信息,有效降低了使用人员的使用成本,能更快的理解字段含义。
具体操作为:首先需要通过前端配置系统配置数源描述信息,描述数源的连接信息和数据结构。对于接口类型来说,需要配置接口地址,认证方式,接口参数和接口返回值数据结构,对于数据库类型来说,需要配置数据库地址,数据库类型,数据库用户名密码等信息。通过这些信息,用数服务能够保证数据的准确性和可靠性。
配置数源后,需要通过前端页面配置标准字段,明确标准字段描述信息。包括名称、类型、长度、描述、校验规则、关联规则等等。通过配置统一的标准字段描述,用数服务能够将不同数源返回的不同类型的数据标准化为统一格式的标准字段,消除不同数源之间的差异性,保证数据的一致性和规范性,减少业务系统在使用数据过程中的转换和校验工作,保证数据质量。
在完成数源相关的配置后,用数服务在启动时会根据数源配置缓存符合条件的数源并根据配置建立连接池。接口类型的数源会根据数源定义的接口地址,初始化HTTP连接池,定义相关的认证授权方式和数据解析器。数据库类型的数源会根据配置的数据库地址和端口、用户名密码、数据库名称等配置初始化数据库连接池,定义对应的数据库查询生成方式和结果数据集的解析器。相关的连接池通过开源框架实现,自动进行装配,用数服务通过引用对应框架,让用户只需要进行配置即可获得对应连接池,连接池的具体建立方法,可以使用本领域中的现有技术或产品来完成,此处仅对连接池在本系统中应当具有的基本功能上的要求做限定,对于连接池的具体建立算法等不做限定,具体连接池的算法框架及代码设置等,是本领域技术人员所熟知的,此处不再赘述。
在以上操作完成后,接下来在业务系统访问用数服务提交数据查询请求时,根据数据查询请求中想要查询的数据---即请求数据,用数服务根据查询请求中请求数据确定相应的标准字段,进而可以获取对应的数源关联规则;数源关联规则包括了需要查询的数源和数源里的数源字段,将所有需要查询的数源字段按数源进行分组。分组完成后,用数服务从对应数源获取原始数据,同一数源的数源字段(即标准字段)对应的数据由同一个查询请求从同一个数源获取,为了提高数据查询效率,用数服务采用异步的方式同时从多个数源获取数据。
紧接着根据标准字段的校验规则,调用另一套规则系统的SDK筛选出符合规则条件的数据,此处,一般的数据使用要求及规则,是与本系统进行数据交互的其他单独的规则系统进行处理,因此,对于数据的校验规则,调用其他系统中的已建立的SDK进行筛选即可,这些具体规则的制定,可以基于用户系统的不同数据要求来设置,该部分不属于本方案的保护范围之内。用数服务根据返回结果,将规则系统判断为不通过的数据进行剔除,只保留通过的数据。
当校验之后仍旧有多个数源的结果都通过时,用数服务需要通过多源合一进行选优,在查询该标准字段时从多个数源中选择最优质的数源的数据。在一个优选的实施方式中,本方案的选优过程可以设置为以响应时间作为评估指标,通过插值法,以数源为横轴,请求响应时间为纵轴,可以计算该数源响应时间的99百分位,选择响应时间最短的数源数据,计算过程如图7所示。
已知坐标 (x0, y0) 与 (x1, y1),要得到 [x0, x1] 区间内某一位置 x 在直线上的值。其中,我们以x表示数源,以y表示对应数源的响应时间,根据图7可以得到如下公式:
;
由于 x 值已知,可以从公式得到 y 的值:
;
再根据策略选取符合条件的值。
通过多源合一,用数服务能够避免单一数源的限制,最大程度保障数源数据的可用性和完整性,异步执行查询和标准字段缓存能够有效提升数源查询的效率,减少业务系统的开发成本。
接着对获取到的多源合一后的数据再根据格式转换信息进行格式转换。从格式转换信息获取该数据的数据类型,将数源结果转换为对应的类型,本实施例中,可以默认是字符串类型,如果为对象类型,则通过JSON反序列化重建对象再输出结果。
用数服务在执行数源的查询请求时,根据数源描述信息,获取数源类型,从而确定采用以何种方式获取该数源的数据。一种优选的实施方式为:对于接口类型的数源,通过HTTP请求获取数据,用数服务会根据数源描述信息中的数源连接信息里面获取接口地址,确定请求的访问路径,根据数源的查询参数将业务系统指定的查询参数封装到对应请求,根据数源的认证授权方式添加请求的用户认证凭据,最后由用数服务执行对应请求;对于数据库类型的数源根据数据库类型组装查询语句,根据数源的查询参数将业务系统的查询参数拼接到语句中作为筛选条件,根据数源的数据结构拼接需要查询的字段名称,最后由数据库执行查询语句并返回查询结果。
在一个更为优选的实施方式中,客户端发送查询请求到用数服务中,这些请求应该具备用户唯一标识、场景信息等字段;用数服务在执行真正的查询请求之前,用数服务会根据查询请求的场景信息获取数源信息,然后根据查询参数按照固定的规则生成唯一标识符,唯一标识符的生成,是在系统执行一次查询,就生成一次,以便于后续数据的重复使用;根据唯一标识符从本机的缓存中查询是否存在相关缓存;如果缓存存在并且处于60秒有效期内,那么用数服务会将缓存中的数据作为查询结果直接返回;如果缓存不存在或缓存已经过期或失效,用数服务会执行对应的查询请求,并在转换和筛选完成后,将按照标准字段格式的返回;同时根据前文计算出的唯一标识符将本次结果存入本机缓存中(即存入本质性模块所在系统的缓存中),避免重复查询。唯一标识符的详细计算过程如下:
唯一标识符第一部分:首先根据数源的Id,和查询参数,查询参数例如可以是身份证号码、用户id等,将它的每个字符对应一个数字,按照顺序乘以进制(Base)的幂进行相加,因为计算结果可能很大,所以取计算结果的余数(MOD)。定义字符串S如下:
;
S代表最终组合的字符串,字符串由数源ID和查询参数组合而成,S1-Sn代表各个输入参数,比如数源id、身份证号码等,n表示字符的数量。
定义函数如下:
;
通过与‘a’字符进行算术运算,获得一个数字的idx(Si),代替该字符进行运算,i表示字符串中第i个字符。
则唯一标识符的计算公式如下:
;
其中,Base表示进制,hash[0]取0,MOD表示取余,hash则为本函数名称,hash[i]即为最终的唯一标识符第一部分。
在一些特殊的情形下,我们还可以给唯一标识符设置第二部分,以确保其安全性。唯一标识符第二部分:第一部分对计算值取余后存在冲突的可能,为了保护用户隐私,需要额外的加入明文用户ID来标识唯一用户,确保每位用户只能获取自己的信息。
为了兼容不同数源,我们将不同数源的用户ID组合成字符串,m表示用户ID组成的字符串字符数量。
定义函数如下:
;
Base64代表Base64加密,通过对进行Base64加密兼容特殊字符,j=1,2,3…,m。
则唯一标识符第二部分的计算公式如下:
;
其中,(0)为空白字符串,/>代表唯一标识符第二部分,中间用半角字符点号分割,/>表示半角字符点号。
将hash[i]和上述的唯一标识符第二部分进行字符串拼接后,得到完整唯一标识符。
当然,对于唯一标识符的使用,我们可以仅使用第一部分,以满足基本的系统要求,也可以采用组合了第一部分、第二部分的完整唯一标识符的方式,以提高系统安全性。
在以上过程(查询、筛选、选优、转换)都结束之后获取到字段的原始数据,按照标准字段定义,将不同类型的原始数据转换为标准字段的数据类型。为了保证数据的准确性,根据系统默认的输出格式进行统一的输出,格式具有统一的数据结构,结构中除了数源结构还包含了标准字段基本信息、格式转换信息,方便使用方快速了解该字段的用途,这样的统一格式消除了不同类型数源之间的差异性,通过集成多种类型的数源并提供统一的配置方式,将数源接入的流程屏蔽在业务系统的主流程之外,使得业务系统不用关心数源接入的细节,无需针对各类特殊数据结构做处理,简化了业务系统的功能更新和开发迭代的流程,提高了业务系统的开发效率。
同时,本发明的方案还可以通过系统的方式来实现,再次结合图1所示,该系统可以包括业务系统模块、用数服务模块、前端配置模块、接口类型数源、数据库类型数源;
所述业务系统模块基于数据使用需求,向用数服务模块提交数据查询请求,并接收用数服务模块返回的查询结果;
所述前端配置模块用于对用数服务系统配置数源规则和标准字段规则;
用数服务模块基于数源规则形成数源描述信息,基于标准字段规则形成标准字段描述信息;用数服务模块是封装了数源查询和组合数据功能的独立模块;
用数服务模块包括数源查询单元,数源查询单元根据数据查询请求中的请求数据确定对应的标准字段,进行数据查询时,查询包含该些标准字段对应数据的数源;
用数服务模块还包括筛选单元,在数源查询单元的查询结果中包含多个数源时,筛选单元进行多源合一筛选,获得筛选后数源,并基于筛选后数源获取请求数据;
用数服务模块还包括输出单元,用于将获取的一个或多个请求数据按照标准化的数据格式,输出为标准字段数据;
接口类型数源、数据库类型数源分别连接用数服务模块,用以提供待查询的数源。
对应的系统模块,可以执行如上实施例中给出的基于可配置规则的多源数据融合方法中所涉及的各个功能步骤。
此外,本发明的方案还可以通过设备的方式来实现,即设置为一种电子设备。图8所示为本发明一实施例提供的设备的结构示意图。
如图8所示,设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或者具有数据处理能力和/或信息执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器601可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序信息,处理器601可以运行所述程序信息,以实现上文所述的本发明的各个实施例的基于可配置规则的多源数据融合方法或者其他期望的功能。
在一个示例中,设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置603可以包括例如键盘、鼠标等等。
该输出装置604可以向外部输出各种信息。该输出装置604可以包括例如显示器、通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该设备600中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,设备600还可以包括任何其他适当的组件。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本方案的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本方案的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本方案中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.基于可配置规则的多源数据融合方法,其特征在于,所述方法包括:
S1、在用数服务模块中,配置数源和标准字段规则,基于数源规则形成数源描述信息,基于标准字段规则形成标准字段描述信息;所述用数服务模块是封装了数源查询和组合数据功能的独立模块;
S2、用数服务初始化时,用数服务模块基于数源描述信息初始化对应的数源,并进行缓存;对应的数源处于启用状态;
S3、业务系统提交数据查询请求,用数服务模块根据数据查询请求中的请求数据确定对应的标准字段,进行数据查询时,查询包含该些标准字段对应数据的数源;
S4、当步骤S3的结果中包含多个数源时,进行多源合一筛选,获得筛选后数源;基于筛选后数源获取请求数据;
S5、基于查询字段,将获取的一个或多个请求数据按照标准化的数据格式,输出为标准字段数据。
2.根据权利要求1所述的方法,其特征在于,所述S1中,所述数源描述信息包括数源规则基本信息、预定义数据结构、入参和出参、数源连接信息;
所述标准字段描述信息包括标准字段基本信息、格式转换信息、校验规则、数源关联规则。
3.根据权利要求2所述的方法,其特征在于,所述标准字段基本信息描述标准字段的基本的描述信息;
格式转换信息用以区分对象类型和字符串类型;
校验规则用以将定义的规则添加到标准字段中;
数源关联规则包含标准字段名称、数据类型、关联的其他数源、关联的数源的具体字段。
4.根据权利要求1所述的方法,其特征在于,所述S5中,标准化的数据格式包括:标准字段名称、标准字段编码、筛选后数源数据、格式转换信息。
5.根据权利要求1所述的方法,其特征在于,所述S4中,多源合一筛选方式为:
以数源响应时间作为指标,筛选响应最快的数源,作为筛选后数源;或者,
基于检查规则进行筛选,筛选出符合检查规则的数源。
6.根据权利要求5所述的方法,其特征在于,以数源响应时间作为指标进行多源合一选的具体方式为:
以数源为横轴,以响应时间为纵轴,通过插值法,建立数源-响应时间拟合曲线;再基于响应时间要求,筛选出对应的数源。
7.根据权利要求2所述的方法,其特征在于,对获取到的多源合一后的数据,基于格式转换信息获取其数据类型,基于数据类型要求对多源合一后的数据进行格式转换;所述数据类型包括字符串类型、对象类型。
8.根据权利要求1所述的方法,其特征在于,在执行查询请求之前,用数服务模块基于查询请求对应的数源信息,获取对应的唯一标识符,并在缓存中查询是否存在具有该唯一标识符的缓存;若具有该唯一标识符的缓存存在,且有效,则用数服务模块将该缓存中的数据作为查询结果直接返回,否则用数服务模块执行查询请求,并在完成数据查询后将返回结果刷新到缓存中,并为缓存中数据生成唯一标识符。
9.基于可配置规则的多源数据融合系统,其特征在于,所述系统包括业务系统模块、用数服务模块、前端配置模块、接口类型数源、数据库类型数源;
所述业务系统模块基于数据使用需求,向用数服务模块提交数据查询请求,并接收用数服务模块返回的查询结果;
所述前端配置模块用于对用数服务系统配置数源规则和标准字段规则;
用数服务模块基于数源规则形成数源描述信息,基于标准字段规则形成标准字段描述信息;用数服务模块是封装了数源查询和组合数据功能的独立模块;
用数服务模块包括数源查询单元,数源查询单元根据数据查询请求中的请求数据确定对应的标准字段,进行数据查询时,查询包含该些标准字段对应数据的数源;
用数服务模块还包括筛选单元,在数源查询单元的查询结果中包含多个数源时,筛选单元进行多源合一筛选,获得筛选后数源,并基于筛选后数源获取请求数据;
用数服务模块还包括输出单元,用于将获取的一个或多个请求数据按照标准化的数据格式,输出为标准字段数据;
接口类型数源、数据库类型数源分别连接用数服务模块,用以提供待查询的数源。
10.基于可配置规则的多源数据融合设备,其特征在于,所述设备包含处理器、存储器、接口类型数源系统、数据库类型数源系统;所述处理器调用存储器中存储的指令,以执行如权利要求1-8任一所述的基于可配置规则的多源数据融合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311714413.1A CN117407457B (zh) | 2023-12-14 | 2023-12-14 | 基于可配置规则的多源数据融合方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311714413.1A CN117407457B (zh) | 2023-12-14 | 2023-12-14 | 基于可配置规则的多源数据融合方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407457A true CN117407457A (zh) | 2024-01-16 |
CN117407457B CN117407457B (zh) | 2024-02-27 |
Family
ID=89494713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311714413.1A Active CN117407457B (zh) | 2023-12-14 | 2023-12-14 | 基于可配置规则的多源数据融合方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407457B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150213035A1 (en) * | 2014-01-24 | 2015-07-30 | Bit Stew Systems Inc. | Search Engine System and Method for a Utility Interface Platform |
CN106066892A (zh) * | 2016-06-20 | 2016-11-02 | 四川上略互动网络技术有限公司 | 一种基于多源数据融合的旅游信息数据处理方法 |
CN107256219A (zh) * | 2017-04-24 | 2017-10-17 | 卡斯柯信号有限公司 | 应用于自动列车控制系统海量日志的大数据融合分析方法 |
CN107480208A (zh) * | 2017-07-26 | 2017-12-15 | 广州供电局有限公司 | 多源电力数据融合处理方法和装置 |
CN110941612A (zh) * | 2019-11-19 | 2020-03-31 | 上海交通大学 | 基于关联数据的自治数据湖构建系统及方法 |
CN111708773A (zh) * | 2020-08-13 | 2020-09-25 | 江苏宝和数据股份有限公司 | 一种多源科创资源数据融合方法 |
CN112506946A (zh) * | 2020-12-03 | 2021-03-16 | 平安科技(深圳)有限公司 | 业务数据查询方法、装置、设备及存储介质 |
US20220019742A1 (en) * | 2020-07-20 | 2022-01-20 | International Business Machines Corporation | Situational awareness by fusing multi-modal data with semantic model |
CN114911870A (zh) * | 2022-05-26 | 2022-08-16 | 沈阳建筑大学 | 一种面向多源异构工业数据的融合管理架构 |
CN116739336A (zh) * | 2023-05-09 | 2023-09-12 | 广西电网有限责任公司 | 基于多源异构数据融合模型的电网灾害预警方法及系统 |
CN117093599A (zh) * | 2023-08-23 | 2023-11-21 | 南京邮电大学 | 面向异构数据源的统一sql查询方法 |
-
2023
- 2023-12-14 CN CN202311714413.1A patent/CN117407457B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150213035A1 (en) * | 2014-01-24 | 2015-07-30 | Bit Stew Systems Inc. | Search Engine System and Method for a Utility Interface Platform |
CN106066892A (zh) * | 2016-06-20 | 2016-11-02 | 四川上略互动网络技术有限公司 | 一种基于多源数据融合的旅游信息数据处理方法 |
CN107256219A (zh) * | 2017-04-24 | 2017-10-17 | 卡斯柯信号有限公司 | 应用于自动列车控制系统海量日志的大数据融合分析方法 |
CN107480208A (zh) * | 2017-07-26 | 2017-12-15 | 广州供电局有限公司 | 多源电力数据融合处理方法和装置 |
CN110941612A (zh) * | 2019-11-19 | 2020-03-31 | 上海交通大学 | 基于关联数据的自治数据湖构建系统及方法 |
US20220019742A1 (en) * | 2020-07-20 | 2022-01-20 | International Business Machines Corporation | Situational awareness by fusing multi-modal data with semantic model |
CN111708773A (zh) * | 2020-08-13 | 2020-09-25 | 江苏宝和数据股份有限公司 | 一种多源科创资源数据融合方法 |
CN112506946A (zh) * | 2020-12-03 | 2021-03-16 | 平安科技(深圳)有限公司 | 业务数据查询方法、装置、设备及存储介质 |
CN114911870A (zh) * | 2022-05-26 | 2022-08-16 | 沈阳建筑大学 | 一种面向多源异构工业数据的融合管理架构 |
CN116739336A (zh) * | 2023-05-09 | 2023-09-12 | 广西电网有限责任公司 | 基于多源异构数据融合模型的电网灾害预警方法及系统 |
CN117093599A (zh) * | 2023-08-23 | 2023-11-21 | 南京邮电大学 | 面向异构数据源的统一sql查询方法 |
Non-Patent Citations (2)
Title |
---|
许元斌;: "基于电力大数据的多源异构参数融合方法的研究与应用", 电子设计工程, no. 14, 25 July 2016 (2016-07-25) * |
陈永记 等: "基于微服务的数字电厂异构系统融合研究", 信息技术与信息化, 25 September 2023 (2023-09-25) * |
Also Published As
Publication number | Publication date |
---|---|
CN117407457B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442942B2 (en) | Modified representational state transfer (REST) application programming interface (API) including a customized GraphQL framework | |
KR102048653B1 (ko) | 외부 데이터 소스로부터의 데이터를 이용한 데이터베이스 쿼리 응답의 강화 기법 | |
US20230396669A1 (en) | Technologies for transparent function as a service arbitration for edge systems | |
CN108696381B (zh) | 一种协议配置方法及装置 | |
CN111198901B (zh) | 基于多数据源的统一数据服务开放方法及系统 | |
KR20180077251A (ko) | 시맨틱 IoT에 대한 Restful 오퍼레이션들 | |
AU2017269110A1 (en) | Defining application programming interfaces (Apis) using object Schemas | |
KR102417742B1 (ko) | Api 데이터 수집시스템 및 그에 관한 방법 | |
AU2012271083A1 (en) | Enriching database query responses using data from external data sources | |
CA2855191A1 (en) | Systems and methods for dynamic service integration | |
CN103220167B (zh) | 一种分布式监控系统及其数据存储方法 | |
US20210124684A1 (en) | Systems and methods for implementing overlapping data caching for object application program interfaces | |
CA3017523C (en) | Technologies for auto discover and connect to a rest interface | |
CN111654542B (zh) | 代理服务器、执行服务器、接收设备以及任务执行方法 | |
CN115543479A (zh) | 一种适用于动态参数的接口调用解析方法及装置 | |
WO2020151209A1 (zh) | 一种基于多维数据变量的数据交互方法及平台 | |
CN117407457B (zh) | 基于可配置规则的多源数据融合方法、系统及设备 | |
CN112732372A (zh) | 服务调用方法、装置及服务器 | |
CN115509647B (zh) | Api接口访问方法、转换方法、装置、设备及存储介质 | |
US11803786B2 (en) | Enterprise integration platform | |
CN114840574A (zh) | 数据查询方法、服务器、节点及存储介质 | |
CN109117152B (zh) | 服务生成系统及方法 | |
CN115017185A (zh) | 一种数据处理方法、装置及存储介质 | |
US11847511B1 (en) | Standardized interactions across different blockchains | |
KR20210085551A (ko) | 벤더 특화 통신 기능을 구비하는 어댑티브 오토사 시스템 및 그것의 소스 코드 생성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |