CN114217988A - 一种基于io处理的响应式责任链模式数据处理方法 - Google Patents

一种基于io处理的响应式责任链模式数据处理方法 Download PDF

Info

Publication number
CN114217988A
CN114217988A CN202111503833.6A CN202111503833A CN114217988A CN 114217988 A CN114217988 A CN 114217988A CN 202111503833 A CN202111503833 A CN 202111503833A CN 114217988 A CN114217988 A CN 114217988A
Authority
CN
China
Prior art keywords
processing
chain
data
responsibility
responsive
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.)
Pending
Application number
CN202111503833.6A
Other languages
English (en)
Inventor
李晓巍
孙炎森
徐晓剑
马融
李春兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202111503833.6A priority Critical patent/CN114217988A/zh
Publication of CN114217988A publication Critical patent/CN114217988A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种基于IO处理的响应式责任链模式数据处理方法,其中,该方法包括:获得第一请求数据;获得第一过滤规则;通过责任链根据第一过滤规则对第一请求数据进行数据响应式处理;若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。解决了现有技术中采用责任链模式进行IO处理的过程中,采用双链模式进行处理,涉及IO操作的时候,发生阻塞时会使链断开,影响后续的处理,双链条书写难度高,开发效率低,可读性差,维护成本高,涉及IO处理的时候资源利用率不够充分等技术问题。

Description

