CN114979279B - 一种用于数据请求的微服务模块调度方法 - Google Patents
一种用于数据请求的微服务模块调度方法 Download PDFInfo
- Publication number
- CN114979279B CN114979279B CN202210572076.6A CN202210572076A CN114979279B CN 114979279 B CN114979279 B CN 114979279B CN 202210572076 A CN202210572076 A CN 202210572076A CN 114979279 B CN114979279 B CN 114979279B
- Authority
- CN
- China
- Prior art keywords
- data
- micro
- client
- module
- request
- 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 51
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000004458 analytical method Methods 0.000 claims abstract description 36
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 9
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 9
- 238000013144 data compression Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于数据请求的微服务模块调度方法,涉及数据调度技术领域,目的是提数据请求的升处理效率并实现可跨平台操作,包括以下步骤:客户端发起多个网络数据的请求,传输到前置分析模块;前置分析模块根据客户端请求的网络数据判断客户端是否具备请求权限;得到多个数据体并存储到缓存库,每个数据体赋予一个识别I D;请求开启多个对应的微服务模块;每个微服务模块按照所述识别I D从所述缓存库中拿取对应的所述数据体,并对数据体按照对应的数据请求的方法执行逻辑处理;数据综合模块删除已完成工作的微服务模块;后置分析模块将所述处理后的数据返回给客户端;本发明具有高效率且便于跨平台应用的优点。
Description
技术领域
本发明涉及数据调度技术领域,更具体的是涉及用于数据请求的微服务模块调度方法。
背景技术
数据请求是日常常见的数据处理任务。为了实现数据请求,传统的应用系统通常使用三层架构来组织代码结构,通常的三层构架可以实现分散开发,每一层可由不同的人员来开发,只要遵循接口标准,利用相同的对象模型实体类进行对接。现有的技术中,随着系统版本的更迭,开发人员的变更,代码质量可能存在差异,使单体式架构应用系统的维护成本越来越高,且越来越难。另外,随着移动互联网技术的发展,一个系统应用上的方法往往需要跨平台,用户需要从手机端、电脑端等不同系统上进行操作,传统的应用系统难以满足跨平台的需求。
ASP.net core是一个开源通用的开发框架,支持跨平台运行,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。通过.net core分解出微服务模块,可以实现不同平台、不同角色的业务集成。此外,通过分解微服务模块和数据,可以为数据的处理提供更大的空间,提升处理操作效率和系统的性能。
因此对于相关的数据请求,亟需解决的问题便是提升数据处理的效率,以及使其应用层面可以扩展到不同的平台,实现跨平台操作,进而提升其应用到不同地方的操作便捷性。
发明内容
本发明的目的在于:提数据请求的升处理效率并实现可跨平台操作。了解决为了解决上述技术问题,本发明提供一种用于数据请求的微服务模块调度方法。
本发明为了实现上述目的具体采用以下技术方案:
一种用于数据请求的微服务模块调度方法,包括以下步骤:
步骤S1:客户端发起多个网络数据的请求,网络数据的请求包括请求的网络数据和其对应的请求方法,将请求的网络数据进行公钥加密和压缩数据,然后传输到前置分析模块;
步骤S2:前置分析模块根据客户端请求的网络数据判断客户端是否具备请求权限,若有则将客户端请求的网络数据发送给核心处理模块然后进入步骤S3,否则将网络数据的请求返回客户端;
步骤S3:核心处理模块将来自前置分析模块的数据进行分割,得到多个数据体并存储到缓存库,每个数据体赋予一个识别ID;
步骤S4:基于ASP.NET Core框架,核心处理模块根据所述数据体请求开启多个对应的微服务模块,每个微服务模块具备微服务模块编码,把每个数据体的识别ID分配给对应的微服务模块,把微服务模块编码发送给数据综合模块;
步骤S5:每个微服务模块按照所述识别ID从所述缓存库中拿取对应的所述数据体,并对数据体按照所述网络数据对应的请求方法执行逻辑处理;
步骤S6:数据综合模块按照所述微服务模块编码监听每个微服务模块返回的处理后的数据,删除已完成工作的微服务模块,并将其处理后的数据发送到后置分析模块;
步骤S7:后置分析模块将所述处理后的数据返回给客户端。
优选地,所述步骤S1中,所述请求方法为GET、POST、HEAD、PUT、DELETE、CONNECT、TRACE、OPTIONS、STOCK或WEBSTOCK。
优选地,所述步骤S2中,所述前置分析模块请求的网络数据判断客户端是否具备请求权限的方法为:对所述客户端请求的网络数据进行解压和解密,得到的数据包括请求人的身份信息和客户端数据的MD5值,用于判断是否具备请求权限。
优选地,所述步骤S3中,所述核心处理模块将来自前置分析模块的数据进行分割的方法为:将每个网络数据的请求进行独立的分割。
优选地,所述步骤S3中,所述缓存库采用Redis高速缓存库。
优选地,所述步骤S4中,所述核心处理模块请求开启多个微服务模块的方法为:根据所述数据体通过RESTful API的方式请求开启多个微服务模块。
优选地,所述步骤S7中,所述后置分析模块将处理结果返回给客户端包括:对所述处理结果进行私钥解密并压缩,然后返回给所述客户端。
本发明的有益效果如下:
本发明对客户端请求的数据进行拆分并赋予ID,便于后续并线处理;本发明为拆分的数据请求和调用独立的微服务模块进行专门的处理,为大数据处理提供了巨大的发挥空间,可以无限级进行水平延展,有效提高系统的性能;本发明的每个微服务模块都是独立的,便于维护和升级等操作;本发明基于ASP.NET Core框架,同一套应用可以很方便转用在不同的系统平台,方便跨平台的使用和操作,提升了应用范围和跨平台应用的便捷性;采用Redis高速缓存库作为缓存库,进一步提升处理速度和操作的简洁性。
附图说明
图1是本发明的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提供包括以下步骤:
步骤S1:客户端发起多个网络数据的请求,网络数据的请求包括请求的网络数据和其对应的请求方法,将请求的网络数据进行公钥加密和压缩数据,然后传输到前置分析模块;
步骤S2:前置分析模块根据客户端请求的网络数据判断客户端是否具备请求权限,若有则将客户端请求的网络数据发送给核心处理模块然后进入步骤S3,否则将网络数据的请求返回客户端;
步骤S3:核心处理模块将来自前置分析模块的数据进行分割,得到多个数据体并存储到缓存库,每个数据体赋予一个识别ID;
步骤S4:基于ASP.NET Core框架,核心处理模块根据所述数据体请求开启多个对应的微服务模块,每个微服务模块具备微服务模块编码,把每个数据体的识别ID分配给对应的微服务模块,把微服务模块编码发送给数据综合模块;
步骤S5:每个微服务模块按照所述识别ID从所述缓存库中拿取对应的所述数据体,并对数据体按照所述网络数据对应的请求方法执行逻辑处理;
步骤S6:数据综合模块按照所述微服务模块编码监听每个微服务模块返回的处理后的数据,删除已完成工作的微服务模块,并将其处理后的数据发送到后置分析模块;
步骤S7:后置分析模块将所述处理后的数据返回给客户端。
进一步地,所述步骤S1中,所述网络数据的请求方法为GET、POST、HEAD、PUT、DELETE、CONNECT、TRACE、OPTIONS、STOCK或WEBSTOCK。
就以上的请求方法的处理来说,例如:
GET请求会显示请求指定的资源,GET会方法请求指定的页面信息,并返回响应主体,GET被认为是不安全的方法,因为GET方法会被网络蜘蛛等任意的访问;POST向指定资源提交数据,请求服务器进行处理;HEAD向服务器发出指定资源的请求,服务器在响应HEAD请求时不会回传资源的内容部分;PUT请求会身向指定资源位置上传其最新内容;DELETE请求用于请求服务器删除所请求URI所标识的资源;CONNECT是HTTP/1.1协议预留的,能够将连接改为管道方式的代理服务器,通常用于SSL加密服务器的链接与非加密的HTTP代理服务器的通信;TRACE请求服务器回显其收到的请求信息,该方法主要用于HTTP请求的测试或诊断;OPTIONS会请求服务器返回该资源所支持的所有HTTP请求方法,该方法会用’*’来代替资源名称,向服务器发送OPTIONS请求,可以测试服务器功能是否正常。
在本实施例中,所述步骤S2中,所述前置分析模块请求的网络数据判断客户端是否具备请求权限的方法为:对所述客户端请求的网络数据进行解压和解密,得到的数据包括请求人的身份信息和客户端数据的MD5值,这几个数据可以用于判断是否具备请求权限。
作为优选方案,所述步骤S3中,所述核心处理模块将来自前置分析模块的数据进行分割的方法为:将每个网络数据的请求进行独立的分割,也就是把客户端发起的多个网络数据的请求进行拆分,将每个请求任务独立出来。
本实施例采用了ASP.NET Core框架,ASP.NET Core框架是一个开源通用的开发框架,支持跨平台,即支持在Window,macOS,Linux等系统上的开发和部署,并且可以在硬件设备,云服务,和嵌入式/物联网方案中进行使用。通过ASP.NET Core框架,可以有效解决系统不便于跨平台应用的问题。
通过ASP.NET Core框架可以把大系统拆分为小系统,也就是本实施例中的微服务模块,每一个微服务模块都相当于是一个零件,可以使用这些零件组装出不同的形状。总的来说本实施例就是把一个大系统按业务功能分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互协作,组合成一个大系统。服务之间互相协调、互相配合,为用户提供最终价值,每个服务运行在其独立的进程中,服务于服务间采用轻量级的通信机制互相协作。本实施例中,将每个数据请求和微服务模块都进行拆分,因此,可以执行的每个功能都是独立的,并且可以达到高度重用,通过本实施例的拆分后,为大数据处理提供了巨大的发挥空间,可以无限级进行水平延展,有效提高系统的性能。
实施例2
本实施例基于实施例1的技术方案,具体的步骤包括:
步骤S1:客户端发起多个网络数据的请求,网络数据的请求包括多种方法,将客户端请求的网络数据进行公钥加密和压缩数据,然后传输到前置分析模块;
步骤S2:前置分析模块根据客户端请求的网络数据判断客户端是否具备请求权限,若有则将客户端请求的网络数据发送给核心处理模块然后进入步骤S3,否则将网络数据的请求返回客户端;
步骤S3:核心处理模块将来自前置分析模块的数据进行分割,得到多个数据体并存储到缓存库,每个数据体赋予一个识别ID;
步骤S4:基于ASP.NET Core框架,核心处理模块根据所述数据体请求开启多个对应的微服务模块,每个微服务模块具备微服务模块编码,把每个数据体的识别ID分配给对应的微服务模块,把微服务模块编码发送给数据综合模块;
步骤S5:每个微服务模块按照所述识别ID从所述缓存库中拿取对应的所述数据体,并对数据体按照对应的数据请求的方法执行逻辑处理,具体的逻辑处理方法和网络数据的请求的方法相关;
步骤S6:数据综合模块按照所述微服务模块编码监听每个微服务模块返回的处理后的数据,删除已完成工作的微服务模块,并将其处理后的数据发送到后置分析模块;
步骤S7:后置分析模块将所述处理后的数据返回给客户端。
其他相同的优选方案不再赘述。
在本实施例中,为了保证存储稳定性和读取效率,所述步骤S3中,所述缓存库可以采用Redis高速缓存库。Redis的全称为Remote Dictionary Server,即远程字典服务,是一个开源的支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。根据其特性可知,Redis高速缓存库具备以下优点:
数据直接存储在内存中,完全基于内存操作,因此数据的存储和读取速度都很快,查找和操作的时间复杂度都很低;
另一方面,其具有专有的数据的结构,且数据结构很简单,所以在对数据进行操作时的步骤和方法也较为简洁。
作为本实施例的的优选方案,所述步骤S4中,所述核心处理模块请求开启多个微服务模块的方法为:根据所述数据体通过RESTful API的方式请求开启多个微服务模块,每个微服务模块对应处理一个单独存储被赋予了自己独立的识别ID的数据体。也就是微服务模块对拆分好的数据体进行一对一的对应处理,进一步提升整个系统的工作效率。
最后,所述步骤S7中,所述后置分析模块将处理结果返回给客户端可以包括:对所述处理结果进行私钥解密并压缩,然后返回给所述客户端,进而让客户端得到请求的数据内容。
作为一个应用的案例:
客户端请求下载一批农房不动产一户一档已签章pdf,请求统一发送;
通过本实施例的方法构建数据体和微服务模块,每个微服务模块负责拿取不同的pdf文件,然后再综合到一起进行统一的加密和压缩,返回给客户端;
原本下载需要4个小时的任务,通过微服务模块的请求只需要1个小时。
Claims (7)
1.一种用于数据请求的微服务模块调度方法,其特征在于,包括以下步骤:
步骤S1:客户端发起多个网络数据的请求,网络数据的请求包括请求的网络数据和对应的请求方法,将请求的网络数据进行公钥加密和压缩数据,然后传输到前置分析模块;
步骤S2:前置分析模块根据客户端请求的网络数据判断客户端是否具备请求权限,若有则将客户端请求的网络数据发送给核心处理模块然后进入步骤S3,否则将网络数据的请求返回客户端;
步骤S3:核心处理模块将来自前置分析模块的数据进行分割,得到多个数据体并存储到缓存库,每个数据体赋予一个识别ID;
步骤S4:基于ASP.NET Core框架,核心处理模块根据所述数据体请求开启多个对应的微服务模块,每个微服务模块具备微服务模块编码,把每个数据体的识别ID分配给对应的微服务模块,把微服务模块编码发送给数据综合模块;
步骤S5:每个微服务模块按照所述识别ID从所述缓存库中拿取对应的所述数据体,并对数据体按照所述对应的请求方法执行逻辑处理;
步骤S6:数据综合模块按照所述微服务模块编码监听每个微服务模块返回的处理后的数据,删除已完成工作的微服务模块,并将其处理后的数据发送到后置分析模块;
步骤S7:后置分析模块将所述处理后的数据返回给客户端。
2.根据权利要求1所述的一种用于数据请求的微服务模块调度方法,其特征在于,所述步骤S1中,所述请求方法为GET、POST、HEAD、PUT、DELETE、CONNECT、TRACE、OPTIONS、STOCK或WEBSTOCK。
3.根据权利要求1所述的一种用于数据请求的微服务模块调度方法,其特征在于,所述步骤S2中,所述前置分析模块根据客户端请求的网络数据判断客户端是否具备请求权限的方法为:对所述客户端请求的网络数据进行解压和解密,得到的数据包括请求人的身份信息和客户端数据的MD5值,用于判断是否具备请求权限。
4.根据权利要求1所述的一种用于数据请求的微服务模块调度方法,其特征在于,所述步骤S3中,所述核心处理模块将来自前置分析模块的数据进行分割的方法为:将每个网络数据的请求进行独立的分割。
5.根据权利要求1所述的一种用于数据请求的微服务模块调度方法,其特征在于,所述步骤S3中,所述缓存库采用Redis高速缓存库。
6.根据权利要求1所述的一种用于数据请求的微服务模块调度方法,其特征在于,所述步骤S4中,所述核心处理模块请求开启多个微服务模块的方法为:根据所述数据体通过RESTful API的方式请求开启多个微服务模块。
7.根据权利要求1所述的一种用于数据请求的微服务模块调度方法,其特征在于,所述步骤S7中,所述后置分析模块将处理结果返回给客户端包括:对所述处理结果进行私钥解密并压缩,然后返回给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210572076.6A CN114979279B (zh) | 2022-05-23 | 2022-05-23 | 一种用于数据请求的微服务模块调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210572076.6A CN114979279B (zh) | 2022-05-23 | 2022-05-23 | 一种用于数据请求的微服务模块调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979279A CN114979279A (zh) | 2022-08-30 |
CN114979279B true CN114979279B (zh) | 2023-11-17 |
Family
ID=82955227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210572076.6A Active CN114979279B (zh) | 2022-05-23 | 2022-05-23 | 一种用于数据请求的微服务模块调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979279B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934076B (zh) * | 2023-01-03 | 2024-01-02 | 北京百度网讯科技有限公司 | 跨平台客户端的微服务提供装置、方法和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018144060A1 (en) * | 2017-02-05 | 2018-08-09 | Intel Corporation | Microservice provision and management |
US10362097B1 (en) * | 2018-06-05 | 2019-07-23 | Capital One Services, Llc | Processing an operation with a plurality of processing steps |
CN113114632A (zh) * | 2021-03-22 | 2021-07-13 | 国网河北省电力有限公司 | 一种可插配式智能财务审核平台 |
CN113726856A (zh) * | 2021-08-11 | 2021-11-30 | 北京科东电力控制系统有限责任公司 | 基于微服务的调控画面综合数据轻量化交互方法及系统 |
-
2022
- 2022-05-23 CN CN202210572076.6A patent/CN114979279B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018144060A1 (en) * | 2017-02-05 | 2018-08-09 | Intel Corporation | Microservice provision and management |
US10362097B1 (en) * | 2018-06-05 | 2019-07-23 | Capital One Services, Llc | Processing an operation with a plurality of processing steps |
CN113114632A (zh) * | 2021-03-22 | 2021-07-13 | 国网河北省电力有限公司 | 一种可插配式智能财务审核平台 |
CN113726856A (zh) * | 2021-08-11 | 2021-11-30 | 北京科东电力控制系统有限责任公司 | 基于微服务的调控画面综合数据轻量化交互方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114979279A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522922B (zh) | 日志信息查询方法、装置、存储介质及计算机设备 | |
US9596279B2 (en) | Cloud-based streaming data receiver and persister | |
CN116737775A (zh) | 分布式事件处理系统中的数据序列化 | |
US11436066B2 (en) | System for offline object based storage and mocking of rest responses | |
US10866960B2 (en) | Dynamic execution of ETL jobs without metadata repository | |
CN110704476A (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2021203918A1 (zh) | 用于处理模型参数的方法和装置 | |
CN114356971A (zh) | 数据处理方法、装置以及系统 | |
US8775507B2 (en) | Rest interface for job submission | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN114979279B (zh) | 一种用于数据请求的微服务模块调度方法 | |
CN115150392B (zh) | 远程文件复制方法、系统、计算设备及存储介质 | |
CN113485927A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
KR20200048633A (ko) | 소프트웨어 자동 테스트 시스템 및 방법 | |
CN113535668A (zh) | 日志数据处理方法及装置 | |
US10963479B1 (en) | Hosting version controlled extract, transform, load (ETL) code | |
CN111104408A (zh) | 基于地图数据的数据交换方法、装置及存储介质 | |
CN117493389A (zh) | 基于日志的处理方法及相关设备 | |
CN101340463B (zh) | 一种确定网络资源类型的方法和装置 | |
Youn et al. | Design and implementation of services for a synthetic seismogram calculation tool on the grid | |
CN117743470B (zh) | 用于异构大数据的处理系统 | |
CN113449035B (zh) | 数据同步方法、装置、计算机设备及可读存储介质 | |
US20140324815A1 (en) | Search infrastructure representing hosting client devices | |
CN111913737B (zh) | 一种数据服务接口的构建方法、装置、设备及存储介质 | |
Rao et al. | An adaptive and efficient design and implementation for meteorology data grid using grid technology |
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 |