CN116405573B - 基于面向服务架构的***、通信方法、计算机程序产品 - Google Patents
基于面向服务架构的***、通信方法、计算机程序产品 Download PDFInfo
- Publication number
- CN116405573B CN116405573B CN202310665549.1A CN202310665549A CN116405573B CN 116405573 B CN116405573 B CN 116405573B CN 202310665549 A CN202310665549 A CN 202310665549A CN 116405573 B CN116405573 B CN 116405573B
- Authority
- CN
- China
- Prior art keywords
- service module
- interface
- data
- access request
- gateway
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004891 communication Methods 0.000 title claims abstract description 24
- 238000004590 computer program Methods 0.000 title abstract description 16
- 238000012795 verification Methods 0.000 claims abstract description 71
- 230000002776 aggregation Effects 0.000 claims description 194
- 238000004220 aggregation Methods 0.000 claims description 194
- 230000000977 initiatory effect Effects 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 17
- 238000009795 derivation Methods 0.000 claims description 14
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 33
- 230000010354 integration Effects 0.000 abstract 3
- 238000010586 diagram Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000010200 validation analysis Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/082—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于面向服务架构的***、通信方法、计算机程序产品,属于通信技术领域。所述***用于提供多个服务,所述多个服务包括网关服务、规则引擎服务以及多个业务服务;所述网关服务用于通过网关接口从外部接收第一访问请求,解析所述第一访问请求得到第一业务服务的路由信息和接口信息;所述规则引擎服务用于通过预设的多种验证规则按照预设顺序对所述第一访问请求的合法性进行验证;所述网关服务还用于在所述第一访问请求的合法性验证通过后,根据所述路由信息和所述接口信息访问所述第一业务服务。本发明用于解决现有网关集成功能太多导致网关并发量低的技术问题。本发明用于企业内部***和企业外部***之间的通信。
Description
技术领域
本发明涉及通信技术领域,更具体地,涉及一种基于面向服务架构的***、通信方法、计算机程序产品。
背景技术
通常一个企业内部往往会存在多个***。在与外部企业合作的过程中,企业内部的多个内部***经常需要与外部企业的多个外部***进行通信。为了便于管理内部***与外部***之间的通信,通常在企业内设置网关,通过网关来管理内部***和外部***之间的通信。现有的网关中集成了多种功能,比如通过网关对外部***的访问请求进行解析、验证访问请求的合法、对数据进行聚合等,导致网关对外部***访问请求的响应速度较低,网关无法快速处理大量的访问请求,网关的并发量较低。
发明内容
本发明的一个目的是提供一种用于内部***和外部***之间通信的新技术方案。
根据本发明的第一方面,提供了一种基于面向服务架构的***,所述***用于提供多个服务模块,所述多个服务模块包括网关服务模块、规则引擎服务模块以及不包括所述网关服务模块和所述规则引擎服务模块的多个业务服务模块;
所述网关服务模块用于通过网关接口从外部接收第一访问请求,解析所述第一访问请求得到第一业务服务模块的路由信息和接口信息;
所述规则引擎服务模块用于通过预设的多种验证规则按照预设顺序对所述第一访问请求的合法性进行验证;
所述规则引擎服务模块具体用于验证所述规则引擎服务模块中是否配置所述接口信息对应的接口、验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限、验证所述第一访问请求的发起对象的签名,在所述接口信息对应的接口在所述规则引擎服务模块中已配置、所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限、所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过;
所述网关服务模块还用于在所述第一访问请求的合法性验证通过后,根据所述路由信息和所述接口信息访问所述第一业务服务模块。
可选地,所述规则引擎服务模块具体用于:
在所述规则引擎服务模块中未配置所述接口信息对应的接口的情况下,向所述网关服务模块返回第一错误信息,所述第一错误信息用于说明所述接口信息对应的接口在所述规则引擎服务模块中未配置;
在所述规则引擎服务模块中已配置所述接口信息对应的接口的情况下,判断所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限;
在所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限的情况下,向所述网关服务模块返回第二错误信息,所述第二错误信息用于说明所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限;
在所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限的情况下,对所述第一访问请求的发起对象的签名进行验证;
在所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过;
在所述第一访问请求的发起对象的签名验证未通过的情况下,向所述网关服务模块返回第三错误信息,所述第三错误信息用于说明所述第一访问请求的发起对象的签名验证未通过;
所述网关服务模块还用于将所述第一错误信息、所述第二错误信息、所述第三错误信息发送至所述第一访问请求的发起对象。
可选地,所述网关服务模块还用于通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据,将所述加密数据发送至所述规则引擎服务模块;
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块还用于确定所述接口信息对应的接口是否为解密接口;
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块还用于通过预存的与所述接口信息对应的接口对应的解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述网关服务模块;
所述规则引擎服务模块还用于在解密失败后,向所述网关服务模块返回第四错误信息,所述第四错误信息用于说明所述加密数据解密失败;
所述网关服务模块还用于将所述第四错误信息发送至所述第一访问请求的发起对象。
可选地,所述网关服务模块还用于通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据;
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为解密接口;
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块用于向所述网关服务模块发送预先存储的与所述接口信息对应的接口对应的解密密钥;
所述网关服务模块还用于根据所述解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述第一业务服务模块;
所述网关服务模块还用于在解密失败后向所述第一访问请求的发起对象发送第四错误信息,所述第四错误信息用于说明所述加密数据解密失败。
可选地,所述第一业务服务模块为聚合服务模块;
在所述访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为聚合接口;
在所述接口信息对应的接口为聚合接口的情况下,所述聚合服务模块用于确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块;
所述网关服务模块还用于将聚合后的数据发送至所述第一访问请求的发起对象。
可选地,所述聚合服务模块还用于从所述规则引擎服务模块中获取预先配置的与所述聚合接口对应的数据处理规则,所述数据处理规则至少包括过滤规则和改写规则中的一种,在所述过滤规则中预先配置目标字段,在所述改写规则中预先配置目标数据格式;
在所述数据处理规则包括过滤规则的情况下,所述聚合服务模块还用于将所述聚合后的数据中包含的不属于所述目标字段的数据删除;
在所述数据处理规则包括改写规则的情况下,所述聚合服务模块还用于将所述聚合后的数据改写为符合所述目标数据格式的数据。
可选地,还包括调度服务模块,所述多个业务服务模块不包括所述调度服务模块;所述调度服务模块中配置有外部接口信息、第二业务服务模块的接口信息和路由信息、以及目标任务时间;
所述调度服务模块用于在到达所述目标任务时间时,向所述网关服务模块发送第二访问请求,所述第二访问请求包含所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识;
所述网关服务模块用于解析所述第二访问请求得到所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识;
所述规则引擎服务模块在检测到所述调度标识后,直接向所述网关服务模块发送所述第二访问请求的合法性验证通过的信息;
所述网关服务模块还用于根据所述第二业务服务模块的接口信息获取数据,将获取的数据发送至所述外部接口信息对应的接口。
可选地,所述第二业务服务模块为聚合服务模块;
所述规则引擎服务模块还用于判断所述第二业务服务模块的接口是否为聚合接口;
在所述第二业务服务模块的接口为聚合接口的情况下,所述聚合服务模块用于确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块;
所述网关服务模块用于根据所述外部接口信息将聚合后的数据转发至所述外部接口信息对应的接口。
可选地,所述聚合服务模块配置有本地数据仓库,所述聚合服务模块还用于在每次获取到聚合数据后,将获取到的聚合数据存储至所述本地数据仓库;
所述规则引擎服务模块还用于判断所述聚合接口对应的数据类型;
在所述聚合接口对应的数据类型只包括离线数据类型的情况下,所述聚合服务模块还用于从所述本地数据仓库中获取与所述聚合接口对应的聚合数据;
在所述聚合接口对应的数据类型包括实时数据类型的情况下,所述聚合服务模块还用于从所述聚合接口对应的至少两个其它业务服务模块中分别获取数据,将获取到的数据进行聚合;
在所述聚合接口对应的数据类型包括实时数据类型和离线数据类型的情况下,所述聚合服务模块还用于从所述本地数据仓库中获取与所述聚合接口对应的第一聚合数据,从所述聚合接口对应的至少两个其它业务服务模块中获取第二聚合数据,将所述第一聚合数据和所述第二聚合数据进行聚合。
可选地,所述网关服务模块用于根据所述路由信息和所述接口信息访问所述第一业务服务模块,得到所述第一业务服务模块的数据;
所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为加密接口;
在所述接口信息对应的接口为加密接口的情况下,所述规则引擎服务模块或者所述网关服务模块用于将所述第一业务服务模块的数据进行加密;
所述网关服务模块还用于将加密后的数据发送至所述第一访问请求的发起对象。
可选地,在所述规则引擎服务模块出现故障的情况下,所述规则引擎服务模块还用于将所述网关服务模块的接口和所述多个业务服务模块的接口设置为禁止访问状态。
可选地,还包括密钥派生服务模块;
在所述规则引擎服务模块对所述加密数据解密多次解密失败后,所述规则引擎服务模块调用所述密钥派生服务模块的接口;
所述密钥派生服务模块用于生成与所述接口信息对应的接口对应新的加密密钥和新的解密密钥,将所述新的加密密钥和所述新的解密密钥发送至所述规则服务模块模块;
所述规则服务模块模块用于将所述新的加密密钥发送至所述网关服务模块,通过所述网关服务模块将所述新的加密密钥发送至所述第一访问请求的发起对象。
根据本发明的第二方面,提供了一种通信方法,应用于本发明第一方面所述的***,所述方法包括:
所述网关服务模块通过网关接口从外部接收第一访问请求;
所述网关服务模块解析所述第一访问请求得到第一业务服务模块的路由信息和接口信息;
所述规则引擎服务模块验证所述规则引擎服务模块中是否配置所述接口信息对应的接口、验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限、验证所述第一访问请求的发起对象的签名,在所述接口信息对应的接口在所述规则引擎服务模块中已配置、所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限、所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过;
在所述第一访问请求的合法性验证通过后,所述网关服务模块根据所述路由信息和所述接口信息访问所述第一业务服务模块。
根据本发明的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如本发明第二方面所述的方法的步骤。
根据本发明的第四方面,提供了一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令处理器被执行时实现如本发明第二方面所述的方法。
根据本发明的一个实施例,本发明通过配置网关服务模块和规则引擎服务模块,网关服务模块可以从外部接收第一访问请求,并通过规则引擎服务模块对第一访问请求进行合法性验证,将合法性验证的功能从网关服务模块中抽离,简化网关服务模块的功能,让网关服务模块能够同时处理更多的外部访问请求,提高网关服务模块的并发能力。同时本发明通过将网关和规则引擎以服务模块的方式实现,服务模块之间是独立的,避免网关服务模块和规则引擎服务模块的功能相互混淆,进一步将网关服务模块和规则引擎服务模块的功能进行分离,简化网关服务模块的功能,提高并发能力。另外通过在规则引擎服务模块中配置多种验证规则,根据配置的多种验证规则来判断外部***发起的访问请求的合法性,避免非法访问,提高安全性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是本申请实施例中基于面向服务架构的***的示意图。
图2是本申请实施例中外部***获取数据的流程图。
图3是本申请实施例中各个服务模块之间的交互过程的示意图。
图4是本申请实施例中***架构示意图。
图5是本申请实施例中通信方法的流程图。
图6是本申请实施例中电子设备的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
在多个企业合作的项目中,企业内部的多个内部***经常需要与外部企业的多个外部***进行通信。为了便于管理内部***与外部***之间的通信,通常在企业内设置网关,所有外部***的访问请求都会经过网关,通过网关来统一管理内部***和外部***之间的通信。现有的网关中集成了多种功能,比如通过网关对外部***的访问请求进行解析、验证访问请求的合法、对数据进行聚合等,导致网关对外部***访问请求的响应速度较低,网关无法快速处理大量的访问请求,网关的并发量较低。为了解决上述技术问题,特提出本申请的技术方案。
如图1所示,本实施例介绍了一种基于面向服务架构的***。服务模块是指一个具体的功能单元,用于实现特定的功能。服务模块会向外提供接口,当其它模块需要使用该服务模块的功能时,可以通过调用该服务模块的接口来实现。比如对于汽车SOA(ServiceOriented Architecture,面向服务的架构)***,包括门服务模块,门服务模块可以用于控制车门的开启或者关闭。门服务模块向汽车的其它模块提供接口。比如对于汽车的自动驾驶***,当自动驾驶***开始控制车辆行驶时,自动驾驶***通过调用门服务模块的接口来让车门关闭。在车辆行驶结束后,自动驾驶***再通过调用门服务模块的接口让车门打开。
所述***用于提供多个服务模块。所述多个服务模块包括网关服务模块、规则引擎服务模块以及不包括所述网关服务模块和所述规则引擎服务模块的多个业务服务模块。
所述网关服务模块用于通过网关接口从外部接收第一访问请求,解析所述第一访问请求得到第一业务服务模块的路由信息和接口信息。
所述规则引擎服务模块用于通过预设的多种验证规则按照预设顺序对所述第一访问请求的合法性进行验证。
所述规则引擎服务模块具体用于验证所述规则引擎服务模块中是否配置所述接口信息对应的接口、验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限、验证所述第一访问请求的发起对象的签名,在所述接口信息对应的接口在所述规则引擎服务模块中已配置、所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限、所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过。
所述网关服务模块还用于在所述第一访问请求的合法性验证通过后,根据所述路由信息和所述接口信息访问所述第一业务服务模块。
本发明中的基于面向服务架构的***用于内部***和外部***之间的通信。第一访问请求的发起对象为外部***,业务服务模块为内部***。内部***是指仅供企业内部使用的***。外部***是指外部企业使用的***。在企业内部可能存在多个内部***,这多个内部***处于同一局域网。上述多个内部***之间可以直接在局域网内进行通信,不需要经过外部网络,内部***之间的通信具有较高的安全性。而当内部***与外部***进行通信时需要经过外部网络,比如互联网,此时存在通信安全问题。
比如企业A与企业B共同进行车辆研发。在企业A的车辆研发***中,包括自动驾驶研发***、车辆座椅研发***、车辆电池研发***等多个***,这多个***都是企业A的内部***。相对于企业A,企业B使用的***即为外部***。企业A可以预先给企业B提供接口,当企业B需要使用企业A的研发数据时,让企业B的***调用企业A提供的接口来获取数据。比如企业A向企业B提供了自动驾驶研发***的接口,当企业B需要使用企业A的自动驾驶研发数据时,企业B的***调用企业A提供的自动驾驶研发***的接口来获取数据。
本实施例中预先配置多个接口,每个接口对应至少一个业务服务模块,将配置的接口提供给外部***。当外部***需要获取某个业务服务模块的数据时,外部***通过调用该业务服务模块对应的接口向网关服务模块发送第一访问请求。网关服务模块在接收到外部***发起的第一访问请求后,网关服务模块对该第一访问请求进行解析,得到该业务服务模块对应的路由信息和接口信息。路由信息可以表示网关服务模块与该业务服务模块之间是否连通。如果网关服务模块与该业务服务模块之间的路由存在,那么说明网关服务模块可以访问到该业务服务模块。如果网关服务模块与业务服务模块之间的路由不存在,那么说明网关服务模块无法访问到该业务服务模块。
外部***的第一访问请求可以是数据获取请求。当外部***需要获取业务服务模块的数据时,外部***根据该业务服务模块对应的接口发起数据获取请求,网关服务模块将该业务服务模块的数据发送至该外部***。
外部***的第一访问请求也可以是数据发送请求。在数据发送请求中包含该外部***的数据。网关服务模块接收到外部***的数据后,将外部***的数据转发至对应的业务服务模块。
网关服务模块还可以包括白名单配置、日志记录、动态路由、超时重试等功能。具体地,在网关服务模块中配置IP白名单,网关服务模块只允许白名单中的IP访问,增加***的安全性。网关服务模块具有日志记录功能,可以将外部***的第一访问请求以及该第一访问请求对应的响应进行记录,方便管理。网关服务模块支持动态路由功能,当配置了新的业务服务模块的接口时,网关服务模块可以根据新的配置路由到该新的业务服务模块,不需要重启网关服务模块,提高灵活性和可扩展性。网关服务模块还支持超时重试功能,当外部***的第一访问请求超出预定时间还没有响应后,网关服务模块会针对该第一访问请求进行重试,不需要外部***再次发起访问,提高稳定性。
在一个例子中,在规则引擎服务模块中配置了接口A和接口B,其中接口A对应业务服务模块1,接口B对应业务服务模块2和业务服务模块3。当外部***需要获取业务服务模块1的数据时,外部***通过接口A向网关服务模块发起第一访问请求。如果外部***需要获取业务服务模块2的数据以及业务服务模块3的数据,那么外部***通过接口B向网关服务模块发起第一访问请求。
在规则引擎服务模块中预先配置各个业务服务模块对应的接口。具体地,如果一个业务服务模块需要获取外部***的数据,或者该业务服务模块的数据需要提供给外部***使用,那么将该业务服务模块的接口在规则引擎服务模块中配置。外部***只能访问在规则引擎服务模块中配置的业务服务模块的接口。如果外部***访问的接口在规则引擎服务模块中未配置,那么说明该访问请求是非法的。
比如,在规则引擎服务模块中配置了业务服务模块1的接口和业务服务模块2的接口。通过解析外部***的访问请求得到的接口信息对应的接口是***C的接口,而在规则引擎服务模块中没有配置***C的接口,那么说明该访问请求是非法的,合法性验证不通过。
如图4所示,本发明的基于面向服务架构的***还包括管理后台,通过管理后台可配置规则引擎服务模块中的接口。管理后台提供OpenAPI(Open Application ProgrammingInterface,对外开放的应用程序接口)服务模块,该服务模块主要用于向外部***提供访问接口。OpenAPI服务模块会提供多个接口文档,包括接口的入参、出参、接口类型等信息,供外部***调用。
规则引擎服务模块还用于判断所述外部***是否具有访问所述业务服务模块的接口的权限。在外部***发起访问请求之前,外部***需要发起订阅。比如外部***需要获取业务服务模块1的数据,那么外部***针对业务服务模块1的接口发起订阅。通过管理后台对外部***的订阅进行审批,在审批通过后,说明外部***具有访问该接口的权限。如果审批未通过,说明外部***不具有访问该接口的权限。
在一个例子中,在规则引擎服务模块中配置了业务服务模块1的接口和业务服务模块2的接口。一个外部***订阅了业务服务模块1的接口和业务服务模块2的接口,而只有业务服务模块1的接口的订阅审批通过,而业务服务模块2的接口的订阅审批未通过。如果该外部***通过业务服务模块2的接口发起访问请求,由于业务服务模块2的接口的订阅审批未通过,那么该访问请求是非法的。
规则引擎服务模块还用于验证外部***的签名。在外部***的访问请求中会包含外部***的签名,网关服务模块对外部***的访问请求进行解析后会得到外部***的签名。在外部***发起访问请求之前,会预先给外部***分配签名,外部***发起访问请求会携带签名。如果通过解析外部***的访问请求得到的签名与预先向该外部***分配的签名不一致,那么该访问请求是非法的。
在规则引擎服务模块中预先配置多种验证规则以及各种验证规则的顺序。规则引擎服务模块根据各种验证规则的顺序对第一访问请求进行依次验证。如果该第一访问请求通过所有验证规则,那么认为该第一访问请求是合法的。如果第一访问请求未通过任一验证规则,那么认为该第一访问请求是不合法的,并且不再对后续的验证规则进行验证。
比如在规则引擎服务模块中配置了验证规则1、验证规则2、验证规则3和验证规则4。那么首先根据验证规则1对第一访问请求进行验证。当验证规则1通过后,再根据验证规则2对第一访问请求进行验证,如果所有验证规则都通过,那么该第一访问请求是合法的。如果验证规则1未通过,那么不再对验证规则2进行验证。
本发明通过配置网关服务模块和规则引擎服务模块,网关服务模块可以从外部接收第一访问请求,并通过规则引擎服务模块对第一访问请求进行合法性验证,将合法性验证的功能从网关服务模块中抽离,简化网关服务模块的功能,让网关服务模块能够同时处理更多的外部访问请求,提高网关服务模块的并发能力。同时本发明通过将网关和规则引擎以服务模块的方式实现,服务模块之间是独立的,避免网关服务模块和规则引擎服务模块的功能相互混淆,进一步将网关服务模块和规则引擎服务模块的功能进行分离,简化网关服务模块的功能,提高并发能力。另外通过在规则引擎服务模块中配置多种验证规则,根据配置的多种验证规则来判断外部***发起的访问请求的合法性,避免非法访问,提高安全性。
在一种实施方式中,所述规则引擎服务模块具体用于在所述规则引擎服务模块中未配置所述接口信息对应的接口的情况下,向所述网关服务模块返回第一错误信息,所述第一错误信息用于说明所述接口信息对应的接口在所述规则引擎服务模块中未配置;在所述规则引擎服务模块中已配置所述接口信息对应的接口的情况下,判断所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限。
在所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限的情况下,向所述网关服务模块返回第二错误信息,所述第二错误信息用于说明所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限;在所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限的情况下,对所述第一访问请求的发起对象的签名进行验证。
在所述第一访问请求的发起对象的签名验证未通过的情况下,向所述网关服务模块返回第三错误信息,所述第三错误信息用于说明所述第一访问请求的发起对象的签名验证未通过。
所述网关服务模块还用于将所述第一错误信息、所述第二错误信息、所述第三错误信息发送至所述第一访问请求的发起对象。
如图2所示,规则引擎服务模块中预先配置了三种验证规则,包括判断该接口信息对应的接口在规则引擎服务模块中是否配置、外部***是否具有访问权限以及验证外部***的签名。同时规则引擎服务模块中还配置了上述三种验证规则的先后顺序,规则引擎服务模块先判断外部***的访问请求对应的接口信息对应的接口在规则引擎服务模块中是否配置。如果该接口在规则引擎服务模块中没有配置,那么直接返回接口未配置的错误信息,不再验证该外部***是否具有访问第一业务服务模块的接口的权限,并且不再验证外部***的签名。
如果该接口在规则引擎服务模块中已经配置,那么再验证该外部***是否具有访问第一业务服务模块的接口的权限。如果该外部***不具有访问第一业务服务模块的接口的权限,那么不再验证外部***的签名,直接返回接口审批未通过的错误信息。如果该外部***具有访问第一业务服务模块的接口的权限,那么验证外部***的签名。签名验证成功后说明该访问请求是合法的。签名验证失败后向外部***返回签名验证失败的错误信息。
本实施例通过设置多种验证规则的顺序,让规则引擎服务模块按照设置的顺序依次进行验证,在任意一种验证规则未通过后立即返回错误信息,不再进行后续验证,提高验证效率。同时为每种验证规则都设置对应的错误信息,在验证失败后向外部***返回对应的错误信息,让外部***可以清楚知道验证失败的原因。
在现有技术中,当外部***需要获取业务服务模块的数据时,需要调用业务服务模块提供的接口。而对于不同的外部***,即使是获取同一业务服务模块的数据,不同的外部***所需要的数据也不同。因此在该业务服务模块需要针对每个外部***都开发一个对应的接口,在开发过程中需要反复与外部企业进行沟通,极大增加了开发成本和沟通成本。
而本申请通过将规则引擎服务模块分离,只需要根据外部***的需求在规则引擎服务模块中配置相应的接口,不需要在业务服务模块中进行开发,降低沟通成本和开发成本。
本实施例中,所述网关服务模块还用于通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据,将所述加密数据发送至所述规则引擎服务模块。
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为解密接口。
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块还用于通过预存的与所述接口信息对应的接口对应的解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述网关服务模块。
所述规则引擎服务模块还用于在解密失败后,向所述网关服务模块返回第四错误信息,所述第四错误信息用于说明所述加密数据解密失败。
所述网关服务模块还用于将所述第四错误信息发送至所述第一访问请求的发起对象。
当外部***需要向业务服务模块发送数据时,在外部***发起的访问请求中会包含发送给业务服务模块的数据。为了提高数据安全性,外部***可以先对数据进行加密,访问请求中的数据是加密后的数据。可以预先生成一组对应的加密密钥和解密密钥,并将加密密钥提供给外部***,解密密钥保存在规则引擎服务模块中,外部***可以使用该加密密钥对数据进行加密。如图4所示,管理后台提供了密钥管理功能,通过管理后台可以生成对应的加密密钥和解密密钥。为了提高数据安全性,通过管理后台对每个接口分别配置不同的加密密钥和解密密钥。
网关服务模块接收到外部***的访问请求后,通过解析该访问请求得到加密数据。规则引擎服务模块使用预先存储的解密密钥对该加密数据进行解密。如果该加密数据是通过预先提供给外部***的加密密钥进行加密生成的,那么规则引擎服务模块可以使用预先保存的解密密钥对该加密数据进行成功解密。如果该加密数据不是通过预先提供给外部***的加密密钥进行加密生成的,那么规则引擎服务模块会解密失败。
规则引擎服务模块在对加密数据解密成功后,将解密数据发送给网关服务模块。通过网关服务模块将解密数据发送至对应的业务服务模块,供业务服务模块使用。或者将解密数据存储在数据仓库,让业务服务模块在有使用该外部***的数据的需求时从数据仓库中调用。
本实施例通过规则引擎服务模块对加密数据进行解密,不需要让网关服务模块执行解密过程,简化网关服务模块的功能,提高网关服务模块的并发量。
本实施例中,所述网关服务模块还用于通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据。
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为解密接口。
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块用于向所述网关服务模块发送预先存储的与所述接口信息对应的接口对应的解密密钥。
所述网关服务模块还用于根据所述解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述第一业务服务模块。
所述网关服务模块还用于在解密失败后向所述第一访问请求的发起对象发送第四错误信息,所述第四错误信息用于说明所述加密数据解密失败。
还可以通过网关服务模块来对加密数据进行解密。网关服务模块获取到外部***的访问请求中包含的加密数据后,规则引擎服务模块判断该接口信息对应的接口是否为解密接口。如果是解密接口,那么规则引擎服务模块将该接口对应的解密密钥发送给网关服务模块。网关服务模块根据该解密密钥对加密数据进行解密。
本实施例通过让网关服务模块对加密数据进行解密,对加密数据解密后直接发送给业务服务模块,加密数据不需要经过规则引擎服务模块,简化加密数据的传输流程,提高效率。
本实施例中,第一业务服务模块为聚合服务模块。在所述访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为聚合接口。
在所述接口信息对应的接口为聚合接口的情况下,所述聚合服务模块用于确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块。所述网关服务模块还用于将聚合后的数据发送至所述第一访问请求的发起对象。
聚合接口是指聚合服务模块的接口。一个聚合接口对应多个其它业务服务模块,通过管理后台可以预先配置聚合接口和多个其它业务服务模块之间的映射关系。当外部***需要获取多个业务服务模块的数据时,外部***通过调用多个业务服务模块对应的聚合接口向网关服务模块发起访问请求。对于每个聚合接口,预先配置了对应的聚合规则。聚合规则表示对数据的处理方式,比如可以是对数据进行去重、求和等。
当规则引擎服务模块检测到外部***调用的是聚合接口时,通过聚合服务模块来获取该聚合接口对应的多个业务服务模块的数据。聚合服务模块还根据聚合规则对获取到的多个业务服务模块的数据进行聚合,得到聚合数据,并将聚合数据发送给网关服务模块,通过网关服务模块转发至外部***。
如图3所示,业务服务模块的数据包括实时数据以及存储在数据仓库的离线数据。在通过管理后台预先配置接口时,可以配置该接口对应的数据获取方式。比如可以将数据获取方式配置为获取实时数据。也可以将数据获取方式配置为从数据仓库中获取离线数据。还可以将数据获取方式配置为既获取实时数据又获取离线数据。
比如预先配置接口A和接口B,接口A对应业务服务模块1,接口B对应业务服务模块2和业务服务模块3。并配置接口A对应的数据获取方式为获取实时数据,接口B对应的数据获取方式为既获取实时数据又获取离线数据。当外部***通过接口A发起访问请求后,聚合服务模块获取业务服务模块1的实时数据。
当外部***通过接口B发起访问请求后,聚合服务模块获取业务服务模块2的实时数据和离线数据,聚合服务模块还获取业务服务模块3的实时数据和离线数据。将业务服务模块2的实时数据、业务服务模块2的离线数据、业务服务模块3的实时数据以及业务服务模块3的离线数据进行聚合后通过网关服务模块发送给外部***。
本实施例通过设置聚合服务模块,通过聚合服务模块可以一次获取多个业务服务模块的数据,并对多个业务服务模块的数据进行聚合处理,当外部***需要获取多个业务服务模块的数据时可以调用聚合接口,不需要外部***进行多次访问,外部***只需要一次访问即可获取多个业务服务模块的数据,提高获取数据的效率。
本实施例中,所述聚合服务模块还用于从所述规则引擎服务模块中获取预先配置的与所述聚合接口对应的数据处理规则,所述数据处理规则至少包括过滤规则和改写规则中的一种,在所述过滤规则中预先配置目标字段,在所述改写规则中预先配置目标数据格式。
在所述数据处理规则包括过滤规则的情况下,所述聚合服务模块还用于将所述聚合后的数据中包含的不属于所述目标字段的数据删除。
在所述数据处理规则包括改写规则的情况下,所述聚合服务模块还用于将所述聚合后的数据改写为符合所述目标数据格式的数据。
聚合服务模块获取到的聚合数据可以包括多个字段的数据。而外部***可能只需要其中部分字段的数据,其它字段的数据对于该外部***是无效数据。聚合服务模块获取到的聚合数据的格式也可能不符合外部***的需求。
可以预先配置聚合接口对应的过滤规则,该过滤规则中可以配置多个目标字段。比如聚合服务模块获取到的聚合数据包括100个字段的数据,而在过滤规则中配置了30个字段,那么将获取到的100个字段的数据中的另外70个字段的数据删除,只保留过滤规则中配置的30个字段的数据。
也可以预先配置聚合接口对应的改写规则。在改写规则中配置数据格式。当聚合服务模块获取到的聚合数据的格式与改写规则中配置的数据格式不同时,按照配置的数据格式对聚合数据进行修改。
本实施例通过预先配置聚合结构对应的过滤规则和改写规则,在聚合服务模块获取到聚合数据后根据过滤规则和改写规则对聚合数据进行处理,让聚合数据符合外部***的需求。
本实施例中,还包括调度服务模块,所述多个业务服务模块不包括所述调度服务模块;在所述调度服务模块中配置有外部接口信息、第二业务服务模块的接口信息和路由信息、以及目标任务时间。
所述调度服务模块用于在到达所述目标任务时间时,向所述网关服务模块发送第二访问请求,所述第二访问请求包含所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识。所述网关服务模块用于解析所述第二访问请求得到所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识。
所述规则引擎服务模块在检测到所述调度标识后,直接向所述网关服务模块发送所述第二访问请求的合法性验证通过的信息。所述网关服务模块还用于根据所述第二业务服务模块的接口信息获取所述数据,将获取的数据发送至所述外部接口信息对应的接口。
当达到目标任务时间时调度服务模块触发调度任务,调度服务模块向网关服务模块发送第二访问请求,通过调度服务模块来模拟外部***。调度服务模块可以是每经过一定时间触发一次调度任务,比如可以每经过一个小时调度服务模块触发调度任务。调度服务模块也可以是定时触发调度任务,比如在每天的9:00、12:00、16:00触发调度任务。可以根据实际需求来选择调度服务模块触发调度任务的时间。
第二访问请求中包含目标外部接口信息、第二业务服务模块的接口信息和路由信息、以及调度标识。第二业务服务模块的接口信息用于说明需要从哪个业务服务模块获取数据。外部接口信息是外部***的接口信息,外部接口信息用于说明需要将获取的数据发送给哪个外部***。
调度标识用于将该第二访问请求与外部***发起的第一访问请求进行区分。在由外部***发起访第一问请求的情况下,由于存在数据安全问题,因此需要对第一访问请求的合法性进行验证。而当调度服务模块发起第二访问请求时,由于调度服务模块是本发明中面向服务架构的***的内部服务模块,因此不存在数据安全问题,第二访问请求必然是合法的。为了提高效率,规则引起服务模块跳过了对第二访问请求进行合法性验证的过程,不需要规则引擎服务模块验证该第二访问请求的合法性,直接向网关服务模块发送合法性验证通过的信息。
比如,在调度服务模块中配置了外部***1的接口信息、业务服务模块1的接口信息以及目标任务时间,目标任务时间为每天12:00。那么在每天12:00的时间点,调度服务模块会触发调度任务,向网关服务模块发送第二访问请求。网关服务模块会根据该第二访问请求来获取业务服务模块1的数据,并将业务服务模块1的数据发送给外部***1。
本实施例通过设置调度服务模块,并在调度服务模块中配置外部接口信息和第二业务服务模块的接口信息,当达到预定时间后根据第二业务服务模块的接口信息获取数据,并将获取到的数据发送至外部接口信息对应的接口,不需要外部***发起第一访问请求,提高效率。
本实施例中,所述第二业务服务模块为聚合服务模块。所述规则引擎服务模块还用于判断所述第二业务服务模块的接口是否为聚合接口。在所述第二业务服务模块的接口为聚合接口的情况下,所述聚合服务模块用于确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块。所述网关服务模块用于根据所述外部接口信息将聚合后的数据转发至所述外部接口信息对应的接口。
调度服务模块向网关服务模块发送的第二访问请求中包含的第二业务服务模块的接口可以是聚合接口。一个聚合接口对应多个业务服务模块。调度服务模块也可以用于获取多个业务服务模块的数据。
比如调度服务模块中配置了外部***1的接口信息以及聚合接口1的信息,其中聚合接口1对应业务服务模块1和业务服务模块2。当调度服务模块触发调度任务后,向网关服务模块发送第二访问请求。规则引擎服务模块判断出该第二访问请求中包含聚合接口,由聚合服务模块来获取业务服务模块1的数据和业务服务模块2的数据,并将业务服务模块1的数据和业务服务模块2的数据进行数据聚合。聚合服务模块将聚合后的数据发送给网关服务模块,通过网关服务模块将聚合后的数据发送给外部***1。
本实施例通过在调度服务模块中配置聚合接口,可以向外部***发送聚合后的数据,不需要外部***发起访问请求,提高效率。
本实施例中,所述聚合服务模块配置有本地数据仓库,所述聚合服务模块还用于在每次获取到聚合数据后,将获取到的聚合数据存储至所述本地数据仓库。
所述规则引擎服务模块还用于判断所述聚合接口对应的数据类型。在所述聚合接口对应的数据类型只包括离线数据类型的情况下,所述聚合服务模块还用于从所述本地数据仓库中获取与所述聚合接口对应的聚合数据。
在所述聚合接口对应的数据类型包括实时数据类型的情况下,所述聚合服务模块还用于从所述聚合接口对应的至少两个其它业务服务模块中分别获取数据,将获取到的数据进行聚合。
在所述聚合接口对应的数据类型包括实时数据类型和离线数据类型的情况下,所述聚合服务模块还用于从所述本地数据仓库中获取与所述聚合接口对应的第一聚合数据,从所述聚合接口对应的至少两个其它业务服务模块中获取第二聚合数据,将所述第一聚合数据和所述第二聚合数据进行聚合。
如图3所示,在聚合服务模块中配置有本地数据仓库。当聚合服务模块每次被调用并获取到聚合数据后,聚合服务模块将获取到的聚合数据存入本地数据仓库。可以是外部***调用该聚合服务模块来获取聚合数据,也可以是调度服务模块来调用该聚合服务模块来获取聚合数据。
可以预先配置聚合接口对应的数据类型,聚合接口对应的数据类型可以只包括离线数据类型,聚合接口对应的数据类型也可以只包括实时数据类型,聚合接口对应的数据类型也可以同时包括离线数据类型和实时数据类型。聚合接口对应的数据类型可以根据外部***的需求来进行配置。
如果聚合接口对应的数据类型为实时数据类型,那么说明外部***需要的数据为实时数据。在此情况下,聚合服务模块从聚合接口对应的至少两个业务服务模块中获取实时数据,并将获取到的数据进行聚合。
如果聚合接口对应的数据类型为离线数据类型,那么聚合服务模块直接从本地数据仓库中获取聚合数据,聚合服务模块不需要访问聚合接口对应的多个业务服务模块。
本实施例通过在聚合服务模块中配置有本地数据仓库,通过本地数据仓库来存储聚合服务模块获取到的聚合数据,聚合服务模块每次获取到聚合数据后都存储在本地仓库内,当外部***需要获取离线数据时,可以直接从聚合服务模块的本地数据仓库获取,不再需要访问聚合接口对应的多个业务服务模块,提高获取数据的效率。
本实施例中,所述网关服务模块还用于根据所述路由信息和所述接口信息访问所述第一业务服务模块,得到所述第一业务服务模块的数据。所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为加密接口。在所述接口信息对应的接口为加密接口的情况下,所述规则引擎服务模块或者所述网关服务模块将所述第一业务服务模块的数据进行加密;所述网关服务模块还用于将所述加密后的数据发送至所述第一访问请求的发起对象。
对于每个接口,可以配置是否需要数据加密的属性。比如某个接口对应的业务服务模块的数据的重要性较高,那么可以将该接口配置为需要加密的接口。当外部***通过调用该接口发起访问请求,在获取到该接口对应的业务服务模块的数据后,对业务服务模块的数据进行加密。
可以通过规则引擎服务模块来判断一个接口是否为加密接口。如果该接口是加密接口,可以通过规则引擎服务模块进行加密。也可以是让规则引擎服务模块将加密密钥发送至网关服务模块,网关服务模块使用该加密密钥进行加密。
本实施例通过配置接口的加密属性,当外部***调用的接口为加密接口时自动对返回外部***的数据进行加密,提高数据安全性。
本实施例中,在所述规则引擎服务模块出现故障的情况下,所述规则引擎服务模块还用于将所述网关服务模块的接口和所述多个业务服务模块的接口设置为禁止访问状态。
当规则引擎服务模块出现故障时,将其它服务模块的接口设置为禁止访问状态。比如将网关服务模块的接口和业务服务模块的接口都设置为禁止访问状态。在禁止访问状态下,外部***无法访问,避免出现数据泄露,提高***安全性。
本实施例中,还包括密钥派生服务模块。在所述规则引擎服务模块对所述加密数据解密多次解密失败后,所述规则引擎服务模块调用所述密钥派生服务模块的接口。所述密钥派生服务模块用于生成与所述接口信息对应的接口对应新的加密密钥和新的解密密钥,将所述新的加密密钥和所述新的解密密钥发送至所述规则服务模块模块。所述规则服务模块模块用于将所述新的加密密钥发送至所述网关服务模块,通过所述网关服务模块将所述新的加密密钥发送至所述第一访问请求的发起对象。
密钥派生服务模块用于生成加密密钥和解密密钥。密钥派生服务模块部署在硬件隔离的安全环境中。如果规则引擎服务模块连续多次对加密数据解密失败,有可能是由于外部***的加密密钥已经过期所引起的。如果外部***的加密密钥已经过期,会导致外部***的加密密钥和规则引擎服务模块的解密密钥不匹配,导致规则引擎服务模块解密失败。
在规则引擎服务模块连续多次解密失败后,规则引擎服务模块调用密钥派生服务模块,通过密钥派生服务模块生成新的加密密钥和解密密钥,并通过网关服务模块将新生成的加密密钥和解密密钥发送至外部***。让外部***使用新的加密密钥对数据进行加密,这样规则服务模块能够使用新的解密密钥进行解密。
本实施例通过在规则引擎服务模块连续多次解密失败后,通过密钥派生服务模块生成新的加密密钥和新的解密密钥,并将新的加密密钥发送至外部***,对外部***的加密密钥进行及时更新,让外部***使用新的加密密钥进行加密,使得规则引擎服务模块可以通过新的解密密钥进行解密,避免规则引擎服务模块解密失败,保证外部***能够成功发送数据。
如图5所示,本实施例介绍了一种通信方法,该通信方法应用于本发明实施例介绍的基于面向服务架构的***。该通信方法包括步骤5100-5500。
5100:所述网关服务模块通过网关接口从外部接收第一访问请求。
5200:所述网关服务模块解析所述第一访问请求得到第一业务服务模块的路由信息和接口信息。
5300:所述规则引擎服务模块验证所述规则引擎服务模块中是否配置所述接口信息对应的接口、验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限、验证所述第一访问请求的发起对象的签名;
5400:在所述接口信息对应的接口在所述规则引擎服务模块中已配置、所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限、所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过。
5500:在所述第一访问请求的合法性验证通过后,所述网关服务模块根据所述路由信息和所述接口信息访问所述第一业务服务模块。
本发明通过配置网关服务模块和规则引擎服务模块,网关服务模块可以从外部接收第一访问请求,并通过规则引擎服务模块对第一访问请求进行合法性验证,将合法性验证的功能从网关服务模块中抽离,简化网关服务模块的功能,让网关服务模块能够同时处理更多的外部访问请求,提高网关服务模块的并发能力。同时本发明通过将网关和规则引擎以服务模块的方式实现,服务模块之间是独立的,避免网关服务模块和规则引擎服务模块的功能相互混淆,进一步将网关服务模块和规则引擎服务模块的功能进行分离,简化网关服务模块的功能,提高并发能力。另外通过在规则引擎服务模块中配置多种验证规则,根据配置的多种验证规则来判断外部***发起的访问请求的合法性,避免非法访问,提高安全性。
可选地,所述步骤5300包括:
在所述规则引擎服务模块中未配置所述接口信息对应的接口的情况下,所述规则引擎服务模块向所述网关服务模块返回第一错误信息,所述第一错误信息用于说明所述接口信息对应的接口在所述规则引擎服务模块中未配置;
所述网关服务模块将所述第一错误信息发送至所述第一访问请求的发起对象;
在所述规则引擎服务模块中已配置所述接口信息对应的接口的情况下,所述规则引擎服务模块验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限;
在所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限的情况下,所述规则引擎服务模块向所述网关服务模块返回第二错误信息,所述第二错误信息用于说明所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限;
所述网关服务模块将所述第二错误信息发送至所述第一访问请求的发起对象;
在所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限的情况下,所述规则引擎服务模块对所述第一访问请求的发起对象的签名进行验证;
在所述第一访问请求的发起对象的签名验证未通过的情况下,所述规则引擎服务模块向所述网关服务模块返回第三错误信息,所述第三错误信息用于说明所述第一访问请求的发起对象的签名验证未通过;
所述网关服务模块将所述第三错误信息发送至所述第一访问请求的发起对象;
在所述第一访问请求的发起对象的签名验证通过的情况下,所述规则引擎服务模块确定所述第一访问请求的合法性验证通过。
可选地,所述方法还包括:
所述网关服务模块通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据,将所述加密数据发送至所述规则引擎服务模块;
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块确定所述接口信息对应的接口是否为解密接口;
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块通过预存的与所述接口信息对应的接口对应的解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述网关服务模块;
在解密失败后,所述规则引擎服务模块向所述网关服务模块返回第四错误信息,所述第四错误信息用于说明所述加密数据解密失败;
所述网关服务模块将所述第四错误信息发送至所述第一访问请求的发起对象。
可选地,所述方法还包括:
所述网关服务模块通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据;
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块判断所述接口信息对应的接口是否为解密接口;
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块向所述网关服务模块发送预先存储的与所述接口信息对应的接口对应的解密密钥;
所述网关服务模块根据所述解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述第一业务服务模块;
所述网关服务模块在解密失败后向所述第一访问请求的发起对象发送第四错误信息,所述第四错误信息用于说明所述加密数据解密失败。
可选地,所述第一业务服务模块为聚合服务模块,所述方法还包括:
在所述访问请求的合法性验证通过后,所述规则引擎服务模块判断所述接口信息对应的接口是否为聚合接口;
在所述接口信息对应的接口为聚合接口的情况下,所述聚合服务模块确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块;
所述网关服务模块将聚合后的数据发送至所述第一访问请求的发起对象。
可选地,所述方法还包括:
所述聚合服务模块从所述规则引擎服务模块中获取预先配置的与所述聚合接口对应的数据处理规则,所述数据处理规则至少包括过滤规则和改写规则中的一种,在所述过滤规则中预先配置目标字段,在所述改写规则中预先配置目标数据格式;
在所述数据处理规则包括过滤规则的情况下,所述聚合服务模块将所述聚合后的数据中包含的不属于所述目标字段的数据删除;
在所述数据处理规则包括改写规则的情况下,所述聚合服务模块将所述聚合后的数据改写为符合所述目标数据格式的数据。
可选地,所述***还包括调度服务模块,所述调度服务模块中配置有外部接口信息、第二业务服务模块的接口信息和路由信息、以及目标任务时间,所述方法还包括:
所述调度服务模块在到达所述目标任务时间时,向所述网关服务模块发送第二访问请求,所述第二访问请求包含所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识;
所述网关服务模块解析所述第二访问请求得到所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识;
所述规则引擎服务模块在检测到所述调度标识后,直接向所述网关服务模块发送所述第二访问请求的合法性验证通过的信息;
所述网关服务模块根据所述第二业务服务模块的接口信息获取数据,将获取的数据发送至所述外部接口信息对应的接口。
可选地,所述第二业务服务模块为聚合服务模块,所述方法还包括:
所述规则引擎服务模块判断所述第二业务服务模块的接口是否为聚合接口;
在所述第二业务服务模块的接口为聚合接口的情况下,所述聚合服务模块确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块;
所述网关服务模块根据所述外部接口信息将聚合后的数据转发至所述外部接口信息对应的接口。
可选地,所述聚合服务模块配置有本地数据仓库,所述聚合服务模块还用于在每次获取到聚合数据后,将获取到的聚合数据存储至所述本地数据仓库;
所述方法还包括:
所述规则引擎服务模块判断所述聚合接口对应的数据类型;
在所述聚合接口对应的数据类型只包括离线数据类型的情况下,所述聚合服务模块从所述本地数据仓库中获取与所述聚合接口对应的聚合数据;
在所述聚合接口对应的数据类型包括实时数据类型的情况下,所述聚合服务模块从所述聚合接口对应的至少两个其它业务服务模块中分别获取数据,将获取到的数据进行聚合;
在所述聚合接口对应的数据类型包括实时数据类型和离线数据类型的情况下,所述聚合服务模块从所述本地数据仓库中获取与所述聚合接口对应的第一聚合数据,从所述聚合接口对应的至少两个其它业务服务模块中获取第二聚合数据,将所述第一聚合数据和所述第二聚合数据进行聚合。
可选地,所述方法还包括:
所述网关服务模块根据所述路由信息和所述接口信息访问所述第一业务服务模块,得到所述第一业务服务模块的数据;
所述规则引擎服务模块判断所述接口信息对应的接口是否为加密接口;
在所述接口信息对应的接口为加密接口的情况下,所述规则引擎服务模块或者所述网关服务模块将所述第一业务服务模块的数据进行加密;
所述网关服务模块将加密后的数据发送至所述第一访问请求的发起对象。
如图6所示,本实施例介绍了一种电子设备600,包括处理器601和存储器602,所述存储器602存储可在所述处理器601上运行的程序或指令,所述程序或指令被所述处理器601执行时实现如本发明任一实施例所述的通信方法的步骤。
本实施例介绍了一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令处理器被执行时实现如本发明任一实施例所述的通信方法。
本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、OAM或者其它可编程装置。
这里所描述的计算机程序/指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (13)
1.一种基于面向服务架构的***,其特征在于,所述***用于提供多个服务模块,所述多个服务模块包括网关服务模块、规则引擎服务模块以及不包括所述网关服务模块和所述规则引擎服务模块的多个业务服务模块;
所述网关服务模块用于通过网关接口从外部接收第一访问请求,解析所述第一访问请求得到第一业务服务模块的路由信息和接口信息;
所述规则引擎服务模块用于通过预设的多种验证规则按照预设顺序对所述第一访问请求的合法性进行验证;
所述规则引擎服务模块具体用于验证所述规则引擎服务模块中是否配置所述接口信息对应的接口、验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限、验证所述第一访问请求的发起对象的签名,在所述接口信息对应的接口在所述规则引擎服务模块中已配置、所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限、所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过;
所述网关服务模块还用于在所述第一访问请求的合法性验证通过后,根据所述路由信息和所述接口信息访问所述第一业务服务模块。
2.根据权利要求1所述的***,其特征在于,所述规则引擎服务模块具体用于:
在所述规则引擎服务模块中未配置所述接口信息对应的接口的情况下,向所述网关服务模块返回第一错误信息,所述第一错误信息用于说明所述接口信息对应的接口在所述规则引擎服务模块中未配置;
在所述规则引擎服务模块中已配置所述接口信息对应的接口的情况下,验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限;
在所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限的情况下,向所述网关服务模块返回第二错误信息,所述第二错误信息用于说明所述第一访问请求的发起对象不具有访问所述第一业务服务模块的接口的权限;
在所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限的情况下,对所述第一访问请求的发起对象的签名进行验证;
在所述第一访问请求的发起对象的签名验证通过的情况下,确定所述第一访问请求的合法性验证通过;
在所述第一访问请求的发起对象的签名验证未通过的情况下,向所述网关服务模块返回第三错误信息,所述第三错误信息用于说明所述第一访问请求的发起对象的签名验证未通过;
所述网关服务模块还用于将所述第一错误信息、所述第二错误信息、所述第三错误信息发送至所述第一访问请求的发起对象。
3.根据权利要求1所述的***,其特征在于,所述网关服务模块还用于通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据,将所述加密数据发送至所述规则引擎服务模块;
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块还用于确定所述接口信息对应的接口是否为解密接口;
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块还用于通过预存的与所述接口信息对应的接口对应的解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述网关服务模块;
所述规则引擎服务模块还用于在解密失败后,向所述网关服务模块返回第四错误信息,所述第四错误信息用于说明所述加密数据解密失败;
所述网关服务模块还用于将所述第四错误信息发送至所述第一访问请求的发起对象。
4.根据权利要求1所述的***,其特征在于,所述网关服务模块还用于通过解析所述第一访问请求获取所述第一访问请求中包含的加密数据;
在所述第一访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为解密接口;
在所述接口信息对应的接口为解密接口的情况下,所述规则引擎服务模块用于向所述网关服务模块发送预先存储的与所述接口信息对应的接口对应的解密密钥;
所述网关服务模块还用于根据所述解密密钥对所述加密数据进行解密,在解密成功后将解密数据发送给所述第一业务服务模块;
所述网关服务模块还用于在解密失败后向所述第一访问请求的发起对象发送第四错误信息,所述第四错误信息用于说明所述加密数据解密失败。
5.根据权利要求1所述的***,其特征在于,所述第一业务服务模块为聚合服务模块;
在所述访问请求的合法性验证通过后,所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为聚合接口;
在所述接口信息对应的接口为聚合接口的情况下,所述聚合服务模块用于确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块;
所述网关服务模块还用于将聚合后的数据发送至所述第一访问请求的发起对象。
6.根据权利要求5所述的***,其特征在于,所述聚合服务模块还用于从所述规则引擎服务模块中获取预先配置的与所述聚合接口对应的数据处理规则,所述数据处理规则至少包括过滤规则和改写规则中的一种,在所述过滤规则中预先配置目标字段,在所述改写规则中预先配置目标数据格式;
在所述数据处理规则包括过滤规则的情况下,所述聚合服务模块还用于将所述聚合后的数据中包含的不属于所述目标字段的数据删除;
在所述数据处理规则包括改写规则的情况下,所述聚合服务模块还用于将所述聚合后的数据改写为符合所述目标数据格式的数据。
7.根据权利要求1所述的***,其特征在于,还包括调度服务模块,所述多个业务服务模块不包括所述调度服务模块;
所述调度服务模块中配置有外部接口信息、第二业务服务模块的接口信息和路由信息、以及目标任务时间;
所述调度服务模块用于在到达所述目标任务时间时,向所述网关服务模块发送第二访问请求,所述第二访问请求包含所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识;
所述网关服务模块用于解析所述第二访问请求得到所述外部接口信息、所述第二业务服务模块的接口信息和路由信息、以及调度标识;
所述规则引擎服务模块在检测到所述调度标识后,直接向所述网关服务模块发送所述第二访问请求的合法性验证通过的信息;
所述网关服务模块还用于根据所述第二业务服务模块的接口信息获取数据,将获取的数据发送至所述外部接口信息对应的接口。
8.根据权利要求7所述的***,其特征在于,所述第二业务服务模块为聚合服务模块;
所述规则引擎服务模块还用于判断所述第二业务服务模块的接口是否为聚合接口;
在所述第二业务服务模块的接口为聚合接口的情况下,所述聚合服务模块用于确定与所述聚合接口对应的至少两个其它业务服务模块,从所述至少两个其它业务服务模块中分别获取数据,将获取到的数据聚合后发送至所述网关服务模块;
所述网关服务模块用于根据所述外部接口信息将聚合后的数据转发至所述外部接口信息对应的接口。
9.根据权利要求8所述的***,其特征在于,所述聚合服务模块配置有本地数据仓库,所述聚合服务模块还用于在每次获取到聚合数据后,将获取到的聚合数据存储至所述本地数据仓库;
所述规则引擎服务模块还用于判断所述聚合接口对应的数据类型;
在所述聚合接口对应的数据类型只包括离线数据类型的情况下,所述聚合服务模块还用于从所述本地数据仓库中获取与所述聚合接口对应的聚合数据;
在所述聚合接口对应的数据类型包括实时数据类型的情况下,所述聚合服务模块还用于从所述聚合接口对应的至少两个其它业务服务模块中分别获取数据,将获取到的数据进行聚合;
在所述聚合接口对应的数据类型包括实时数据类型和离线数据类型的情况下,所述聚合服务模块还用于从所述本地数据仓库中获取与所述聚合接口对应的第一聚合数据,从所述聚合接口对应的至少两个其它业务服务模块中获取第二聚合数据,将所述第一聚合数据和所述第二聚合数据进行聚合。
10.根据权利要求1所述的***,其特征在于,所述网关服务模块用于根据所述路由信息和所述接口信息访问所述第一业务服务模块,得到所述第一业务服务模块的数据;
所述规则引擎服务模块还用于判断所述接口信息对应的接口是否为加密接口;
在所述接口信息对应的接口为加密接口的情况下,所述规则引擎服务模块或者所述网关服务模块用于将所述第一业务服务模块的数据进行加密;
所述网关服务模块还用于将加密后的数据发送至所述第一访问请求的发起对象。
11.根据权利要求1所述的***,其特征在于,在所述规则引擎服务模块出现故障的情况下,所述规则引擎服务模块还用于将所述网关服务模块的接口和所述多个业务服务模块的接口设置为禁止访问状态。
12.根据权利要求3所述的***,其特征在于,还包括密钥派生服务模块;
在所述规则引擎服务模块对所述加密数据解密多次解密失败后,所述规则引擎服务模块调用所述密钥派生服务模块的接口;
所述密钥派生服务模块用于生成与所述接口信息对应的接口对应新的加密密钥和新的解密密钥,将所述新的加密密钥和所述新的解密密钥发送至所述规则引擎服务模块;
所述规则引擎服务模块用于将所述新的加密密钥发送至所述网关服务模块,通过所述网关服务模块将所述新的加密密钥发送至所述第一访问请求的发起对象。
13.一种通信方法,其特征在于,应用于权利要求1-12任一项所述的***,所述方法包括:
所述网关服务模块通过网关接口从外部接收第一访问请求;
所述网关服务模块解析所述第一访问请求得到第一业务服务模块的路由信息和接口信息;
所述规则引擎服务模块验证所述规则引擎服务模块中是否配置所述接口信息对应的接口、验证所述第一访问请求的发起对象是否具有访问所述第一业务服务模块的接口的权限、验证所述第一访问请求的发起对象的签名;
在所述接口信息对应的接口在所述规则引擎服务模块中已配置、所述第一访问请求的发起对象具有访问所述第一业务服务模块的接口的权限、所述第一访问请求的发起对象的签名验证通过的情况下,所述规则引擎服务模块确定所述第一访问请求的合法性验证通过;
在所述第一访问请求的合法性验证通过后,所述网关服务模块根据所述路由信息和所述接口信息访问所述第一业务服务模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310665549.1A CN116405573B (zh) | 2023-06-07 | 2023-06-07 | 基于面向服务架构的***、通信方法、计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310665549.1A CN116405573B (zh) | 2023-06-07 | 2023-06-07 | 基于面向服务架构的***、通信方法、计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116405573A CN116405573A (zh) | 2023-07-07 |
CN116405573B true CN116405573B (zh) | 2023-08-15 |
Family
ID=87009088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310665549.1A Active CN116405573B (zh) | 2023-06-07 | 2023-06-07 | 基于面向服务架构的***、通信方法、计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116405573B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277193A (zh) * | 2008-05-05 | 2008-10-01 | 北京航空航天大学 | 基于面向服务架构认证服务代理的信息门户单点登录和访问*** |
CN112367321A (zh) * | 2020-11-10 | 2021-02-12 | 苏州万店掌网络科技有限公司 | 快速构建服务调用的方法及中台api网关 |
CN112788031A (zh) * | 2021-01-11 | 2021-05-11 | 百果园技术(新加坡)有限公司 | 基于Envoy架构的微服务接口认证***、方法及装置 |
CN113468491A (zh) * | 2021-06-07 | 2021-10-01 | 深圳供电局有限公司 | Api服务引擎方法、***、电子设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11019157B2 (en) * | 2019-03-06 | 2021-05-25 | At&T Intellectual Property I, L.P. | Connectionless service and other services for devices using microservices in 5G or other next generation communication systems |
-
2023
- 2023-06-07 CN CN202310665549.1A patent/CN116405573B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277193A (zh) * | 2008-05-05 | 2008-10-01 | 北京航空航天大学 | 基于面向服务架构认证服务代理的信息门户单点登录和访问*** |
CN112367321A (zh) * | 2020-11-10 | 2021-02-12 | 苏州万店掌网络科技有限公司 | 快速构建服务调用的方法及中台api网关 |
CN112788031A (zh) * | 2021-01-11 | 2021-05-11 | 百果园技术(新加坡)有限公司 | 基于Envoy架构的微服务接口认证***、方法及装置 |
CN113468491A (zh) * | 2021-06-07 | 2021-10-01 | 深圳供电局有限公司 | Api服务引擎方法、***、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116405573A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303871B2 (en) | System and method for controlling state tokens | |
CN112422532B (zh) | 业务通信方法、***、装置及电子设备 | |
US8925108B2 (en) | Document access auditing | |
KR20200099543A (ko) | 트랜잭션 커넥터 및 브로커 서비스를 사용하여 블록 체인 네트워크에서 장치 라이프사이클 트랜잭션을 버전 블록들로서 기록하기 위한 시스템 및 방법 | |
KR20200097744A (ko) | 게이트웨이 장치에 연결된 비-ip 엔드포인트 장치 및 연결된 서비스 간의 데이터 전송을 보호하기 위한 시스템 및 방법 | |
CN105516110B (zh) | 移动设备安全数据传送方法 | |
US20220114249A1 (en) | Systems and methods for secure and fast machine learning inference in a trusted execution environment | |
US10284374B2 (en) | Code signing system with machine to machine interaction | |
CN107483495B (zh) | 一种大数据集群主机管理方法、管理***及服务端 | |
US20220311767A1 (en) | Method and system for granting remote access to an electronic device | |
US11936772B1 (en) | System and method for supply chain tamper resistant content verification, inspection, and approval | |
GB2609872A (en) | Security management for networked client devices using a distributed ledger service | |
CN112118221B (zh) | 基于区块链的面向隐私数据共享的权能访问控制方法 | |
CN110740038B (zh) | 区块链及其通信方法、网关、通信***和存储介质 | |
CN105450750A (zh) | 智能终端安全交互方法 | |
CN111917711B (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
WO2023072817A1 (en) | Control of access to computing resources implemented in isolated environments | |
CN113872940A (zh) | 基于NC-Link的访问控制方法、装置及设备 | |
KR20230098156A (ko) | 암호화된 파일 제어 | |
CN116405573B (zh) | 基于面向服务架构的***、通信方法、计算机程序产品 | |
CN116743850B (zh) | 基于物联网平台的设备自发现方法、装置、计算机设备和存储介质 | |
US20220417032A1 (en) | Distributed signing system | |
US20230262045A1 (en) | Secure management of a robotic process automation environment | |
CN113987475A (zh) | 分布式资源管理***及方法、凭证信息的管理***、介质 | |
US20240171548A1 (en) | Security management for networked client devices using a distributed ledger service |
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 |