CN116302618B - 一种会话信息处理方法及装置 - Google Patents
一种会话信息处理方法及装置 Download PDFInfo
- Publication number
- CN116302618B CN116302618B CN202310552354.6A CN202310552354A CN116302618B CN 116302618 B CN116302618 B CN 116302618B CN 202310552354 A CN202310552354 A CN 202310552354A CN 116302618 B CN116302618 B CN 116302618B
- Authority
- CN
- China
- Prior art keywords
- session
- information
- session information
- acquisition process
- rdma
- 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
- 230000010365 information processing Effects 0.000 title claims description 18
- 238000003672 processing method Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims abstract description 241
- 230000008569 process Effects 0.000 claims abstract description 179
- 238000004891 communication Methods 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 18
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract description 3
- 238000004590 computer program Methods 0.000 description 10
- 238000002372 labelling Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 9
- 230000006378 damage Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种会话信息处理方法及装置,包括:通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;基于所述会话的相关信息,确定至少一个信息块,得到会话信息;采用进程间通信方式,将所述会话信息传递给采集进程;通过所述采集进程,结合所述会话信息向用户程序推送事件。本发明能够提高RDMA的会话信息的获取效果。
Description
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种会话信息处理方法及装置。
背景技术
在当前的数据中心中,RDMA(Remote Direct Memory Access,远程直接内存访问)由于其高带宽、低延迟的特性,已经被大规模的应用在了实际的业务当中。
在实践中发现,RDMA的会话信息是运维业务所必不可少的重要内容,但由于RDMA技术的发展时间相对较短,目前业界在数据中心中获取RDMA会话信息的方案屈指可数。其中,已有的方案会在网卡驱动中获取RDMA的会话信息,但这样做存在一些风险和不足。网卡的驱动运行在内核态,修改网卡驱动程序风险较大、扩展性差(能提供的接口有限)、部署成本高。可见,现在的RDMA的会话信息获取方式存在着效果不佳的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种会话信息处理方法及装置,以至少提高RDMA的会话信息的获取效果。
根据本发明实施例的一个方面,提供了一种会话信息处理方法,所述方法包括:通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;基于所述会话的相关信息,确定至少一个信息块,得到会话信息;采用进程间通信方式,将所述会话信息传递给采集进程;通过所述采集进程,结合所述会话信息向用户程序推送事件。
作为一种可选的实施方式,所述方法还包括:通过所述采集进程,将所述会话信息存储于内存中。
作为一种可选的实施方式,所述方法还包括:通过所述采集进程,查询所述会话信息。
作为一种可选的实施方式,所述方法还包括:在所述业务进程建立、修改或者销毁RDMA会话连接时,通过所述用户态RDMA库使用进程间通信方式,将所述会话信息的变更传递给所述采集进程,以使所述采集进程同步对所述会话信息的变更。
作为一种可选的实施方式,通过所述采集进程,结合所述会话信息向用户程序推送事件,包括:获取所述用户程序向所述采集进程发送的接入请求;根据所述接入请求中携带的推送需求信息和所述会话信息,向所述用户程序推送事件。
根据本发明实施例的另一方面,还提供了一种会话信息处理装置,所述装置包括:信息创建单元,用于通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;信息确定单元,用于基于所述会话的相关信息,确定至少一个信息块,得到会话信息;信息传递单元,用于采用进程间通信方式,将所述会话信息传递给采集进程;事件推送单元,用于通过所述采集进程,结合所述会话信息向用户程序推送事件。
作为一种可选的实施方式,所述装置还包括:存储单元,用于通过所述采集进程,将所述会话信息存储于内存中。
作为一种可选的实施方式,所述装置还包括:采集变更单元,用于通过所述采集进程,查询所述会话信息。
作为一种可选的实施方式,所述装置还包括:业务变更单元,用于在所述业务进程建立、修改或者销毁RDMA会话连接时,通过所述用户态RDMA库使用进程间通信方式,将所述会话信息的变更传递给所述采集进程,以使所述采集进程同步对所述会话信息的变更。
作为一种可选的实施方式,所述事件推送单元具体用于:获取所述用户程序向所述采集进程发送的接入请求;根据所述接入请求中携带的推送需求信息和所述会话信息,向所述用户程序推送事件。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述会话信息处理方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的会话信息处理方法。
在本发明实施例中,通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;基于会话的相关信息,确定至少一个信息块,得到会话信息;采用进程间通信方式,将会话信息传递给采集进程;通过采集进程,结合会话信息向用户程序推送事件。这一过程通过用户态RDMA库实现会话信息的采集,在用户态进行会话信息的管理风险较低、对操作系统侵入更小、可以提供更为丰富的用户接口、可扩展性强,从而能够提高RDMA的会话信息的获取效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的会话信息处理方法的流程图;
图2是根据本发明实施例的一种可选的会话信息收集过程的示意图;
图3是根据本发明实施例的一种可选的采集进程和用户程序之间的交互示意图;
图4是根据本发明实施例的一种可选的会话信息处理装置的结构示意图;
图5是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种可选的会话信息处理方法,如图1所示,该会话信息处理方法包括:
S101,通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息。
S102,基于所述会话的相关信息,确定至少一个信息块,得到会话信息。
S103,采用进程间通信方式,将所述会话信息传递给采集进程。
S104,通过所述采集进程,结合所述会话信息向用户程序推送事件。
在本实施例中,执行主体为服务器。
其中,业务进程指的是实际的业务应用过程中产生的进程,这里的实际的业务可以包括但不限于AI、存储、高性能计算。
其中,用户态RDMA库是RDMA技术中用户态中的函数库。RDMA技术包括用户态和内核态。并且,在RDMA用户态函数库的实现中,能够获取到所需的所有会话信息。
其中,会话的相关信息可以为会话创建过程中产生的各类信息,例如会话的创建时间、会话的发送目的地、会话包含的数据长度等等,本实施例对此不做限定。
其中,每个信息块可以包括相对应的结构信息,结构信息可以包括但不限于标注信息块的编号、区分qp(会话的相关信息)类型、区分英特网协议版本、标记源目地址、标记源目端口、标记本端和对端qpn、qp创建时距系统开机所经过的秒数以及qp连接建立时距系统开机所经过的秒数。其中,区分qp类型如RC(可靠连接)、UC(不可靠连接)、UD(不可靠数据报)。其中,区分英特网协议版本如ipv4、ipv6。
其中,QP资源是发送和接收报文的基本资源,QP资源包含一个发送队列和一个接收队列。
其中,会话信息包含一个或者多个信息块。其中,会话信息可以包括但不限于每条连接的开始/状态修改/结束时间、进程信息、网络信息等。每条连接的进程信息包含进程所属用户、进程ID号、进程占用物理内存的百分比等。每条连接的网络信息指的是RDMA会话创建、会话状态修改、会话销毁这个过程中相关的信息,包括qp的类型、网络协议版本、源目地址、源目端口、本端和对端的qpn、qp创建时间、qp连接时间等。
其中,进程间通信方式可以采取共享内存。
其中,采集进程可以用于储存会话信息,还可以对其他程序提供查询功能,当出现实际运维需求时,可以通过采集进程获取到所有RDMA会话信息并可以跟踪到每个会话的生命周期。并且,采集进程会对这些会话信息的创建/修改/销毁进行结构化的管理,并进行事件的推送。事件推送的方式也可以使用进程间通信的形式,如UNIX Domain Socket机制。其中,用户程序可以先创建UNIX Domain Socket并连接采集进程的事件推送服务器节点。并且,用户程序会向采集进程推送期望获取的信息。
在本实施例中,业务进程通过调用本发明提供的用户态RDMA函数库的方式建立RDMA连接,并且在业务进程建立、修改、销毁RDMA会话连接时,本发明提供的用户态RDMA函数库会立即将此连接的相关信息以某种存储形式保存下来。并且,用户态RDMA库会使用进程间同步的方式将会话信息的改变通过进程间通信的方式传递给采集进程,采集进程会将这些信息保存到内存中。以及,用户程序可以使用进程间通信的方式来获取相关的会话信息。
作为一种可选的实施方式,所述方法还包括:通过所述采集进程,将所述会话信息存储于内存中。
在本实施方式中,采集进程和RDMA采集进程会跟踪会话的整个生存周期,在会话生存周期内的所有会话信息变更都会被记录在内存中。
作为一种可选的实施方式,所述方法还包括:通过所述采集进程,查询所述会话信息。
在本实施方式中,采集进程能够向其他程序提供查询功能,在出现实际运维需求时,其他程序可以调用采集进程,查询运维需求所需要的相应会话信息。并且,采集进程还可以根据业务进程建立、修改、销毁RDMA会话连接,同步创建、修改或者销毁会话信息。这里采集进程和业务进程之间通过进程间通信的方式传递会话的创建、修改、销毁信息。
其中,业务进程RDMA库能够创建、修改、销毁会话信息,采集进程只查询会话信息。
作为一种可选的实施方式,所述方法还包括:在所述业务进程建立、修改或者销毁RDMA会话连接时,通过所述用户态RDMA库使用进程间通信方式,将所述会话信息的变更传递给所述采集进程,以使所述采集进程同步对所述会话信息的变更。
在本实施方式中,RDMA的会话信息在更新(qp创建、qp状态修改、qp销毁)时,RDMA用户态函数库会将变更的信息使用进程间通信的方式同步给采集进程。
例如,当业务进程创建qp时,业务进程会调用用户态RDMA库中的qp_create()函数,在调用函数时,会使用进程间通信的方式将会话信息传递给采集进程,以使采集进程同步创建会话信息。当qp状态修改时,如qp状态修改为rtr(ready to recv)/rts(ready tosend)时,也同样会将会话信息通过共享内存的方式传递给采集进程,采集进程在结构化这些会话信息后,会推送事件给用户程序。
作为一种可选的实施方式,通过所述采集进程,结合所述会话信息向用户程序推送事件,包括:获取所述用户程序向所述采集进程发送的接入请求;根据所述接入请求中携带的推送需求信息和所述会话信息,向所述用户程序推送事件。
在本实施方式中,用户程序会使用UNIX Domain Socket的方式连接到采集进程的时间推送服务节点并发送接入请求,在接入成功后,采集进程会向用户程序回复接入成功。并且,在接入请求中可以携带有用户程序的推送需求信息。假设接入请求中标识需要推送现在所有的RDMA QP信息,此时的推送需求信息即为推送所有的RDMA QP信息,则采集进程会立刻推送所有的RDMA QP数据。
请参阅图2,图2是根据本发明实施例的一种可选的会话信息收集过程的示意图,如图2所示,本方案的操作主要在用户态,不涉及对内核态的操作。RDMA业务进程能够建立、修改或者销毁RDMA会话连接,此时RDMA业务进程能够调用用户态RDMA库,以通过用户态RDMA库连接创建、修改、销毁相应的会话信息。并且,采集进程和业务进程之间可以采用共享内存这种进程间通信形式,实现在采集进程中对会话信息的更新,在采集进程中同步会话信息的创建、修改、销毁。之后,可以根据对会话信息的操作,得到多个信息块。其中,每次QP状态改变产生的内容对应着一个信息块,这些信息块会被采集进程保存在内存中。采集进程还可以在内存中调用这些信息块,实现相应的功能,例如查询功能。之后,采集进程还可以根据这多个信息块组成的会话信息,与用户程序之间进行交互,向用户程序推送指定的会话信息,即,推送相应的事件。
请参阅图3,图3是根据本发明实施例的一种可选的采集进程和用户程序之间的交互示意图,如图3所示,用户程序可以先创建socket与采集进程建立连接,并向采集进程事件推送服务节点发送接入请求。采集进程可以处理接入请求,在接入成功后,向用户程序回复接入成功。并且,采集进程还可以向用户程序推送已有的会话信息,或者针对会话信息的新建、修改或者销毁情况。
本发明可以应用于RDMA业务的运维,包括但不限于端到端网络运维、网络路径规划、负载分担、网络热点感知。可以获取所有RDMA会话的信息,利用这些信息,使得业务更易于运维。如希望对网络路径进行规划和负载分担,可以先获取到所有RDMA会话的,由于RDMA会话中存在源端口,通常网络路径是使用ECMP(Equal-cost multi-path,等价多路径)进行规划的,ECMP会利用流的源端口进行哈希来选择网络路径,此时就可以对这些RDMA会话进行网络路径规划和负载分担。并且,针对用户态方案,本发明能够实现底层解耦,在控制路径(lib库函数)中做的修改并不需要业务感知,业务进程对用户态函数库的事件推送是无感知的。
在本发明实施例中,通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;基于会话的相关信息,确定至少一个信息块,得到会话信息;采用进程间通信方式,将会话信息传递给采集进程;通过采集进程,结合会话信息向用户程序推送事件。这一过程通过用户态RDMA库实现会话信息的采集,在用户态进行会话信息的管理风险较低、对操作系统侵入更小、可以提供更为丰富的用户接口、可扩展性强,从而能够提高RDMA的会话信息的获取效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
进一步的,本发明实施例提供了一种可选的会话信息处理装置,如图4所示,该会话信息处理装置包括:
信息创建单元401,用于通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;
信息确定单元402,用于基于所述会话的相关信息,确定至少一个信息块,得到会话信息;
信息传递单元403,用于采用进程间通信方式,将所述会话信息传递给采集进程;
事件推送单元404,用于通过所述采集进程,结合所述会话信息向用户程序推送事件。
其中,业务进程指的是实际的业务应用过程中产生的进程,这里的实际的业务可以包括但不限于AI、存储、高性能计算。
其中,用户态RDMA库是RDMA技术中用户态中的函数库。RDMA技术包括用户态和内核态。并且,在RDMA用户态函数库的实现中,能够获取到所需的所有会话信息。
其中,会话的相关信息可以为会话创建过程中产生的各类信息,例如会话的创建时间、会话的发送目的地、会话包含的数据长度等等,本实施例对此不做限定。
其中,每个信息块可以包括相对应的结构信息,结构信息可以包括但不限于标注信息块的编号、区分qp(会话的相关信息)类型、区分英特网协议版本、标记源目地址、标记源目端口、标记本端和对端qpn、qp创建时距系统开机所经过的秒数以及qp连接建立时距系统开机所经过的秒数。其中,区分qp类型如RC(可靠连接)、UC(不可靠连接)、UD(不可靠数据报)。其中,区分英特网协议版本如ipv4、ipv6。
其中,QP资源是发送和接收报文的基本资源,QP资源包含一个发送队列和一个接收队列。
其中,会话信息包含一个或者多个信息块。其中,会话信息可以包括但不限于每条连接的开始/状态修改/结束时间、进程信息、网络信息等。每条连接的进程信息包含进程所属用户、进程ID号、进程占用物理内存的百分比等。每条连接的网络信息指的是RDMA会话创建、会话状态修改、会话销毁这个过程中相关的信息,包括qp的类型、网络协议版本、源目地址、源目端口、本端和对端的qpn、qp创建时间、qp连接时间等。
其中,进程间通信方式可以采取共享内存。
其中,采集进程可以用于储存会话信息,还可以对其他程序提供查询功能,当出现实际运维需求时,可以通过采集进程获取到所有RDMA会话信息并可以跟踪到每个会话的生命周期。并且,采集进程会对这些会话信息的创建/修改/销毁进行结构化的管理,并进行事件的推送。事件推送的方式也可以使用进程间通信的形式,如UNIX Domain Socket机制。其中,用户程序可以先创建UNIX Domain Socket并连接采集进程的事件推送服务器节点。并且,用户程序会向采集进程推送期望获取的信息。
在本实施例中,业务进程通过调用本发明提供的用户态RDMA函数库的方式建立RDMA连接,并且在业务进程建立、修改、销毁RDMA会话连接时,本发明提供的用户态RDMA函数库会立即将此连接的相关信息以某种存储形式保存下来。并且,用户态RDMA库会使用进程间同步的方式将会话信息的改变通过进程间通信的方式传递给采集进程,采集进程会将这些信息保存到内存中。以及,用户程序可以使用进程间通信的方式来获取相关的会话信息
作为一种可选的实施方式,所述装置还包括:存储单元,用于通过所述采集进程,将所述会话信息存储于内存中。
在本实施方式中,采集进程和RDMA采集进程会跟踪会话的整个生存周期,在会话生存周期内的所有会话信息变更都会被记录在内存中。
作为一种可选的实施方式,所述装置还包括:采集变更单元,用于通过所述采集进程,查询所述会话信息。
在本实施方式中,采集进程能够向其他程序提供查询功能,在出现实际运维需求时,其他程序可以调用采集进程,查询运维需求所需要的相应会话信息。并且,采集进程还可以根据业务进程建立、修改、销毁RDMA会话连接,同步创建、修改或者销毁会话信息。这里采集进程和业务进程之间通过进程间通信的方式传递会话的创建、修改、销毁信息。
其中,业务进程RDMA库能够创建、修改、销毁会话信息,采集进程只查询会话信息。
作为一种可选的实施方式,所述装置还包括:业务变更单元,用于在所述业务进程建立、修改或者销毁RDMA会话连接时,通过所述用户态RDMA库使用进程间通信方式,将所述会话信息的变更传递给所述采集进程,以使所述采集进程同步对所述会话信息的变更。
在本实施方式中,RDMA的会话信息在更新(qp创建、qp状态修改、qp销毁)时,RDMA用户态函数库会将变更的信息使用进程间通信的方式同步给采集进程。
例如,当业务进程创建qp时,业务进程会调用用户态RDMA库中的qp_create()函数,在调用函数时,会使用进程间通信的方式将会话信息传递给采集进程,以使采集进程同步创建会话信息。当qp状态修改时,如qp状态修改为rtr(ready to recv)/rts(ready tosend)时,也同样会将会话信息通过共享内存的方式传递给采集进程,采集进程在结构化这些会话信息后,会推送事件给用户程序。
作为一种可选的实施方式,所述事件推送单元404具体用于:获取所述用户程序向所述采集进程发送的接入请求;根据所述接入请求中携带的推送需求信息和所述会话信息,向所述用户程序推送事件。
在本实施方式中,用户程序会使用UNIX Domain Socket的方式连接到采集进程的时间推送服务节点并发送接入请求,在接入成功后,采集进程会向用户程序回复接入成功。并且,在接入请求中可以携带有用户程序的推送需求信息。假设接入请求中标识需要推送现在所有的RDMA QP信息,此时的推送需求信息即为推送所有的RDMA QP信息,则采集进程会立刻推送所有的RDMA QP数据。
在本发明实施例中,通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;基于会话的相关信息,确定至少一个信息块,得到会话信息;采用进程间通信方式,将会话信息传递给采集进程;通过采集进程,结合会话信息向用户程序推送事件。这一过程通过用户态RDMA库实现会话信息的采集,在用户态进行会话信息的管理风险较低、对操作系统侵入更小、可以提供更为丰富的用户接口、可扩展性强,从而能够提高RDMA的会话信息的获取效果。
进一步的,根据本发明实施例的又一个方面,还提供了一种用于实施上述会话信息处理方法的电子装置,如图5所示,该电子装置包括存储器502和处理器504,该存储器502中存储有计算机程序,该处理器504被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;
S2,基于所述会话的相关信息,确定至少一个信息块,得到会话信息;
S3,采用进程间通信方式,将所述会话信息传递给采集进程;
S4,通过所述采集进程,结合所述会话信息向用户程序推送事件。
可选地,本领域普通技术人员可以理解,图5所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图5中所示更多或者更少的组件(如网络接口等),或者具有与图5所示不同的配置。
其中,存储器502可用于存储软件程序以及模块,如本发明实施例中的会话信息处理方法对应的程序指令/模块,处理器504通过运行存储在存储器502内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的会话信息处理方法。存储器502可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器502可进一步包括相对于处理器504远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器502具体可以但不限于用于存储操作指令等信息。作为一种示例,如图5所示,上述存储器502中可以但不限于包括上述装置中的各个模块。
可选地,上述的传输装置506用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置506包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置506为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器508和连接总线510。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;
S2,基于所述会话的相关信息,确定至少一个信息块,得到会话信息;
S3,采用进程间通信方式,将所述会话信息传递给采集进程;
S4,通过所述采集进程,结合所述会话信息向用户程序推送事件。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种会话信息处理方法,其特征在于,所述方法包括:
通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;
基于所述会话的相关信息,确定至少一个信息块,得到会话信息;
采用进程间通信方式,将所述会话信息传递给采集进程;
通过所述采集进程,结合所述会话信息向用户程序推送事件;
其中,所述会话的相关信息为会话创建过程中产生的各类信息,包括会话的创建时间和会话的发送目的地;
所述会话信息包括会话连接的开始时间、状态修改时间、结束时间和进程信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述采集进程,将所述会话信息存储于内存中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述采集进程,查询所述会话信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述业务进程建立、修改或者销毁RDMA会话连接时,通过所述用户态RDMA库使用进程间通信方式,将所述会话信息的变更传递给所述采集进程,以使所述采集进程同步对所述会话信息的变更。
5.根据权利要求1所述的方法,其特征在于,通过所述采集进程,结合所述会话信息向用户程序推送事件,包括:
获取所述用户程序向所述采集进程发送的接入请求;
根据所述接入请求中携带的推送需求信息和所述会话信息,向所述用户程序推送事件。
6.一种会话信息处理装置,其特征在于,所述装置包括:
信息创建单元,用于通过业务进程调用用户态RDMA库中的目标函数,以创建会话的相关信息;
信息确定单元,用于基于所述会话的相关信息,确定至少一个信息块,得到会话信息;
信息传递单元,用于采用进程间通信方式,将所述会话信息传递给采集进程;
事件推送单元,用于通过所述采集进程,结合所述会话信息向用户程序推送事件;
其中,所述会话的相关信息为会话创建过程中产生的各类信息,包括会话的创建时间和会话的发送目的地;
所述会话信息包括会话连接的开始时间、状态修改时间、结束时间和进程信息。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
存储单元,用于通过所述采集进程,将所述会话信息存储于内存中。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
采集变更单元,用于通过所述采集进程,查询所述会话信息。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
业务变更单元,用于在所述业务进程建立、修改或者销毁RDMA会话连接时,通过所述用户态RDMA库使用进程间通信方式,将所述会话信息的变更传递给所述采集进程,以使所述采集进程同步对所述会话信息的变更。
10.根据权利要求6所述的装置,其特征在于,所述事件推送单元具体用于:
获取所述用户程序向所述采集进程发送的接入请求;
根据所述接入请求中携带的推送需求信息和所述会话信息,向所述用户程序推送事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310552354.6A CN116302618B (zh) | 2023-05-17 | 2023-05-17 | 一种会话信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310552354.6A CN116302618B (zh) | 2023-05-17 | 2023-05-17 | 一种会话信息处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116302618A CN116302618A (zh) | 2023-06-23 |
CN116302618B true CN116302618B (zh) | 2023-09-12 |
Family
ID=86803518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310552354.6A Active CN116302618B (zh) | 2023-05-17 | 2023-05-17 | 一种会话信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302618B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002051178A1 (en) * | 2000-12-21 | 2002-06-27 | Sonera Oyj | Centralized session management |
CN110166518A (zh) * | 2018-11-14 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 会话信息的传输方法、装置、存储介质及电子装置 |
CN110445826A (zh) * | 2018-05-04 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种会话信息获取方法、装置及服务器 |
CN111064680A (zh) * | 2019-11-22 | 2020-04-24 | 华为技术有限公司 | 一种通信装置及数据处理方法 |
CN114679436A (zh) * | 2022-05-27 | 2022-06-28 | 武汉中科通达高新技术股份有限公司 | 一种会话管理方法、服务器及计算机可读存储介质 |
CN114885007A (zh) * | 2022-03-31 | 2022-08-09 | 阿里云计算有限公司 | 用于实时的强一致性会话同步的方法和电子设备 |
CN115129621A (zh) * | 2022-09-01 | 2022-09-30 | 珠海星云智联科技有限公司 | 一种内存管理方法、设备、介质及内存管理模块 |
CN115514583A (zh) * | 2022-11-21 | 2022-12-23 | 北京长亭未来科技有限公司 | 一种流量采集及阻断方法、系统、设备及存储介质 |
CN116049085A (zh) * | 2022-09-30 | 2023-05-02 | 超聚变数字技术有限公司 | 一种数据处理系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610348B2 (en) * | 2003-05-07 | 2009-10-27 | International Business Machines | Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed |
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
WO2019165629A1 (zh) * | 2018-03-01 | 2019-09-06 | 华为技术有限公司 | 会话管理方法及装置、通信系统 |
KR20210030073A (ko) * | 2019-09-09 | 2021-03-17 | 삼성전자주식회사 | 엣지 컴퓨팅 서비스를 위한 방법 및 장치 |
-
2023
- 2023-05-17 CN CN202310552354.6A patent/CN116302618B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002051178A1 (en) * | 2000-12-21 | 2002-06-27 | Sonera Oyj | Centralized session management |
CN110445826A (zh) * | 2018-05-04 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种会话信息获取方法、装置及服务器 |
CN110166518A (zh) * | 2018-11-14 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 会话信息的传输方法、装置、存储介质及电子装置 |
CN111064680A (zh) * | 2019-11-22 | 2020-04-24 | 华为技术有限公司 | 一种通信装置及数据处理方法 |
CN114885007A (zh) * | 2022-03-31 | 2022-08-09 | 阿里云计算有限公司 | 用于实时的强一致性会话同步的方法和电子设备 |
CN114679436A (zh) * | 2022-05-27 | 2022-06-28 | 武汉中科通达高新技术股份有限公司 | 一种会话管理方法、服务器及计算机可读存储介质 |
CN115129621A (zh) * | 2022-09-01 | 2022-09-30 | 珠海星云智联科技有限公司 | 一种内存管理方法、设备、介质及内存管理模块 |
CN116049085A (zh) * | 2022-09-30 | 2023-05-02 | 超聚变数字技术有限公司 | 一种数据处理系统及方法 |
CN115514583A (zh) * | 2022-11-21 | 2022-12-23 | 北京长亭未来科技有限公司 | 一种流量采集及阻断方法、系统、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘志锋等.RDMA技术研究综述.《软件导刊》.2022,第21卷(第12期),第266-271页. * |
Also Published As
Publication number | Publication date |
---|---|
CN116302618A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3275162B1 (en) | Systems and techniques for web communication | |
US7395342B2 (en) | Pre-execution environment compliant dynamic host configuration protocol relay agent | |
CN103597471A (zh) | 用于对计算机网络上的数据通信进行缓存的方法和系统 | |
CN110381131B (zh) | Mec节点标识的实现方法、移动终端、服务器和存储介质 | |
CN112631788B (zh) | 数据传输方法及数据传输服务器 | |
CN109246172A (zh) | 一种恢复会话的方法、装置及计算机存储介质 | |
EP2939401B1 (en) | Method for guaranteeing service continuity in a telecommunication network and system thereof | |
CN109561054B (zh) | 一种数据传输方法、控制器及接入设备 | |
EP2343867A1 (en) | System and method of reducing intranet traffic on bottleneck links in a telecommunications network | |
CN112954406B (zh) | 数据下载方法、装置、计算机设备和存储介质 | |
CN103685496A (zh) | 一种文件数据的传输方法和设备 | |
CN112612769A (zh) | 文件处理方法、装置及存储介质 | |
CN115297098B (zh) | 边缘服务获取方法和装置、边缘计算系统、介质、设备 | |
CN102025782A (zh) | 一种点对点通信方法、装置及系统 | |
JP5109901B2 (ja) | セッションデータ共有方法 | |
CN116302618B (zh) | 一种会话信息处理方法及装置 | |
WO2018132557A1 (en) | Dynamic protocol switching | |
US8145698B1 (en) | Self organizing peer-to-peer system, method, and/or apparatus | |
US9591080B2 (en) | Method of establishing a network socket with a data server | |
CN113489786B (zh) | 一种长连接网络弱网重连方法、重发方法 | |
CN113747252B (zh) | 一种多媒体资源的传输方法、装置和系统 | |
US20200015320A1 (en) | Upgrading access points | |
US20080288447A1 (en) | Methods and apparatus for improving peer efficiency | |
CN117729260B (zh) | 请求发送方法、客户端、电子设备及存储介质 | |
CN111107663B (zh) | 数据的传输方法及装置、存储介质、电子装置 |
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 |