一种基于IO处理的响应式责任链模式数据处理方法
技术领域
本发明涉及数据处理相关技术领域,具体涉及一种基于IO处理的响应式责任链模式数据处理方法。
背景技术
IO(Input/Output)处理是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。其中,输入和输出都是有参照物的,该参照物就是运存即程序,Input就是从其他介质向运存输入,Output就是从运存输出到其他介质。
现有技术在通信等领域进行数据处理的过程中会采用责任链模式进行数据的处理,其中涉及IO的操作处理,处理过程中步骤主要还是将请求和返回分别处理在两个责任链条中,分别进行处理。
但本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术中采用责任链模式进行IO处理的过程中,采用双链模式进行处理,涉及IO操作的时候,发生阻塞时会使链断开,影响后续的处理,而且开发人员在开发过程中需要分别编写两个链条,书写难度高,开发效率低,可读性差,维护成本高,涉及IO处理的时候资源利用率不够充分,存在着开发难度高、资源利用率低、处理效率低等技术问题。
发明内容
本申请实施例通过提供了一种基于IO处理的响应式责任链模式数据处理方法,用于针对解决现有技术中采用责任链模式进行IO处理的过程中,采用双链模式进行处理,涉及IO操作的时候,发生阻塞时会使链断开,影响后续的处理,而且开发人员在开发过程中需要分别编写两个链条,书写难度高,开发效率低,可读性差,维护成本高,涉及IO处理的时候资源利用率不够充分,存在着开发难度高、资源利用率低、处理效率低等技术问题。
鉴于上述问题,本申请实施例提供了一种基于IO处理的响应式责任链模式数据处理方法。
本申请实施例的第一个方面,提供了一种基于IO处理的响应式责任链模式数据处理方法,所述方法包括:获得第一请求数据;获得第一过滤规则;通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
本申请实施例的第二个方面,提供了一种基于IO处理的响应式责任链模式数据处理系统,所述系统包括:第一获得单元,所述第一获得单元用于获得第一请求数据;第二获得单元,所述第二获得单元用于获得第一过滤规则;第一处理单元,所述第一处理单元用于通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;第二处理单元,所述第二处理单元用于若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
本申请实施例的第三个方面,提供了一种基于IO处理的响应式责任链模式数据处理系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使系统以执行如第一方面所述方法的步骤。
本申请实施例的第四个方面,提供了一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面所述方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的一种基于IO处理的响应式责任链模式数据处理方法,通过结合响应式编程,采用单链责任链,执行第一个Filter进行相关的数据响应式处理操作,若有next(),则执行下一个Filter进行数据的相应响应式处理操作,若遇到IO操作,则在发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前的线程资源。本申请实施例提供的方法在数据处理过程中,将责任链模式通过与响应式编程结合使双链处理变为单链处理,使执行逻辑来回在一个链中,编程模型变得更简单,使开发人员开发效率变得更高的同时,使执行逻辑前后在不同的线程中,提高了系统的处理能力和IO吞吐效率,通过使用更少的线程处理更多的事务,及时释放线程资源,提高了资源利用率,同时使代码的可读性变得更高,也利于后期的维护,达到了降低开发难度、提升资源利用率、提升数据处理效率的技术效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例提供的一种基于IO处理的响应式责任链模式数据处理方法流程示意图之一;
图2为本申请实施例提供的一种基于IO处理的响应式责任链模式数据处理方法流程示意图之二;
图3为本申请实施例提供的一种基于IO处理的响应式责任链模式数据处理方法的逻辑框图;
图4本申请实施例提供的一种基于IO处理的响应式责任链模式数据处理系统结构示意图;
图5为本申请实施例示例性电子设备的结构示意图。
附图标记说明:第一获得单元11,第二获得单元12,第一处理单元13,第二处理单元14,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
本申请实施例通过提供了一种基于IO处理的响应式责任链模式数据处理方法,用于针对解决现有技术中采用责任链模式进行IO处理的过程中,采用双链模式进行处理,涉及IO操作的时候,发生阻塞时会使链断开,影响后续的处理,而且开发人员在开发过程中需要分别编写两个链条,书写难度高,开发效率低,可读性差,维护成本高,涉及IO处理的时候资源利用率不够充分,存在着开发难度高、资源利用率低、处理效率低等技术问题。
申请概述
IO(Input/Output)处理是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。其中,输入和输出都是有参照物的,该参照物就是运存即程序,Input就是从其他介质向运存输入,Output就是从运存输出到其他介质。
现有技术在通信等领域进行数据处理的过程中会采用责任链模式进行数据的处理,其中涉及IO的操作处理,处理过程中步骤主要还是将请求和返回分别处理在两个责任链条中,分别进行处理。其中,责任链模式包括一个请求有多个对象来处理,这些对象组成一条链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链中的下一个对象,直到有对象处理它为止。请求在对象间传递,每个对象均对请求进行处理,也是一种责任链的处理模式。
现有技术中采用责任链模式进行IO处理的过程中,采用双链模式进行处理,涉及IO操作的时候,发生阻塞时会使链断开,影响后续的处理,而且开发人员在开发过程中需要分别编写两个链条,书写难度高,开发效率低,可读性差,维护成本高,涉及IO处理的时候资源利用率不够充分,存在着开发难度高、资源利用率低、处理效率低等技术问题。
针对上述技术问题,本申请提供的技术方案总体思路如下:
本申请实施例提供了一种基于IO处理的响应式责任链模式数据处理方法及系统,所述方法包括:获得第一请求数据;获得第一过滤规则;通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
在介绍了本申请基本原理后,下面,将参考附图对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部。
实施例一
如图1所示,本申请实施例提供了一种基于IO处理的响应式责任链模式数据处理方法,所述方法包括:
S100:获得第一请求数据;
具体而言,第一请求数据为现有技术中任意需要进行处理的数据请求样本,该数据请求样本的处理过程中涉及IO的操作处理。现有技术中采用责任链模式对处理第一请求数据时,将请求和返回分别在两个责任链条内进行处理,双链开发成本较高。在涉及IO操作的时候,发生阻塞时会使链断开,影响后续的处理。
S200:获得第一过滤规则;
具体而言,责任链中,一个请求有责任链内的多个对象来处理,具体由哪个对象进行处理由预设的第一过滤规则进行判断确定,若首个对象不满足第一过滤规则,无法进行处理,则会传递至链条内的下一个对象,直至有对象对第一请求数据处理为止。
在责任链对第一请求数据的处理过程中,其中的每一个对象要对承担责任对第一请求数据处理并作出响应,要么向下一个对象传递第一请求数据。作为请求处理第一请求数据的请求者,无需了解第一过滤规则以及到底是哪个对象处理第一请求数据,只需将第一请求数据抛给责任链内的第一个对象即可。
S300:通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;
具体而言,响应式编程是一种面向数据流和变化传播的异步编程范式,可以在编程语言中很方便地表达静态或动态的数据流,相关的计算模型会自动的将变化的值通过数据流进行传播。
本申请实施例中基于责任链结合响应式编程模型进行开发,相比传统的责任链链条,从双链变单链使数据的处理实现在一根链条上,在涉及IO操作的责任链节点上使用响应式发布式和响应式订阅,无需进行保存以等操作,能够保证链条不阻塞也不断开。
S400:若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
具体而言,在遇到IO操作时,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程,能够在进行IO操作时有效释放当前线程资源,使线程资源得到充分的利用,避免责任链在涉及IO处理的时候资源利用率不够充分的问题发生。
本申请实施例提供的方法同样可以使用基于回调的编程方式与责任链进行结合,但是基于回调的方式,虽然不阻塞,但是责任链会发生断链的情况,并且在一些其他方面基于响应式编程的方式表现更优。
本申请实施例数据处理过程中,将责任链模式通过与响应式编程结合使双链处理变为单链处理,使执行逻辑来回在一个链中,编程模型变得更简单,使开发人员开发效率变得更高的同时,使执行逻辑前后在不同的线程中,提高了系统的处理能力和IO吞吐,通过使用更少的线程处理更多的事务,提高了资源利用率,同时使代码的可读性变得更高,也利于后期的维护,达到了降低开发难度、提升资源利用率、提升数据处理效率的技术效果。
本申请实施例提供的方法还包括步骤S500,步骤S500包括:
S510:若遇到next()操作,获得第二过滤规则;
S520:通过所述责任链根据所述第二过滤规则对所述第一请求数据进行数据响应式处理。
图2示出了本申请实施例提供的方法一种可能的流程示意图。具体而言,在遇到next()操作,获得第二过滤规则,第二过滤规则与第一过滤规则不同。通过所述责任链根据所述第二过滤规则对所述第一请求数据进行数据响应式处理,基于第二过滤规则将第一请求数据通过next()操作传递给责任链的下一对象进行处理。
本申请实施例提供的方法中的步骤S400之后,还包括:
S410:所述订阅器开启其他线程响应式订阅;
S420:根据所述其他线程响应式订阅,执行后续逻辑操作。
图3示出了本申请实施例提供的方法的一种可能的逻辑框图。结合图1-图3,具体而言,在发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程之后,订阅器开启其他线程响应式订阅,如此,在涉及IO处理时,通过其他线程的响应式订阅,执行逻辑前后在不同的线程中进行处理,对前一个线程进行释放,能够提高系统处理能力,可以使用更少的线程处理更多的事务,而且涉及IO处理时,保证了不阻塞和链不断开的情况,还能提高资源的利用率。
本申请实施例提供的方法还包括步骤S600,步骤S600包括:
S610:获得所有过滤规则;
S620:当遇到所述next()操作时,通过所述责任链根据所述所有过滤规则中的一个对所述第一请求数据进行数据响应式处理,直到将所有过滤规则操作完成。
具体而言,上述的所有过滤规则包括上述的第一过滤规则和第二过滤规则,但不限于此,示例性地,所有过滤规则还包括:第一个对象接收到第一请求数据后,会将请求传递给第二个对象,第二个对象若没有下家,自行处理请求等过滤规则等。通过将所有过滤规则操作完成,能够保证第一请求数据被责任链有效处理,而不关心处理的对应和对应的过滤规则。
综上所述,本申请实施例提供的方法在数据处理过程中,将责任链模式通过与响应式编程结合使双链处理变为单链处理,使执行逻辑来回在一个链中,编程模型变得更简单,使开发人员开发效率变得更高的同时,使执行逻辑前后在不同的线程中,提高了系统的处理能力和IO吞吐效率,通过使用更少的线程处理更多的事务,及时释放线程资源,提高了资源利用率,同时使代码的可读性变得更高,也利于后期的维护,达到了降低开发难度、提升资源利用率、提升数据处理效率的技术效果。
实施例二
基于与前述实施例中一种基于IO处理的响应式责任链模式数据处理方法相同的发明构思,如图4所示,本申请实施例提供了一种基于IO处理的响应式责任链模式数据处理系统,其中,所述系统包括:
第一获得单元11,所述第一获得单元11用于获得第一请求数据;
第二获得单元12,所述第二获得单元12用于获得第一过滤规则;
第一处理单元13,所述第一处理单元13用于通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;
第二处理单元14,所述第二处理单元14用于若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
进一步的,所述系统还包括:
第三获得单元,所述第三获得单元用于若遇到next()操作,获得第二过滤规则;
第三处理单元,所述第三处理单元用于通过所述责任链根据所述第二过滤规则对所述第一请求数据进行数据响应式处理。
进一步的,所述系统还包括:
第四处理单元,所述第四处理单元用于所述订阅器开启其他线程响应式订阅;
第五处理单元,所述第五处理单元用于根据所述其他线程响应式订阅,执行后续逻辑操作。
进一步的,所述系统还包括:
第四获得单元,所述第四获得单元用于获得所有过滤规则;
第六处理单元,所述第六处理单元用于当遇到所述next()操作时,通过所述责任链根据所述所有过滤规则中的一个对所述第一请求数据进行数据响应式处理,直到将所有过滤规则操作完成。
示例性电子设备
下面参考图5来描述本申请实施例的电子设备,
基于与前述实施例中一种基于IO处理的响应式责任链模式数据处理方法相同的发明构思,本申请实施例还提供了一种基于IO处理的响应式责任链模式数据处理系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得系统以执行实施例一所述方法的步骤。
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry Standardarchitecture,简称EISA)总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器302可以是一个CPU,微处理器,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口303,使用任何收发器一类的系统,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN),有线接入网等。
存储器301可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable Programmable read-only memory,EEPROM)、只读光盘(compactdiscread-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器301用于存储执行本申请方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本申请上述实施例提供的一种基于IO处理的响应式责任链模式数据处理方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本申请实施例提供的一种基于IO处理的响应式责任链模式数据处理方法,通过结合响应式编程,采用单链责任链,执行第一个Filter进行相关的数据响应式处理操作,若有next(),则执行下一个Filter进行数据的相应响应式处理操作,若遇到IO操作,则在发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前的线程资源。本申请实施例提供的方法在数据处理过程中,将责任链模式通过与响应式编程结合使双链处理变为单链处理,使执行逻辑来回在一个链中,编程模型变得更简单,使开发人员开发效率变得更高的同时,使执行逻辑前后在不同的线程中,提高了系统的处理能力和IO吞吐效率,通过使用更少的线程处理更多的事务,及时释放线程资源,提高了资源利用率,同时使代码的可读性变得更高,也利于后期的维护,达到了降低开发难度、提升资源利用率、提升数据处理效率的技术效果。
本领域普通技术人员可以理解:本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑系统,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算系统的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请意图包括这些改动和变型在内。

Claims (7)

1.一种基于IO处理的响应式责任链模式数据处理方法,其中,所述方法包括:
获得第一请求数据;
获得第一过滤规则;
通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;
若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
2.如权利要求1所述的方法,其中,所述方法还包括:
若遇到next()操作,获得第二过滤规则;
通过所述责任链根据所述第二过滤规则对所述第一请求数据进行数据响应式处理。
3.如权利要求1所述的方法,其中,所述若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程之后,还包括:
所述订阅器开启其他线程响应式订阅;
根据所述其他线程响应式订阅,执行后续逻辑操作。
4.如权利要求2所述的方法,其中,所述方法还包括:
获得所有过滤规则;
当遇到所述next()操作时,通过所述责任链根据所述所有过滤规则中的一个对所述第一请求数据进行数据响应式处理,直到将所有过滤规则操作完成。
5.一种基于IO处理的响应式责任链模式数据处理系统,其中,所述系统包括:
第一获得单元,所述第一获得单元用于获得第一请求数据;
第二获得单元,所述第二获得单元用于获得第一过滤规则;
第一处理单元,所述第一处理单元用于通过责任链根据所述第一过滤规则对所述第一请求数据进行数据响应式处理;
第二处理单元,所述第二处理单元用于若遇到IO操作,发布器执行完当前逻辑将数据响应式发布给订阅器,释放当前线程。
6.一种基于IO处理的响应式责任链模式数据处理系统,其中,所述系统包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使系统以执行如权利要求1-4任一项所述方法的步骤。
7.一种存储介质,其中,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1-4任一项所述方法的步骤。
CN202111503833.6A 2021-12-09 2021-12-09 一种基于io处理的响应式责任链模式数据处理方法 Pending CN114217988A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111503833.6A CN114217988A (zh) 2021-12-09 2021-12-09 一种基于io处理的响应式责任链模式数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111503833.6A CN114217988A (zh) 2021-12-09 2021-12-09 一种基于io处理的响应式责任链模式数据处理方法

Publications (1)

Publication Number Publication Date
CN114217988A true CN114217988A (zh) 2022-03-22

Family

ID=80700883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111503833.6A Pending CN114217988A (zh) 2021-12-09 2021-12-09 一种基于io处理的响应式责任链模式数据处理方法

Country Status (1)

Country Link
CN (1) CN114217988A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741063A (zh) * 2022-04-06 2022-07-12 山东赤子城网络技术有限公司 一种基于Lua语言的编程框架实现方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741063A (zh) * 2022-04-06 2022-07-12 山东赤子城网络技术有限公司 一种基于Lua语言的编程框架实现方法及系统
CN114741063B (zh) * 2022-04-06 2023-08-22 山东赤子城网络技术有限公司 一种基于Lua语言的编程框架实现方法及系统

Similar Documents

Publication Publication Date Title
US5367678A (en) Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically
US6792497B1 (en) System and method for hardware assisted spinlock
CN111045933B (zh) 一种回归策略更新方法、装置、存储介质及终端设备
CN108334408B (zh) 代码执行方法、装置、终端设备及计算机可读存储介质
CN111142938B (zh) 一种异构芯片的任务处理方法、任务处理装置及电子设备
US8990451B2 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
JP6468499B2 (ja) 分散コンピューティングアーキテクチャ
US10560537B2 (en) Function based dynamic traffic management for network services
Bok et al. An efficient MapReduce scheduling scheme for processing large multimedia data
CN114490085B (zh) 一种网卡配置方法、装置、设备及存储介质
CN113407352A (zh) 用于处理任务的方法、处理器、设备和可读存储介质
CN114217988A (zh) 一种基于io处理的响应式责任链模式数据处理方法
CN113407752B (zh) 图数据库内存管理方法、系统、电子设备及存储介质
WO2021179411A1 (zh) 面向量子计算的数据交互设备、方法、装置及介质
US20120239826A1 (en) System authorizing direct data transfers between memories of several components of that system
US10310857B2 (en) Systems and methods facilitating multi-word atomic operation support for system on chip environments
CN111309265B (zh) 基于神经网络的节点存储方法、系统、服务器及存储介质
CN114741165A (zh) 数据处理平台的处理方法、计算机设备及存储装置
CN115766720A (zh) 一种数据处理方法、装置、电子设备及存储介质
US8966483B2 (en) Method and device for optimizing execution of software applications in a multiprocessor architecture comprising several input/output controllers and secondary computing units
WO2021037124A1 (zh) 一种任务处理的方法以及任务处理装置
CN113934566A (zh) 异常处理方法、装置和电子设备
JP2013506898A5 (zh)
CN111401541A (zh) 一种数据传输控制方法及装置
KR101748210B1 (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