CN111177246A - 一种业务数据的处理方法及装置 - Google Patents
一种业务数据的处理方法及装置 Download PDFInfo
- Publication number
- CN111177246A CN111177246A CN201911381937.7A CN201911381937A CN111177246A CN 111177246 A CN111177246 A CN 111177246A CN 201911381937 A CN201911381937 A CN 201911381937A CN 111177246 A CN111177246 A CN 111177246A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- protocol
- service
- data operation
- 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
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000007689 inspection Methods 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims description 19
- 238000013475 authorization Methods 0.000 claims description 15
- 238000011161 development Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000011278 co-treatment Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种业务数据处理方法、装置及存储介质;方法包括:接收到通过调用目标类型的数据访问接口发送的针对目标业务的数据操作请求;所述数据操作请求,用于请求对目标字段对应的业务数据执行所述目标类型的数据操作,所述目标字段为所述目标业务对应的数据协议中的字段;基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果;当所述检查结果表征对所述目标字段进行了目标协议配置时,基于所述目标类型,对所述业务数据执行所述数据操作,得到相应的数据操作结果;返回所述数据操作结果。通过本发明,能够从数据协议获得相应的数据访问接口,提高了开发效率。
Description
技术领域
本发明涉及大数据处理技术及区块链技术领域,尤其涉及一种业务数据的处理方法及装置。
背景技术
在大数据应用的共建、共治、共享场景中,一个数据会同时由多个不同角色的团队来读取、写入和共享,在对数据进行分享的过程中,需要对数据的访问能力进行开放。相关技术直接开放数据库,利用数据库自带的用户系统进行分享,或基于任意数据库单独开发数据业务的一套服务接口,并实现授权能力;然而此类方法中关系型数据库对数据协议支持度差,或非关系型数据库无法规定数据协议,针对某一数据业务,需要单独开发对应的服务接口,开发效率低下。
发明内容
本发明实施例提供一种业务数据的处理方法及装置,能够从数据协议获得包含全套能力的数据访问接口,提高开发效率。
本发明实施例提供一种业务数据的处理方法,包括:
接收到通过调用目标类型的数据访问接口发送的针对目标业务的数据操作请求;所述数据操作请求,用于请求对数据协议中目标字段对应的业务数据执行所述目标类型的数据操作,所述目标字段为所述目标业务对应的数据协议中的字段;
基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果;
当所述检查结果表征对所述目标字段进行了目标协议配置时,基于所述目标类型,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
返回所述数据操作结果。
上述方案中,所述基于所述数据格式,对所述目标字段进行协议检查,得到检查结果,包括:
确定实现所述数据访问接口的调用所采用的数据协议;
基于确定的所述数据协议,对所述请求体中的数据格式进行检查,以在检查结果表征所述数据格式正确时,确定所述目标字段进行了目标协议配置。
上述方案中,当所述目标类型为更新操作时,所述对所述业务数据执行所述数据操作,得到相应的数据操作结果,包括:
对所述目标协议进行协议转换,得到对应存储有所述业务数据的数据库的目标更新协议;
基于所述目标更新协议,对所述业务数据进行更新,得到更新后的业务数据。
本发明实施例提供一种业务数据的处理装置,包括:
接收模块,用于接收到业务方针对目标业务的数据操作请求,所述数据操作请求,用于请求对数据协议中目标字段对应的业务数据执行目标类型的数据操作;
检查模块,用于基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果;
执行模块,用于当所述检查结果表征对所述目标字段进行了目标协议配置时,基于所述目标类型,调用对应的数据访问接口,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
返回模块,用于返回所述数据操作结果。
上述方案中,所述装置还包括协议配置模块,
所述协议配置模块,用于接收到针对所述目标字段的协议配置指令;
基于所述协议配置指令,对所述目标字段进行目标协议配置,使得所述目标字段对应的业务数据能够通过接口调用的方式进行访问;
基于配置的所述目标协议,生成对应所述目标类型的数据操作的数据访问接口。
上述方案中,所述装置还包括协议配置模块,
所述协议配置模块,用于接收到针对所述业务方的权限配置指令,所述权限配置指令携带权限配置参数,所述权限配置参数,用于指示所述业务方针对所述业务数据所具备的数据操作权限;
基于所述权限配置参数,对所述业务方的数据操作权限进行配置,以基于配置的所述数据操作权限,对所述业务方的数据操作请求进行权限控制。
上述方案中,所述装置还包括权限验证模块,
所述权限验证模块,用于基于所述业务方针对所述业务数据所具备的数据操作权限,对所述业务方进行数据操作权限验证,得到验证结果;
当所述验证结果表征所述业务方具备对所述业务数据执行所述数据操作的权限时,触发对所述目标字段进行协议检查。
上述方案中,所述装置还包括频率限制模块,
所述频率限制模块,用于获取所述数据操作请求的频率,所述频率包括以下至少之一:数据操作请求总频率和授权频率;
当所述频率小于频率阈值时,触发对所述目标字段进行协议检查。
上述方案中,所述装置还包括协议转换模块,
所述协议转换模块,用于对所述目标协议进行类型转换,得到动态类型的目标协议;
存储所述动态类型的目标协议至内存,以基于所述动态类型的目标协议,对所述目标字段进行协议检查。
上述方案中,所述检查模块,还用于解析所述数据操作请求,得到所述数据操作请求的请求体中的数据格式;
基于所述数据格式,对所述目标字段进行协议检查,得到检查结果。
上述方案中,所述检查模块,还用于确定实现所述数据访问接口的调用所采用的数据协议;
基于确定的所述数据协议,对所述请求体中的数据格式进行检查,以在检查结果表征所述数据格式正确时,确定所述目标字段进行了目标协议配置。
上述方案中,所述执行模块,还用于基于所述目标类型,对所述数据操作请求中的内容进行协议转换,得到对应数据库协议的目标内容,所述数据库协议与存储有所述业务数据的数据库相适配,并基于所述目标内容,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
或者,基于所述目标类型,调用对应所述目标类型的数据库接口,对所述业务数据执行所述数据操作,得到相应的数据操作结果。
上述方案中,所述执行模块,还用于对所述目标协议进行协议转换,得到对应存储有所述业务数据的数据库的目标更新协议;
基于所述目标更新协议,对所述业务数据进行更新,得到更新后的业务数据。
上述方案中,所述装置还包括存储模块,
所述存储模块,还用于存储所述业务数据至区块链网络。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的方法。
本发明实施例具有以下有益效果:
本发明实施例基于接收到通过调用目标类型的数据访问接口发送的针对目标业务数据的数据操作请求,对目标字段进行协议检查,得到检查结果;当检查结果表征对目标字段进行了目标协议配置时,基于目标类型,对业务数据执行数据操作,得到并返回相应的数据操作结果;如此,通过将目标字段添加到目标协议中,生成对应该目标字段的全套数据访问接口,通过调用对应目标类型的数据访问接口发送针对目标业务的数据操作请求时,基于数据操作的目标类型,对目标字段对应的业务数据执行相应的数据操作,能够针对包含多个字段的某一数据协议,实现提供全套的数据访问接口的能力,提高了开发效率。
附图说明
图1为本发明实施例提供的业务数据的处理系统的一个可选的架构示意图;
图2为本发明实施例提供的电子设备的一个可选的结构示意图;
图3为本发明实施例提供的视频数据的处理方法的一个可选的流程示意图;
图4为本发明实施例提供的数据协议配置的界面示意图;
图5为本发明实施例提供的区块链网络的应用架构示意图;
图6为本发明实施例提供的区块链网络中区块链的结构示意图;
图7为本发明实施例提供的区块链网络的功能架构示意图;
图8为本发明实施例提供的业务数据的处理方法的一个可选的流程示意图;
图9为本发明实施例提供的业务数据的处理系统的一个可选的架构示意图;
图10为本发明实施例提供的数据协议的结构示意图;
图11为本发明实施例提供的业务数据的处理装置的一个可选的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)数据协议,指示了一项数据业务所包含的字段、类型及描述等信息。
2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
4)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
5)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
6)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
7)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。
8)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
参见图1,图1为本发明实施例提供的业务数据的处理系统100的一个可选的架构示意图,为实现支撑一个示例性应用,用户终端400(示例性示出了终端400-1、终端400-2)通过网络300连接业务数据管理中心200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
如图1所示,业务方通过终端400上的应用客户端对目标业务的数据协议在目标字段对应的业务数据执行目标类型的数据操作时,触发相应的数据操作请求,并将该数据操作请求发送至业务数据管理中心200,业务数据管理中心200用于接收到业务方针对目标业务的数据操作请求,基于数据操作请求,对目标字段进行协议检查,得到检查结果;当检查结果表征对目标字段进行了目标协议配置时,基于目标类型,对业务数据执行数据操作,得到并返回相应的数据操作结果至终端400。
当检测结果表征对目标字段进行了目标协议配置时,在一些实施例,可基于目标类型,对数据操作请求中的内容进行协议转换,得到对应数据库协议的目标内容,其中,数据库协议与存储有业务数据的数据库相适配,并基于目标内容,对业务数据执行所述数据操作,得到相应的数据操作结果;在另一些实施例中,还可基于目标类型,调用数据库对应的数据访问接口,对业务数据执行数据操作,得到相应的数据操作结果。
参见图2,图2为本发明实施例提供的电子设备200的一个可选的结构示意图,以电子设备实施为业务数据管理中心200为例,图2所示的电子设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。终端200中的各个组件通过总线系统240耦合在一起。可理解,总线系统250用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的业务数据的处理装置可以采用软件方式实现,图2示出了存储在存储器250中的业务数据的处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块2551、检查模块2552、执行模块2553和返回模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的业务数据的处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的业务数据的处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的业务数据的处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Pro grammable Gate Array)或其他电子元件。
下面将结合本发明实施例提供的视频数据的处理方法实施为信息流平台时的示例性应用,说明本发明实施例提供的视频数据的处理方法。
参见图3,图3为本发明实施例提供的视频数据的处理方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
步骤301:业务数据管理中心接收到通过调用目标类型的数据访问接口发送的针对目标业务的数据操作请求。
其中,所述数据操作请求,用于请求对目标字段对应的业务数据执行目标类型的数据操作,所述目标字段为所述目标业务对应的数据协议中的字段。
在实际应用中,一个数据协议可包含多个字段,同时,字段本身可以是实体对象,又有自己的协议,如表1所示的数据协议(Schema)包括数据协议标识ID、数据协议名称name、数据协议描述desc和数据协议字段配置fields,而如表2所示的字段field又包括字段名称、字段描述、字段类型等,数据协议和字段共同描述了一个结构化的数据协议。
字段 | 类型 | 含义 |
ID | string | 数据协议标识 |
name | string | 数据协议名称 |
desc | string | 数据协议描述 |
fields | string | 数据协议字段配置 |
appid | string | 所属App |
表1
表2
在一些实施例中,在业务数据管理中心接收到业务方针对目标业务的数据操作请求之前,可通过如下方式对目标字段进行协议配置:
接收到针对目标字段的协议配置指令;基于协议配置指令,对目标字段进行目标协议配置,使得目标字段对应的业务数据能够通过接口调用的方式进行访问;基于配置的目标协议,生成对应目标类型的数据操作的数据访问接口。
这里,在实际实施时,业务数据管理中心接收到针对目标字段的协议配置指令,将目标字段添加到数据协议中,即可实现对目标字段的协议配置,配置得到的目标协议对应于目标业务。在将目标字段添加到目标协议完成协议配置之后,相应地,生成对应该目标字段的全套数据访问接口,如生成REST接口,REST接口类型分为:增、删、改、查。当需要对该目标字段进行目标类型的数据操作时,即可调用对应该目标类型的数据访问接口,发送相应的数据操作请求。
在实际应用中,http协议请求方法包括POST、PUT、PATCH、GET、DELETE等5种类型,也即目标类型的数据操作包括上述5种方法,其中,POST指示新增一条数据、PUT指示覆盖式插入一条数据、PATCH指示部分修改数据,GET指示读取数据或查询数据,DELETE指示删除一条数据。那么相应地,对于一个数据协议,可对应生成支持5种类型的数据操作的数据服务,即生成的数据服务包含5种数据访问接口。
参见图4,图4为本发明实施例提供的数据协议配置的界面示意图,如图4所示,在进行数据协议配置时,对于某一字段,只要将该字段添加到数据协议中,相应的,生成一套对应该字段的数据访问接口。在实际应用中,还可根据需求将某个字段从数据协议中删除,那么相应地,对于从数据协议删除掉的字段将不具备对应的数据访问接口,即无法对该字段对应的业务数据进行增、删、改、查等操作。
可基于该业务方所具备的数据操作权限,而相应地进行各个字段的配置。例如,在进行协议配置时,如果该业务方具备对目标字段对应的业务数据的数据操作权限时,则相应地新增这一目标字段;如果业务方不具备对目标字段对应的业务数据的数据操作权限,则可相应地删除这一目标字段。
在一些实施例中,在业务数据管理中心接收到业务方针对目标业务的数据操作请求之前,可通过如下方式对业务方的数据操作权限进行配置:
接收到针对业务方的权限配置指令,所述权限配置指令携带权限配置参数,所述权限配置参数,用于指示所述业务方针对业务数据所具备的数据操作权限;基于所述权限配置参数,对业务方的数据操作权限进行配置,以基于配置的数据操作权限,对业务方的数据操作请求进行权限控制。
这里,业务数据管理中心根据接收到的权限配置指令携带的权限配置参数,对业务方的数据操作权限进行配置。在实际实施时,App是权限管理的最小单元,通过将授权信息表与一份数据协议建立关联,构成一次授权,如对于表1所示的数据协议对应建立如表3所示的授权信息表,而一个App可以包含多个数据协议,对外提供服务,如表4所示的每个App都可以配置多个应用管理员来管理App信息。
字段 | 类型 | 含义 |
schema_id | string | 数据协议标识 |
appid | string | 数据应用标识 |
message | string | 授权信息 |
表3
字段 | 类型 | 含义 |
appid | string | 应用标识 |
name | string | 应用名称 |
admin | []string | 应用管理员 |
表4
步骤302:基于数据操作请求,对目标字段进行协议检查,得到检查结果。
在一些实施例中,业务数据管理中心在对目标字段进行协议检查之前,还可通过如下方式对业务方的数据操作权限进行验证:
基于业务方针对业务数据所具备的数据操作权限,对业务方进行数据操作权限验证,得到验证结果;当验证结果表征业务方具备对业务数据执行数据操作的权限时,触发对目标字段进行协议检查。
这里,在实际实施时,业务数据管理中心接收到业务方针对目标业务的数据操作请求后,业务数据管理中心解析该数据操作请求,得到业务方所请求的数据操作,并将业务方所请求的数据操作与所配置的业务方针对业务数据所具备操作权限进行匹配,当业务方所请求的数据操作归属于所配置的业务方所具备的操作权限时,才触发后续对目标字段进行协议检查的操作。
在一些实施例中,业务管理中心接收到的数据操作请求携带有针对业务方的数字签名,业务管理中心解析该数据操作请求,得到数据操作请求中的业务方的数字签名,并基于该数字签名对业务方的身份进行验证,当验证通过时,才触发后续对目标字段进行协议检查的操作。
在一些实施例中,业务数据管理中心在对目标字段进行协议检查之前,还可通过如下方式对数据操作请求的频率进行限制:
获取数据操作请求的频率,所述频率包括以下至少之一:数据操作请求总频率和授权频率;当所述频率小于频率阈值时,触发对目标字段进行协议检查。
在实际应用中,由于本发明实施例提供的业务数据处理方法实现了数据协议即服务,对于某一数据协议,可生成支持5种方法的数据服务,对于数据访问接口,如果不进行频率限制,数据服务调用者(即业务方)可以随意访问请求,或者,数据服务接口需要验证调用者(即业务方)身份,如果不进行访问请求限制,调用者可以进行暴力尝试,这些都会给数据服务造成很大压力,降低了数据服务的性能,因此,在做数据服务接口时通常需要用到请求频率限制,例如限制一个业务方1秒内最多访问请求10次,以保证数据服务性能和保护数据安全。
在实际实施时,可通过远程字典服务(Redis,Remote Dictionary Server)进行频率限制,如使用Redis检测每秒请求的方式做频率限制,或把限制逻辑封装到一个Lua脚本中,调用时只需传入:key、限制数量、过期时间,调用结果就会指明是否运行访问请求;除此之外,还可使用令牌桶等其他频率限制方式对频率进行限制。
在一些实施例中,业务数据管理中心还对目标协议进行类型转换,得到动态类型的目标协议;存储所述动态类型的目标协议至内存,以基于所述动态类型的目标协议,对目标字段进行协议检查。
在实际实施时,业务数据管理中心将目标协议转换为动态类型的目标协议,并将得到的动态类型的目标协议存储至内存中,再基于存储在内存中的动态类型的目标协议对目标字段进行协议检查,例如,针对POST这一数据操作请求,其请求的请求体中的数据格式指示其实现数据访问接口调用所采用的数据协议为业务数据协议,此时,直接使用动态类型的目标协议对业务数据协议中的目标字段进行协议检查,如此,可提高检查性能,且保证目标字段对应的业务数据内容的正确性和合理性。
在一些实施例中,业务数据管理中心可通过如下方式确定目标字段是否进行了目标协议配置:
解析数据操作请求,得到数据操作请求的请求体中的数据格式;基于所述数据格式,对目标字段进行协议检查,得到检查结果。
在一些实施例中,业务数据管理中心还可通过如下方式基于所述数据格式,对目标字段进行协议检查,得到检查结果:
确定实现数据访问接口的调用所采用的数据协议;基于确定的数据协议,对请求体中的数据格式进行检查,以在检查结果表征所述数据格式正确时,确定目标字段进行了目标协议配置。
这里,在实际实施时,业务数据管理中心解析接收到的数据操作请求,得到数据操作请求的请求体中的数据格式,并确定请求体指示实现数据访问接口的调用所采用的数据协议,根据确定的调用数据访问接口所采用的数据协议对请求体中的数据格式进行检查,得到检查结果,当检测结果表征数据格式正确时,确定目标字段进行了目标协议配置。
例如,假设确定的调用数据访问接口所采用的数据协议中的目标字段name的类型为string,则判断请求体中目标字段name对应的业务数据的格式是否为string,当请求体中目标字段name对应的业务数据的格式为string时,确定请求体中目标字段name对应的业务数据的格式是正确的,此时,确定已对目标字段进行了目标协议配置;如此,可保证目标字段对应的业务数据内容的正确性和合理性。
步骤303:当检查结果表征对目标字段进行了目标协议配置时,基于目标类型,对业务数据执行数据操作,得到相应的数据操作结果。
这里,对目标字段进行了目标协议配置,即表征目标字段已被添加到相应的数据协议中,在一些实施例中,当检查结果表征对目标字段进行了目标协议配置时,可通过如下方式得到相应的数据操作结果:
基于目标类型,对数据操作请求中的内容进行协议转换,得到对应数据库协议的目标内容,其中,数据库协议与存储有业务数据的数据库相适配,并基于目标内容,对业务数据执行所述数据操作,得到相应的数据操作结果。
在实际应用中,每个数据协议都有对应的数据格式要求,如对于REST协议,在设计web接口的时候,REST主要是用于定义接口名,接口名一般是用名词,不用动词,也即用请求类型来区分所要执行的操作,比如,针对一个friends接口,对于“朋友”有增、删、改、查四种操作,相应的REST接口定义如表5所示:
操作类型 | 接口定义 | 接口类型 |
增加一个朋友 | uri:generalcode.cn/v1/friends | POST |
删除一个朋友 | uri:generalcode.cn/va/friends | DELETE |
修改一个朋友 | uri:generalcode.cn/va/friends | PUT |
查找朋友 | uri:generalcode.cn/va/friends | GET |
表5
从表5可知,REST接口定义中都没有动词,只有名词friends,而没有动词,通过协议转换处理,将REST风格的输入信息,转换为后端数据库可以理解的数据协议,进行数据库访问,对业务数据执行数据操作,得到相应的数据操作结果。
在一些实施例中,当检查结果表征对目标字段进行了目标协议配置时,还可通过如下方式得到相应的数据操作结果:
基于目标类型,调用对应目标类型的数据库接口,对业务数据执行所述数据操作,得到相应的数据操作结果。
这里,通过调用数据库支持的数据访问接口,实现不同协议之间内容的互操作,得到相应的数据操作结果。
在一些实施例中,当数据操作请求为PATCH方法,即目标类型为更新操作时,业务数据管理中心可通过如下方式对业务数据执行数据操作,得到相应的数据操作结果:
对目标协议进行协议转换,得到对应存储有业务数据的数据库的目标更新协议;基于目标更新协议,对业务数据进行更新,得到更新后的业务数据。
这里,在实际应用中,针对PATCH方法,通过网络-数据库协议转换装置,如Patchparser工具,将目标协议转换为对应存储有所请求业务数据的数据库中的目标更新协议,然后根据目标更新协议对目标字段对应的业务数据进行更新,得到更新后的业务数据,将得到的更新后的业务数据作为数据操作结果。
步骤304:返回数据操作结果。
这里,业务数据管理中心将数据操作结果返回至业务方侧的终端以供业务方参考。
采用上述方式,业务数据管理中心基于业务方针对目标业务数据的数据操作请求,对目标字段进行协议检查,得到检查结果;当检查结果表征对目标字段进行了目标协议配置时,基于目标类型,调用对应的数据访问接口,对业务数据执行数据操作,得到并返回相应的数据操作结果;如此,当接收到针对配置了目标协议的目标字段的数据操作请求时,基于数据操作的目标类型,调用对应的数据访问接口,对目标字段对应的业务数据执行相应的数据操作,能够针对包含多个字段的某一数据协议,实现提供全套的数据访问接口的能力,提高了开发效率。
在一些实施例中,当业务数据管理中心接收到业务方针对目标业务的数据操作请求之后,对目标字段进行协议检查,确定已对目标字段进行目标协议配置之后,还可结合区块链技术,生成用于存储业务数据的交易,提交生成的交易至区块链网络的节点,以使所述节点对交易共识后存储业务数据至区块链网络。如此,将数据操作请求携带的业务数据上链存储,实现记录的备份,保证业务数据的安全性。
接下来对本发明实施例中的区块链网络进行说明。参见图5,图5为本发明实施例提供的区块链网络的应用架构示意图,包括业务主体200、认证中心500,区块链网600(示例性示出了共识节点610-1至共识节点610-3),下面分别说明。
区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络600,此时,如成为区块链网络600中的客户端节点,这里客户端指示业务数据管理中心的应用客户端。
在一些实施例中,客户端节点可以只作为区块链网络600的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的共识节点610的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。
区块链网络600中的共识节点接收来自不同业务主体(例如图5中示出的业务主体200)的客户端节点(例如,图5中示出的归属于业务主体200的客户端节点210提交的交易,执行交易以存储目标页面的第一检测结果,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。
例如,客户端节点210可以订阅区块链网络600中感兴趣的事件,例如区块链网络600中特定的组织/通道中发生的交易,由共识节点610推送相应的交易通知到客户端节点210,从而触发客户端节点210中相应的业务逻辑。
以业务主体接入区块链网络以实现对应目标页面的第一检测结果的获取为例说明区块链的示例性应用。
参见图5,业务主体200为业务数据管理中心的应用客户端,从认证中心500进行登记注册获得数字证书,数字证书中包括业务主体的公钥、以及认证中心500对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络600请求接入而成为客户端节点。
业务主体200的客户端节点210用于在接收到业务方针对目标业务的数据操作请求,对业务方进行数据操作权限的校验之后,生成用于存储业务数据的交易,在交易中指定了实现获取操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点210的数字证书、签署的数字签名(例如,使用客户端节点210的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点610。
区块链网络600中的共识节点610中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体200的身份,确认业务主体200是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点610自己的数字签名(例如,使用节点610-1的私钥对交易的摘要进行加密得到),并继续在区块链网络600中广播。
区块链网络600中的共识节点610接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络600中的共识节点610广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的存储业务数据的交易,在状态数据库中查询对应存储业务数据的键值对,并返回交易结果。
作为区块链的示例,参见图6,图6为本发明实施例提供的区块链网络600中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图7,图7为本发明实施例提供的区块链网络600的功能架构示意图,包括应用层601、共识层602、网络层603、数据层604和资源层605,下面分别进行说明。
资源层605封装了实现区块链网路600中的各个节点610的计算资源、存储资源和通信资源。
数据层604封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层603封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络600中节点610之间的通信,数据传播机制保证了交易在区块链网络600中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点610之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络600的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络600的权限;业务主体身份管理用于存储允许接入区块链网络600的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层602封装了区块链网络600中的节点610对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和D POS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点610接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络600的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层601封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
接下来继续对本发明实施例提供的业务数据的处理方法进行介绍,图8为本发明实施例提供的业务数据的处理方法的一个可选的流程示意图,参见图8,本发明实施例提供的业务数据的处理方法包括:
步骤401:业务数据管理中心响应于针对目标字段的协议配置指令,对目标字段进行目标协议配置。
这里,对目标字段进行目标协议配置,使得目标字段对应的业务数据能够通过接口调用的方式进行访问。
步骤402:业务数据管理中心基于配置的目标协议,生成对应目标类型的数据操作的数据访问接口。
这里,在实际应用中,将目标字段添加到目标协议中,即可生成对应该目标字段的全套数据访问接口,如生成REST接口,REST接口类型分为:增、删、改、查。
步骤403:业务数据管理中心响应于针对业务方的权限配置指令,获取权限配置参数。
其中,权限配置指令携带权限配置参数,所述权限配置参数,用于指示业务方针对业务数据所具备的数据操作权限。
步骤404:业务数据管理中心基于权限配置参数,对业务方的数据操作权限进行配置。
这里,对业务方进行数据操作权限进行配置,以基于配置的数据操作权限,对业务方的数据操作请求进行权限控制。
步骤405:应用客户端响应于业务方针对目标业务的业务数据的点击操作,生成对应的数据操作请求。
其中,所述数据操作请求,用于请求对目标字段对应的业务数据执行目标类型的数据操作,目标字段为目标业务对应的数据协议中的字段。
步骤406:应用客户端通过调用目标类型的数据访问接口发送数据操作请求至业务数据管理中心。
步骤407:业务数据管理中心响应于数据操作请求,基于业务方针对业务数据所具备的数据操作权限,对业务方进行数据操作权限验证。
步骤408:当验证结果表征业务方具备对业务数据执行数据操作的权限时,业务数据管理中心获取数据操作请求的频率。
其中,所述频率包括以下至少之一:数据操作请求总频率和授权频率。这里,考虑到数据服务接口需要验证调用者(即业务方)身份,如果不进行访问请求限制,调用者可以进行暴力尝试,这些都会给数据服务造成很大压力,降低了数据服务的性能,因此,在做数据服务接口时通常需要用到请求频率限制。
步骤409:当频率小于频率阈值时,业务数据管理中心基于数据操作请求,对目标字段进行协议检查,得到检查结果。
在实际实施时,业务数据管理中心将目标协议转换为动态类型的目标协议,并将得到的动态类型的目标协议存储至内存中,再基于存储在内存中的动态类型的目标协议对目标字段进行协议检查。
步骤410:当所述检查结果表征对目标字段进行了目标协议配置时,业务数据管理中心基于目标类型,对数据操作请求中的内容进行协议转换,得到对应数据库协议的目标内容。
其中,数据库协议与存储有业务数据的数据库相适配。
步骤411:基于目标内容,对业务数据执行数据操作,得到相应的数据操作结果。
在实际应用中,将数据操作请求中的内容转换为后端数据库可以理解的目标内容,以进行数据库的访问,对业务数据执行相应的操作,得到相应的数据操作结果。
步骤412:业务数据管理中心发送所述数据操作结果至应用客户端。
步骤413:应用客户端呈现数据操作结果。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
在大数据的共建、共治和共享的应用场景中,需要对数据的访问能力进行开放,相关技术直接开放数据库,如mysql、postgresql、mongodb,利用数据库自带的用户系统进行共享,或者基于普通任意数据库,单独开发数据业务的一套服务接口,并实现授权能力。然而采用关系型数据库如mysql,对结构化数据协议支持度较差;采用非关系型数据库如mongodb,无法规定数据协议,容易导致数据内容混乱,缺乏秩序;普通数据库的访问方式差异较大,存在学习成本,并且数据库的访问方式直接暴露在公网上,安全性很差,容易被攻击导致数据泄露或不可用。此外,如果采用直接开放数据库中的方式,针对一项数据业务,需要单独开发服务,比如,一个数据业务需要5个接口,10个业务就需要开发50个接口,导致开发效率低下。
基于此,本发明实施例提供了一种业务数据的处理方法,基于业务方针对目标业务数据的数据操作请求,对目标字段进行协议检查,得到检查结果;当检查结果表征对目标字段进行了目标协议配置时,基于目标类型,对业务数据执行数据操作,得到并返回相应的数据操作结果;如此,当接收到通过调用对应目标类型的数据访问接口所发送的数据操作请求时,基于数据操作的目标类型,对目标字段对应的业务数据执行相应的数据操作,能够针对包含多个字段的某一数据协议,实现提供全套数据访问接口的能力,提高了开发效率。
在实际实施时,本发明实施例提供的业务数据的处理方法可以实施在业务数据管理中心的“协议即服务”中间层,接下来对本发明实施例提供的业务数据的系统架构进行说明,参见图9,图9为本发明实施例提供的业务数据的处理系统的一个可选的架构示意图,如图9所示,本发明实施例提供的业务数据的处理系统由“协议即服务”中间层、协议配置层等部分构成,接下来逐一进行介绍。
1、协议配置层
协议配置层包括配置平台和REST接口生成装置,其中,配置平台是web端交互界面以及相应后端逻辑,负责依照数据协议对数据协议正确性进行检查与存储、管理平台用户、管理数据访问权限和管理接入信息(如密钥、频率限制等)。需要说明的是,配置平台处理除了使用web,也可使用手机app、电脑app、手机web或专用管理终端等其他方式进行配置。
参见图10,图10为本发明实施例提供的数据协议的结构示意图,如图10所示,在实际应用中,一个数据协议(Schema)可包含多个字段(field),如User包含name和age;同时字段本身可以是实体对象,又有自己的协议,如career包含corp和title等,Schema和Field共同描述了一个结构化的数据协议。
配置平台根据接收到的权限配置指令携带的权限配置参数,对业务方的数据操作权限进行配置。在实际实施时,应用App是权限管理的最小单元,通过将授权信息表(Permission)与一份数据协议(Schema)建立关联,构成一次授权,每个App都可以配置多个应用管理员来管理App信息,一个App可以包含多个数据协议(Schema),对外提供服务。
在实际实施时,数据管理者在易于操作的交互界面上进行数据协议配置,即REST接口生成装置接收到针对目标字段的协议配置指令,将目标字段添加到目标协议中,即实现对目标字段的协议配置。在将目标字段添加到数据协议完成协议配置之后,相应地,生成对应该目标字段的全套数据访问接口,即REST接口。当需要对该目标字段进行目标类型的数据操作时,即可调用对应该目标类型的数据访问接口,发送相应的数据操作请求。
在实际应用中,http协议请求方法包括POST、PUT、PATCH、GET、DELETE等5种类型,也即目标类型的数据操作包括上述5种方法,其中,POST指示新增一条数据、PUT指示覆盖式插入一条数据、PATCH指示部分修改数据,GET指示读取数据或查询数据,DELETE指示删除一条数据。REST接口生成装置基于预设规则,如表6所示的规则,根据数据协议,生成支持5种方法(POST、PUT、PATCH、GET和DELETE)的数据服务,即生成全套数据操作REST服务接口。
表6
需要说明的是,除了生成上述REST风格的接口,还可生成任意其他风格的接口。
2、“协议即服务”中间层
“协议即服务”中间层包括HTTP服务、数据协议检查装置和网络-DB协议转换装置等3个模块,接下来逐一进行说明。
HTTP服务负责接收外部的数据访问请求(即数据操作请求),进行用户身份、访问权限、频率限制检查等。
在实际实施时,HTTP服务接收到业务方针对目标业务的数据操作请求,数据协议检查装置基于数据操作请求,对目标字段进行协议检查,得到检查结果。具体地,HTTP服务可通过授权信息(Permission)、数据协议(Schema)和App等信息,对数据操作请求进行鉴权;通过Redis进行频率限制,如使用Redis检测每秒请求的方式做频率限制,或把限制逻辑封装到一个Lua脚本中,调用时只需传入:key、限制数量、过期时间,调用结果就会指明是否运行访问请求;除此之外,还可使用令牌桶等其他频率限制方式对频率进行限制。
数据协议检查装置用于根据不同的访问方法,进行协议检查操作,具体地,对目标协议进行类型转换,得到golang内部动态类型的目标协议,并存储动态类型的目标协议至内存,以基于所述动态类型的目标协议,对目标字段进行协议检查。
例如,针对POST这一数据操作请求,其请求的请求体中的数据格式指示其实现数据访问接口调用所采用的数据协议为业务数据协议;针对PATCH这一数据操作请求,数据协议检查装置解析数据操作请求,得到数据操作请求的请求体中的数据格式,并基于所述数据格式,对目标字段进行协议检查,得到检查结果;如此,使用动态类型的目标协议对业务数据协议中的目标字段进行协议检查,可提高检查性能,且保证目标字段对应的业务数据内容的正确性和合理性。
需要说明的是,除了使用golang等语言使用高性能的“动态类型”的方法,还可采用其他语言映射表的形式进行协议检查。
网络-DB协议转化装置负责将REST风格的输入信息转化成后端DB可以理解的协议,进行数据库访问。例如,针对PATCH方法,通过网络-数据库协议转换装置,如Patchparser工具,将目标协议转换为对应存储有所请求业务数据的数据库中的目标更新协议,然后根据目标更新协议对目标字段对应的业务数据进行更新,得到更新后的业务数据,将得到的更新后的业务数据作为数据操作结果。
此外,图10所示的数据存储层用于存储实际业务数据;配置存储层用于存储数据协议和“协议即服务”中间层等配置数据,如用户访问权限相关配置数据、频率限制配置数据等,这里,数据存储层和配置存储层可以mongodb做底层数据存储,也可以使用mysql或postgresql等任意关系型、文档型、kv型数据库。应用层则数据开放的一个个外部应用,如APP、小程序、管理平台、服务平台、第三方开放终端和业务后台等。
本发明实施例提供的系统基于HTTP协议+json格式,也可以基于其他协议和格式,如udp/tcp,+protobuf/xml/formdata任意组合格式;实施方法可基于golang开发,也可以使用其他编程语言实现,如python、java、c++等高级语言。通过上述方式,本发明实施例提供的业务数据的处理方法实现了数据协议即服务,在大规模数据应用开发过程中,开发者只需要录入数据协议,就可以获得包含全套能力的数据访问接口,大大提高了工作效率。
本发明实施例提供的业务数据处理方法具有以下有益效果:
1)安全性好,基于HTTP,具备更成熟的用户管理、频率限制及安全保护策略;
2)支持任意的结构化数据协议,不存在关系型数据对结构化数据支持差的弱点,同时也不存在关系型数据修改协议开销很大的弱点;解决了非关系型数据或无数据协议导致数据缺乏秩序、容易混乱的缺点;
3)录入数据协议直接创建服务,RESTful统一风格,降低接入成本,避免重复开发,相较于手动开发的接口,本发明实施例提供的系统通过协议自动生成,极大提升了效率,并且性能损耗较低。
下面继续说明本发明实施例提供的业务数据的处理装置255实施为软件模块的示例性结构,在一些实施例中,如图2和图11所示,存储在存储器250的业务数据的处理装置255中的软件模块可以包括:接收模块2551、检查模块2552、执行模块2553、返回模块2554。
接收模块,用于接收到通过调用目标类型的数据访问接口发送的针对目标业务的数据操作请求;所述数据操作请求,用于请求对目标字段对应的业务数据执行目标类型的数据操作,所述目标字段为所述目标业务对应的数据协议中的字段;
检查模块,用于基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果;
执行模块,用于当所述检查结果表征对所述目标字段进行了目标协议配置时,基于所述目标类型,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
返回模块,用于返回所述数据操作结果。
在一些实施例中,所述装置还包括协议配置模块,
所述协议配置模块,用于接收到针对所述目标字段的协议配置指令;
基于所述协议配置指令,对所述目标字段进行目标协议配置,使得所述目标字段对应的业务数据能够通过接口调用的方式进行访问;
基于配置的所述目标协议,生成对应所述目标类型的数据操作的数据访问接口。
在一些实施例中,所述装置还包括协议配置模块,
所述协议配置模块,用于接收到针对所述业务方的权限配置指令,所述权限配置指令携带权限配置参数,所述权限配置参数,用于指示所述业务方针对所述业务数据所具备的数据操作权限;
基于所述权限配置参数,对所述业务方的数据操作权限进行配置,以基于配置的所述数据操作权限,对所述业务方的数据操作请求进行权限控制。
在一些实施例中,所述装置还包括权限验证模块,
所述权限验证模块,用于基于所述业务方针对所述业务数据所具备的数据操作权限,对所述业务方进行数据操作权限验证,得到验证结果;
当所述验证结果表征所述业务方具备对所述业务数据执行所述数据操作的权限时,触发对所述目标字段进行协议检查。
在一些实施例中,所述装置还包括频率限制模块,
所述频率限制模块,用于获取所述数据操作请求的频率,所述频率包括以下至少之一:数据操作请求总频率和授权频率;
当所述频率小于频率阈值时,触发对所述目标字段进行协议检查。
在一些实施例中,所述装置还包括协议转换模块,
所述协议转换模块,用于对所述目标协议进行类型转换,得到动态类型的目标协议;
存储所述动态类型的目标协议至内存,以基于所述动态类型的目标协议,对所述目标字段进行协议检查。
在一些实施例中,所述检查模块,还用于解析所述数据操作请求,得到所述数据操作请求的请求体中的数据格式;
基于所述数据格式,对所述目标字段进行协议检查,得到检查结果。
在一些实施例中,所述检查模块,还用于确定实现所述数据访问接口的调用所采用的数据协议;
基于确定的所述数据协议,对所述请求体中的数据格式进行检查,以在检查结果表征所述数据格式正确时,确定所述目标字段进行了目标协议配置。
在一些实施例中,所述执行模块,还用于基于所述目标类型,对所述数据操作请求中的内容进行协议转换,得到对应数据库协议的目标内容,所述数据库协议与存储有所述业务数据的数据库相适配,并基于所述目标内容,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
或者,基于所述目标类型,调用对应所述目标类型的数据库接口,对所述业务数据执行所述数据操作,得到相应的数据操作结果。
在一些实施例中,所述执行模块,还用于对所述目标协议进行协议转换,得到对应存储有所述业务数据的数据库的目标更新协议;
基于所述目标更新协议,对所述业务数据进行更新,得到更新后的业务数据。
在一些实施例中,所述装置还包括存储模块,
所述存储模块,还用于存储所述业务数据至区块链网络。
需要说明的是,本发明实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种业务数据的处理方法,其特征在于,所述方法包括:
接收到通过调用目标类型的数据访问接口发送的针对目标业务的数据操作请求;
其中,所述数据操作请求,用于请求对目标字段对应的业务数据执行所述目标类型的数据操作,所述目标字段为所述目标业务对应的数据协议中的字段;
基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果;
当所述检查结果表征对所述目标字段进行了目标协议配置时,基于所述目标类型,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
返回所述数据操作结果。
2.如权利要求1所述的方法,其特征在于,所述接收到业务方针对目标业务的数据操作请求之前,所述方法还包括:
接收到针对所述目标字段的协议配置指令;
基于所述协议配置指令,对所述目标字段进行目标协议配置,使得所述目标字段对应的业务数据能够通过接口调用的方式进行访问;
基于配置的所述目标协议,生成对应所述目标类型的数据操作的数据访问接口。
3.如权利要求1所述的方法,其特征在于,所述接收到业务方针对目标业务的数据操作请求之前,所述方法还包括:
接收到针对所述业务方的权限配置指令,所述权限配置指令携带权限配置参数,所述权限配置参数,用于指示所述业务方针对所述业务数据所具备的数据操作权限;
基于所述权限配置参数,对所述业务方的数据操作权限进行配置,以基于配置的所述数据操作权限,对所述业务方的数据操作请求进行权限控制。
4.如权利要求3所述的方法,其特征在于,所述对所述目标字段进行协议检查之前,所述方法还包括:
基于所述业务方针对所述业务数据所具备的数据操作权限,对所述业务方进行数据操作权限验证,得到验证结果;
当所述验证结果表征所述业务方具备对所述业务数据执行所述数据操作的权限时,触发对所述目标字段进行协议检查。
5.如权利要求1所述的方法,其特征在于,所述对所述目标字段进行协议检查之前,所述方法还包括:
获取所述数据操作请求的频率,所述频率包括以下至少之一:数据操作请求总频率和授权频率;
当所述频率小于频率阈值时,触发对所述目标字段进行协议检查。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
对所述目标协议进行类型转换,得到动态类型的目标协议;
存储所述动态类型的目标协议至内存,以基于所述动态类型的目标协议,对所述目标字段进行协议检查。
7.如权利要求1所述的方法,其特征在于,所述基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果,包括:
解析所述数据操作请求,得到所述数据操作请求的请求体中的数据格式;
基于所述数据格式,对所述目标字段进行协议检查,得到检查结果。
8.如权利要求1所述的方法,其特征在于,所述基于所述目标类型,对所述业务数据执行所述数据操作,得到相应的数据操作结果,包括:
基于所述目标类型,对所述数据操作请求中的内容进行协议转换,得到对应数据库协议的目标内容,所述数据库协议与存储有所述业务数据的数据库相适配,并基于所述目标内容,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
或者,基于所述目标类型,调用对应所述目标类型的数据库接口,对所述业务数据执行所述数据操作,得到相应的数据操作结果。
9.如权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
存储所述业务数据至区块链网络。
10.一种业务数据的处理装置,其特征在于,所述装置包括:
接收模块,用于接收到通过调用目标类型的数据访问接口发送的针对目标业务的数据操作请求;所述数据操作请求,用于请求对数据协议中目标字段对应的业务数据执行所述目标类型的数据操作,所述目标字段为所述目标业务对应的数据协议中的字段;
检查模块,用于基于所述数据操作请求,对所述目标字段进行协议检查,得到检查结果;
执行模块,用于当所述检查结果表征对所述目标字段进行了目标协议配置时,基于所述目标类型,对所述业务数据执行所述数据操作,得到相应的数据操作结果;
返回模块,用于返回所述数据操作结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381937.7A CN111177246B (zh) | 2019-12-27 | 2019-12-27 | 一种业务数据的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381937.7A CN111177246B (zh) | 2019-12-27 | 2019-12-27 | 一种业务数据的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177246A true CN111177246A (zh) | 2020-05-19 |
CN111177246B CN111177246B (zh) | 2023-03-14 |
Family
ID=70623965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911381937.7A Active CN111177246B (zh) | 2019-12-27 | 2019-12-27 | 一种业务数据的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177246B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784516A (zh) * | 2020-06-15 | 2020-10-16 | 华青融天(北京)软件股份有限公司 | 业务路径的确定方法、装置和电子设备 |
CN112069490A (zh) * | 2020-08-27 | 2020-12-11 | 北京百度网讯科技有限公司 | 一种提供小程序能力的方法、装置、电子设备及存储介质 |
CN112487075A (zh) * | 2020-12-29 | 2021-03-12 | 中科院计算技术研究所大数据研究院 | 一种集成关系型和非关系型数据库数据转换的算子 |
CN113626644A (zh) * | 2021-08-31 | 2021-11-09 | 北京中电普华信息技术有限公司 | 业务流程数据的格式转换方法和装置 |
CN114239056A (zh) * | 2021-11-29 | 2022-03-25 | 阿里巴巴(中国)有限公司 | 数据访问接口的控制方法、装置、介质及设备 |
CN114265903A (zh) * | 2021-12-28 | 2022-04-01 | 政和科技股份有限公司 | 一种数据收集和分发系统及工作方法 |
CN114995813A (zh) * | 2022-06-28 | 2022-09-02 | 上海中汇亿达金融信息技术有限公司 | 交易所api模块及相关的交易所应用平台 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578074B1 (en) * | 1999-06-25 | 2003-06-10 | Mediaone Group, Inc. | Provisioning server enhancement |
US6742026B1 (en) * | 2000-06-19 | 2004-05-25 | International Business Machines Corporation | System and method for providing a distributable runtime |
CN101119363A (zh) * | 2007-07-20 | 2008-02-06 | 南京联创科技股份有限公司 | 基于统一接口的内存数据库远程并发访问和界面管理方法 |
CN105912949A (zh) * | 2016-04-13 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
CN109547234A (zh) * | 2018-10-18 | 2019-03-29 | 广州市百果园信息技术有限公司 | 一种数据处理、上报方法、装置、设备和存储介质 |
CN110297813A (zh) * | 2019-05-22 | 2019-10-01 | 平安银行股份有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
CN110430184A (zh) * | 2019-07-31 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 数据模拟方法、装置、计算机可读存储介质和计算机设备 |
-
2019
- 2019-12-27 CN CN201911381937.7A patent/CN111177246B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6578074B1 (en) * | 1999-06-25 | 2003-06-10 | Mediaone Group, Inc. | Provisioning server enhancement |
US6742026B1 (en) * | 2000-06-19 | 2004-05-25 | International Business Machines Corporation | System and method for providing a distributable runtime |
CN101119363A (zh) * | 2007-07-20 | 2008-02-06 | 南京联创科技股份有限公司 | 基于统一接口的内存数据库远程并发访问和界面管理方法 |
CN105912949A (zh) * | 2016-04-13 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
CN109547234A (zh) * | 2018-10-18 | 2019-03-29 | 广州市百果园信息技术有限公司 | 一种数据处理、上报方法、装置、设备和存储介质 |
CN110297813A (zh) * | 2019-05-22 | 2019-10-01 | 平安银行股份有限公司 | 数据迁移方法、装置、计算机设备及存储介质 |
CN110430184A (zh) * | 2019-07-31 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 数据模拟方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (2)
Title |
---|
HAOYANG JIA ET AL.: "Data access control in data exchanging supporting big data arena" * |
代杨: "政府数据共享交换平台的设计与实现" * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111784516B (zh) * | 2020-06-15 | 2023-12-22 | 华青融天(北京)软件股份有限公司 | 业务路径的确定方法、装置和电子设备 |
CN111784516A (zh) * | 2020-06-15 | 2020-10-16 | 华青融天(北京)软件股份有限公司 | 业务路径的确定方法、装置和电子设备 |
CN112069490A (zh) * | 2020-08-27 | 2020-12-11 | 北京百度网讯科技有限公司 | 一种提供小程序能力的方法、装置、电子设备及存储介质 |
CN112069490B (zh) * | 2020-08-27 | 2023-08-15 | 北京百度网讯科技有限公司 | 一种提供小程序能力的方法、装置、电子设备及存储介质 |
CN112487075A (zh) * | 2020-12-29 | 2021-03-12 | 中科院计算技术研究所大数据研究院 | 一种集成关系型和非关系型数据库数据转换的算子 |
CN112487075B (zh) * | 2020-12-29 | 2021-08-31 | 中科院计算技术研究所大数据研究院 | 一种集成关系型和非关系型数据库数据转换算子的方法 |
CN113626644A (zh) * | 2021-08-31 | 2021-11-09 | 北京中电普华信息技术有限公司 | 业务流程数据的格式转换方法和装置 |
CN113626644B (zh) * | 2021-08-31 | 2024-03-15 | 北京中电普华信息技术有限公司 | 业务流程数据的格式转换方法和装置 |
CN114239056A (zh) * | 2021-11-29 | 2022-03-25 | 阿里巴巴(中国)有限公司 | 数据访问接口的控制方法、装置、介质及设备 |
CN114265903A (zh) * | 2021-12-28 | 2022-04-01 | 政和科技股份有限公司 | 一种数据收集和分发系统及工作方法 |
CN114265903B (zh) * | 2021-12-28 | 2024-04-30 | 政和科技股份有限公司 | 一种数据收集和分发系统及工作方法 |
CN114995813B (zh) * | 2022-06-28 | 2023-12-19 | 上海中汇亿达金融信息技术有限公司 | 交易所api模块及相关的交易所应用平台 |
CN114995813A (zh) * | 2022-06-28 | 2022-09-02 | 上海中汇亿达金融信息技术有限公司 | 交易所api模块及相关的交易所应用平台 |
Also Published As
Publication number | Publication date |
---|---|
CN111177246B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177246B (zh) | 一种业务数据的处理方法及装置 | |
US11611560B2 (en) | Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform | |
US11418510B2 (en) | Systems, methods, and apparatuses for implementing a role based access control and authorization validator via blockchain smart contract execution using distributed ledger technology (DLT) | |
US12137091B2 (en) | Single sign-on enabled with OAuth token | |
US20230205929A1 (en) | Securing Access to Confidential Data Using a Blockchain Ledger | |
US20210226774A1 (en) | Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (dlt) using granular access objects and alfa/xacml visibility rules | |
US11762970B2 (en) | Fine-grained structured data store access using federated identity management | |
US10484385B2 (en) | Accessing an application through application clients and web browsers | |
US11362842B2 (en) | Membership compiler for applications | |
US9495533B2 (en) | Mobile application, identity relationship management | |
CN113711536A (zh) | 从区块链网络中提取数据 | |
Sicari et al. | Security&privacy issues and challenges in NoSQL databases | |
US10747587B2 (en) | Dynamic rule-based transformation of API calls | |
CN111177252A (zh) | 一种业务数据的处理方法及装置 | |
JP5513500B2 (ja) | クレームを使用したセキュリティアイデンティティの表示 | |
US11882154B2 (en) | Template representation of security resources | |
CN114971827A (zh) | 一种基于区块链的对账方法、装置、电子设备及存储介质 | |
CN112818014A (zh) | 区块链数据解析方法、装置和电子设备 | |
CN112925589A (zh) | 扩展接口的调用方法及装置 | |
CN111966994B (zh) | 基于数据库的区块链鉴权方法、系统及存储介质 | |
US20100030805A1 (en) | Propagating information from a trust chain processing | |
CN111178896B (zh) | 乘车支付方法、装置及存储介质 | |
CN112836186A (zh) | 一种页面控制方法及装置 | |
CN111178536A (zh) | 一种数据信息处理方法、装置、电子设备及存储介质 | |
US20240330315A1 (en) | Event based source replication architecture |
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 |