CN112988378A - 业务处理方法及装置 - Google Patents

业务处理方法及装置 Download PDF

Info

Publication number
CN112988378A
CN112988378A CN202110118441.1A CN202110118441A CN112988378A CN 112988378 A CN112988378 A CN 112988378A CN 202110118441 A CN202110118441 A CN 202110118441A CN 112988378 A CN112988378 A CN 112988378A
Authority
CN
China
Prior art keywords
user request
service logic
customized
cdn
customized service
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
CN202110118441.1A
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN202110118441.1A priority Critical patent/CN112988378A/zh
Publication of CN112988378A publication Critical patent/CN112988378A/zh
Priority to EP21922462.3A priority patent/EP4287023A1/en
Priority to PCT/CN2021/130981 priority patent/WO2022160872A1/zh
Priority to US18/194,616 priority patent/US20230254312A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施方式涉及内容分发网络技术领域,公开了一种业务处理方法,包括:接收CDN用户下发的定制业务逻辑;接收与所述定制业务逻辑对应的用户请求;转发所述定制业务逻辑与所述用户请求至一个受限命名空间的执行进程中,其中,所述受限命名空间被限制的权限包括访问CDN***文件和调用关键***接口;依据所述定制业务逻辑在所述执行进程内,处理并响应所述用户请求。本发明实施方式还公开了一种业务处理装置。本发明实施方式提供的业务处理方法及装置,可以减少CDN用户定制业务逻辑对CDN节点的安全性的影响。

Description

业务处理方法及装置
技术领域
本发明涉及内容分发网络技术领域,特别涉及一种业务处理方法及装置。
背景技术
传统的CDN定制业务在开发上线的过程中,整个业务交付流程非常长,投入的人力也较多,已经无法满足互联网产业的发展,客户对业务交付的时效性和灵活性要求越来越高,因此衍生出了一种开放式的交付方式——可编程CDN,由CDN用户下发业务代码后在CDN上运行。
目前,在运行CDN用户下发的业务代码时,通常是直接加载至CDN节点服务进程来运行,然而,由于CDN用户下发的业务代码为第三方代码,在CDN节点服务进程运行时可以越权做许多业务之外的事情,因此这种方法对CDN节点的安全性影响较大。
发明内容
本发明实施方式的目的在于提供一种业务处理方法及装置,可以减少CDN用户下发的业务逻辑对CDN节点安全性的影响。
为解决上述技术问题,本发明的实施方式提供了一种业务处理方法,包括:接收CDN用户下发的定制业务逻辑;接收与定制业务逻辑对应的用户请求;转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,其中,受限命名空间被限制的权限包括访问CDN***文件和调用关键***接口;依据定制业务逻辑在执行进程内,处理并响应用户请求。
本发明的实施方式还提供了一种业务处理装置,包括:第一接收模块,用于接收CDN用户下发的定制业务逻辑;第二接收模块,用于接收与定制业务逻辑对应的用户请求;转发模块,用于转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,其中,受限命名空间被限制的权限包括访问CDN***文件和调用关键***接口;处理模块,用于依据定制业务逻辑在执行进程内,处理并响应用户请求。
本发明的实施方式还提供了一种服务端,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的业务处理方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的业务处理方法。
本发明实施方式相对于相关技术而言,通过接收CDN用户下发的定制业务逻辑,接收与定制业务逻辑对应的用户请求,转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,根据执行进程内运行的定制业务逻辑处理并响应用户请求。由于定制业务逻辑是在受限命名空间的执行进程中运行的,而受限命名空间限制访问CDN***文件和调用***关键接口,因此在受限命名空间的执行进程中运行的定制业务逻辑不能越权做业务之外的事情,从而可以减少定制业务逻辑对CDN节点的安全性和稳定性的影响;另外,与采用容器的方法相比,由于执行进程对资源的使用更充分,因此在执行进程中实现该方案可以减少CDN节点的性能开销。
另外,转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,包括:将定制业务逻辑与用户请求经由管理进程转发至执行进程,其中,管理进程用于管理受限命名空间内的执行进程,执行进程至少为一个。通过先将用户请求转发至管理受限命名空间内的执行进程的管理进程,再由管理进程将用户请求和定制业务逻辑转发至执行进程,由于CDN节点服务进程只需要将与定制业务逻辑相关的请求转发即可,不需要获取相应的定制业务逻辑并发送,也不需要管理受限命名空间内的执行进程,因此可以减少CDN节点服务进程的负担,提高CDN节点服务进程的运行效率。
另外,接收与定制业务逻辑对应的用户请求,包括:CDN节点服务进程根据用户请求的过滤条件,将用户请求转发至管理进程,其中,过滤条件包括用户请求的域名、定制请求头或定制URL参数,CDN节点服务进程与管理进程通过进程间通讯方式交互。通过用户请求的过滤条件,将符合要求的用户请求转发至管理进程,可以使用户请求得到定制业务逻辑的响应,实现CDN的定制化功能。
另外,转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,包括:管理进程依据用户请求,调取对应的定制业务逻辑,将用户请求和定制业务逻辑转发至执行进程中。通过管理进程调取对应的定制业务逻辑,可以使CDN节点服务进程只需要将用户请求转发至管理进程即可,不需要进行定制业务逻辑的调取,提高了CDN节点服务进程的运行效率。
另外,方法还包括:在接收到用户请求之前,将定制业务逻辑转发至执行进程中的其中一个;转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,包括:将用户请求转发至定制业务逻辑所在的执行进程中。由于定制业务逻辑在接收到用户请求之前运行,因此在接收到用户请求后,可以立即对用户请求进行处理和响应,提高了用户请求处理和响应的速度。
另外,管理进程还用于调整不同CDN节点内的执行进程的负载。通过管理进程调整不同节点的执行进程的负载,可以使不同节点的执行进程可以得到负载的均衡,避免单一CDN节点负载过大而造成服务故障。
另外,CDN节点服务进程、管理进程和执行进程部署在同一个CDN节点或节点集群内。
另外,方法还包括:若用户请求在执行进程内的执行时间大于预设时间阈值,则结束用户请求所在的执行进程。在用户请求的执行时间大于预设时间阈值时,结束业务逻辑所在的执行进程,可以避免相应的执行进程一直占用CDN节点的资源,造成资源独占的情况,保证CDN节点的正常运行。
另外,执行进程为动态解析器,支持高级语言的动态解释。
另外,定制业务逻辑包括CDN用户下发的执行脚本和对应的配置文件。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明第一实施方式提供的业务处理方法的流程示意图;
图2是本发明第二实施方式提供的业务处理方法的流程示意图;
图3是本发明第二实施方式提供的业务处理方法的原理框架图;
图4是本发明第二实施方式提供的业务处理方法的示例图;
图5是本发明第三实施方式提供的业务处理方法的流程示意图;
图6是本发明第四实施方式提供的业务处理装置的模块结构示意图;
图7是本发明第五实施方式提供的服务端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种业务处理方法,通过接收CDN用户下发的定制业务逻辑,接收与定制业务逻辑对应的用户请求,转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,依据定制业务逻辑在执行进程内,处理并响应用户请求。由于定制业务逻辑是在受限命名空间的执行进程中运行,而受限命名空间限制访问CDN***文件和调用***关键接口,因此定制业务逻辑不能越权做业务之外的事情,从而可以减少定制业务逻辑对CDN节点的安全性的影响。
应当说明的是,本发明实施方式提供的业务处理方法的执行主体可以为CDN节点,其中,CDN节点可以是由一个CDN服务器或多个CDN服务器组成的集群来实现。
本发明实施方式提供的业务处理方法的具体流程如图1所示,包括以下步骤:
S101:接收CDN用户下发的定制业务逻辑。
其中,CDN用户下发定制业务逻辑时,可以通过与CDN节点连接的服务平台编写定制业务逻辑,再将编写好的定制业务逻辑发送至CDN节点。CDN用户的下发动作之前,还可以包括编写定制业务逻辑的动作,可以是根据在线编辑平台的预设脚本语言,由CDN用户自行编写或者由第三方编写后交付所述CDN用户,而不是由CDN服务商自行编写。
可选地,定制业务逻辑可以包括代码文件和对应的配置信息,其中,代码文件以代码形式描述业务的处理逻辑,配置信息可以包括代码文件的执行条件或启动参数等。
当CDN节点接收到CDN用户下发的定制业务逻辑之后,可以将其保存至指定目录中。可选地,CDN节点可以将配置信息与代码文件一起存储在指定目录,也可以将配置信息存储在专门存储配置信息的目录中。
由于定制业务逻辑是运行于受限命名空间内的,与CDN节点服务进程相隔离,因此定制业务逻辑采用的语言没有具体限制,可以支持脚本语言,也可以支持其它高级语言。相应地,定制业务逻辑的文件形式也可以是多种。
S102:接收与定制业务逻辑对应的用户请求。
其中,用户请求是指与定制业务逻辑对应的请求,具体可以为应用层协议的请求,例如是http或https请求等。
CDN节点在判断请求是否与定制业务逻辑对应时,可以根据定制业务逻辑的执行条件来判断,具体可以根据请求的域名和/或预设的触发条件进行判断,当请求与定制业务逻辑对应的域名和/或预设的触发条件相符时,判定接收到与定制业务逻辑对应的用户请求。具体的执行条件可以由CDN用户根据实际需要在定制业务逻辑中进行设置,此处不做具体限制。
例如,若定制业务逻辑为对A域名的请求的定制业务逻辑,则接收到域名为“www.A.com”的请求时,CDN节点可以判定该请求为与定制业务逻辑对应的用户请求;又例如,若定制业务逻辑为对A域名且请求IP地址为上海区域的IP地址的请求的定制业务逻辑,则接收到域名为“www.A.com”且请求的IP地址为上海区域的IP地址时,CDN节点可以判定该请求为与定制业务逻辑对应的用户请求。
S103:转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,其中,受限命名空间被限制的权限包括访问CDN***文件和调用关键***接口。
其中,访问CDN***文件包括读写CDN节点的***文件,而关键***接口包括影响CDN节点服务进程运行的***API,例如停止服务进程、断开网络连接等可以影响到CDN节点服务进程运行的***API。由于受限命名空间限制访问CDN***文件和调用关键***接口,而执行进程在受限命名空间内运行,因此相应地,执行进程也限制访问CDN***文件和调用关键***接口。
可选地,CDN节点可以通过CDN节点服务进程将定制业务逻辑与用户请求转发至受限命名空间的执行进程中。
S104:依据定制业务逻辑在执行进程内,处理并响应用户请求。
可选地,用户请求在执行进程中通过定制业务逻辑处理之后,执行进程将处理的结果返回给CDN节点服务进程,由CDN节点服务进程对用户请求进行响应。应当理解的是,这里的用户一般指个人用户,而CDN用户则一般指企业用户。由于执行进程没有访问CDN***文件的权限,因此将执行进程处理的结果返回至CDN节点服务进程,由CDN节点服务进程根据处理的结果进行响应,可以在保证CDN节点服务进程的安全性的同时实现CDN用户相应的定制业务。
可选地,在对用户请求进行处理时,可以是直接采用执行进程运行定制业务逻辑,也可以由执行进程创建的线程来运行定制业务逻辑。可以理解的是,通过执行进程的线程来加载并运行定制业务逻辑,可以将多个定制业务逻辑放入同一个进程中的线程中(例如将每一个定制业务逻辑作为该线程的其中一个代码段)运行,因此可以减少受限命名空间的进程数,进而减少受限命名空间占用的内存。
可选地,执行进程为动态解析器,支持高级语言的动态解释。具体地,CDN节点可以利用执行进程将定制业务逻辑的代码文件进行实时编译,得到可在CDN节点运行的可执行代码后,再运行可执行代码对用户请求进行处理。
可选地,定制业务逻辑包括所述CDN用户下发的执行脚本和对应的配置文件,即定制业务逻辑的代码文件为脚本形式。
值得一提的是,在运行定制业务逻辑时,除了传统的将定制业务逻辑加载至CDN节点服务进程来运行的方法之外,还可以将定制业务逻辑放在容器里运行。由于容器的虚拟化架构可以很好地与CDN服务器上其它的服务进程相隔离,因此可以很好地保证CDN节点的安全性;然而,容器会占用CDN服务器较多的资源,若采用容器来运行定制业务逻辑,会使CDN节点的性能开销增大。而本发明实施方式提供的业务处理方法,将定制业务逻辑放在受限命名空间的执行进程中运行,同样可以保证CDN节点的安全性;而且,由于执行进程对资源的使用更充分,因此相对于容器的方法而言,本发明实施方式提供的业务处理方法,可以减少CDN节点的性能开销,提高CPU的计算效率。
本发明实施方式提供的业务处理方法,通过接收CDN用户下发的定制业务逻辑,接收与定制业务逻辑对应的用户请求,转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,根据执行进程内运行的定制业务逻辑处理并响应用户请求。由于定制业务逻辑是在受限命名空间的执行进程中运行的,而受限命名空间限制访问CDN***文件和调用***关键接口,因此在受限命名空间的执行进程中运行的定制业务逻辑不能越权做业务之外的事情,从而可以减少定制业务逻辑对CDN节点的安全性和稳定性的影响;另外,与采用容器的方法相比,由于执行进程对资源的使用更充分,因此在执行进程中实现该方案可以减少CDN节点的性能开销。
本发明的第二实施方式涉及一种业务处理方法,在本发明实施方式中,通过管理进程将用户请求转发至受限命名空间的执行进程中。
本发明实施方式提供的业务处理方法的具体流程如图2所示,包括以下步骤:
S201:接收CDN用户下发的定制业务逻辑。
其中,S201与第一实施方式中的S101相同,具体可以参见第一实施方式的相关描述,为了避免重复,这里不再赘述。
S202:CDN节点服务进程根据用户请求的过滤条件,将用户请求转发至管理进程,其中,过滤条件包括用户请求的域名、定制请求头或定制URL参数,CDN节点服务进程与管理进程通过进程间通讯方式交互。
可选地,CDN节点服务进程可以根据用户请求的域名、定制请求头或定制URL参数与业务逻辑的域名和/或触发条件进行判断,将符合要求的用户请求转发至管理进程。
可选地,CDN节点服务进程、管理进程和执行进程部署在同一个CDN节点或节点集群内。
可选地,管理进程用于管理受限命名空间内的执行进程,执行进程可以为一个也可以为多个。当执行进程为多个时,管理进程将用户请求和定制业务逻辑转发至其中一个执行进程。而将定制业务逻辑转发至执行进程,是指将定制业务逻辑的文件转发至执行进程。
管理进程可以增加或减少第一执行进程的数量,在增加或减少执行进程的数量时,可以在已有的执行进程的负载已达到第一预设阈值时增加,在某一执行进程的负载低于第二预设阈值时减少。例如,若受限命名空间内的所有的执行进程的负载都达到第一预设阈值(例如80%),则增加一个新的执行进程;若受限命名空间的某一执行进程的负载低于第二预设阈值(例如10%),则结束该执行进程。
可选地,管理进程还用于均衡不同CDN节点内的执行进程的负载,即若当前CDN节点的受限命名空间内的执行进程已达到第二预设负载,且用户请求为当前CDN节点新接收到的请求,则将用户请求转发至另一CDN节点的受限命名空间内的执行进程,以供另一CDN节点的执行进程运行定制业务逻辑对用户请求进行处理。其中,第二预设负载可以根据实际需要进行设置,例如是80%、85%或90%等,其与第一预设负载的具体取值可以相同也可以不同。通过管理进程调整不同节点的执行进程的负载,可以使不同节点的执行进程可以得到负载的均衡,避免单一CDN节点负载过大而造成服务故障。实际应用中,可以使用CDN已有的负载均衡技术来实现每个节点上的进程均处于一个合理的水平。例如,若某一节点的执行进程较为空闲,则可以利用CDN的负载均衡功能将请求转发至该节点上进行处理。
通过用户请求的过滤条件,将符合要求的用户请求转发至管理进程,可以使用户请求得到定制业务逻辑的响应,实现CDN的定制化功能。
S203:管理进程依据用户请求,调取对应的定制业务逻辑,将用户请求和定制业务逻辑转发至执行进程中。
其中,管理进程运行于受限命名空间之外,在接收到用户请求时,根据用户请求在CDN节点中指定位置调取对应的定制业务逻辑,再将调取后的定制业务逻辑和用户请求转发至受限命名空间的执行进程中。
通过管理进程调取对应的定制业务逻辑,可以使CDN节点服务进程只需要将用户请求转发至管理进程即可,不需要进行定制业务逻辑的调取,提高了CDN节点服务进程的运行效率。
S204:依据定制业务逻辑在执行进程内,处理并响应用户请求。
其中,S204与第一实施方式中的S104相同,具体可以参见第一实施方式中的相关描述,为了避免重复,这里不再赘述。
可选地,若用户请求的响应不为空,则利用管理进程将用户请求对应的响应内容和定制业务逻辑转发至执行进程。例如,若用户请求命中在CDN节点命中缓存文件,则CDN节点利用管理进程将命中的缓存文件和定制业务逻辑一起转发至执行进程,以供执行进程对缓存文件进行相应的处理,从而实现相应的定制业务逻辑。由于受限命名空间没有访问CDN***文件的权限,因此,将用户请求对应的响应内容和定制业务逻辑一起转发至受限命名空间内的执行进程,可以使执行进程可以对响应内容进行相应的处理,从而实现相应的定制业务逻辑。
可选地,若CDN节点没有命中缓存需要回源时,由CDN节点服务进程进行回源。通过CDN节点服务进程来执行回源,而不是采用CDN节点的缓存进程来回源,可以使缓存进程不再跟业务耦合,提高缓存进程的运行效率。
可选地,若用户请求在执行进程内的执行时间大于预设时间阈值,则结束用户请求所在的执行进程。其中,预设时间阈值可以根据实际需要进行设置,此处不做具体限制。在用户请求的执行时间大于预设时间阈值时,结束定制业务逻辑所在的执行进程,可以避免相应的执行进程一直占用CDN节点的资源,造成资源独占的情况,保证CDN节点的正常运行。
请参考图3,其为本发明实施方式提供的业务处理方法的原理框架图。具体地,CDN节点服务进程与管理进程通过进程间通讯方式进行交互,管理进程位于受限命名空间外,在接收到请求时,CDN节点服务进程将符合要求的用户请求转发至管理进程,管理进程再将用户请求和业务逻辑转发至受限命名空间的执行进程中,对用户请求进行处理,执行进程将对用户请求处理的结果返回给管理进程,管理进程再将处理的结果返回给CDN节点服务进程,由CDN节点服务进程对用户请求进行响应。
请参考图4,其为本发明实施方式提供的业务处理方法的示例图。图4中,动态执行进程包括管理进程和执行进程(图中未示出)。具体地,1、用户请求在CDN节点中命中缓存;2、CDN节点服务进程将用户请求对应的响应内容转发至动态执行进程的管理进程,管理进程将响应请求、定制业务逻辑和响应内容转发至执行进程进行处理,在处理后执行进程将处理的结果返回至管理进程;3、管理进程再将处理的结果返回至CDN节点服务进程;4、CDN节点服务进程将处理的结果响应给用户。应当说明的是,图4以命中缓存后请求响应的执行阶段为例进行说明,实际上,其它执行阶段的执行过程与图4的执行过程类似,可以参考图4的执行过程,此处不再一一描述。
可以理解的是,在本发明实施方式中,定制业务逻辑的运行在接收到用户请求之后,即在接收到用户请求之后再运行定制业务逻辑对用户请求进行处理,这样会造成一定的响应时延。但由于定制业务逻辑一般带有一定的计算量,与定制业务逻辑的计算量需要的时间相比,在接收到请求后再运行定制业务逻辑造成的响应时延基本上可以忽略不计。
本发明实施方式提供的业务处理方法,通过先将用户请求转发至管理受限命名空间内的执行进程的管理进程,再由管理进程将用户请求和定制业务逻辑转发至执行进程,由于CDN节点服务进程只需要将与定制业务逻辑相关的请求转发即可,不需要获取相应的定制业务逻辑并发送,也不需要管理受限命名空间内的执行进程,因此可以减少CDN节点服务进程的负担,提高CDN节点服务进程的运行效率。
本发明的第三实施方式涉及一种业务处理方法,在本发明实施方式中,在接收到用户请求之前,利用管理进程将定制业务逻辑转发至执行进程中的其中一个,在接收到用户请求之后,利用管理进程将用户请求转发至定制业务逻辑所在的执行进程中。
本发明实施方式提供的业务处理方法的具体流程如图5所示,包括以下步骤:
S301:接收CDN用户下发的定制业务逻辑。
其中,S301与第一实施方式中的S101相同,具体可以参见第一实施方式中的相关描述,为了避免重复,这里不再赘述。
S302:在接收到用户请求之前,利用管理进程将定制业务逻辑转发至执行进程中的其中一个。
即在接收到用户请求之前,CDN节点先利用管理进程将定制业务逻辑转发至执行进程中的其中一个运行。
S303:CDN节点服务进程根据用户请求的过滤条件,将用户请求转发至管理进程,其中,过滤条件包括用户请求的域名、定制请求头或定制URL参数,CDN节点服务进程与管理进程通过进程间通讯方式交互。
其中,S303与第二实施方式中的S202相同,具体可以参见第二实施方式中的相关描述,这里不再赘述。
S304:利用管理进程将用户请求转发至定制业务逻辑所在的执行进程中。
由于执行进程为多个,而管理进程负责管理多个执行进程并在接收到用户请求在其中一个执行进程内运行定制业务逻辑,因此,在接收到用户请求之后,管理进程可以将用户请求转发至定制业务逻辑所在的执行进程中。
S305:依据定制业务逻辑在执行进程内,处理并响应用户请求。
其中,S305与第二实施方式中的S204相同,具体可以参见第一实施方式中的相关描述,这里不再赘述。
本发明实施方式提供的业务处理方法,通过在接收到用户请求之前,利用管理进程将定制业务逻辑转发至执行进程中的其中一个,在接收到用户请求之后,利用管理进程将用户请求转发至定制业务逻辑所在的执行进程中。由于定制业务逻辑在接收到用户请求之前运行,因此在接收到用户请求后,可以立即对用户请求进行处理和响应,提高了用户请求处理和响应的速度。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第四实施方式涉及一种业务处理装置400,如图6所示,包括第一接收模块401、第二接收模块402、转发模块403和处理模块404,各模块功能详细说明如下:
第一接收模块401,用于接收CDN用户下发的定制业务逻辑;
第二接收模块402,用于接收与定制业务逻辑对应的用户请求;
转发模块403,用于转发定制业务逻辑与用户请求至一个受限命名空间的执行进程中,其中,命名空间被限制的权限包括访问CDN***文件和调用关键***接口;
处理模块404,用于依据定制业务逻辑在执行进程内,处理并响应用户请求。
进一步地,转发模块403还用于:
将定制业务逻辑与用户请求经由管理进程转发至执行进程,其中,管理进程用于管理受限命名空间内的执行进程,执行进程至少为一个。
进一步地,第二接收模块402还用于:
CDN节点服务进程根据用户请求的过滤条件,将用户请求转发至管理进程,其中,过滤条件包括用户请求的域名、定制请求头或定制URL参数,CDN节点服务进程与管理进程通过进程间通讯方式交互。
进一步地,转发模块403还用于:
管理进程依据用户请求,调取对应的定制业务逻辑,将用户请求和定制业务逻辑转发至执行进程中。
进一步地,本发明实施方式提供的业务处理装置400还包括预运行模块,预运行模块用于:
在接收到用户请求之前,利用管理进程将定制业务逻辑转发至执行进程中的其中一个;
转发模块403还用于:
利用管理进程将用户请求转发至定制业务逻辑所在的执行进程中。
进一步地,管理进程还用于均衡不同CDN节点内的执行进程的负载。
进一步地,CDN节点服务进程、管理进程和执行进程部署在同一个CDN节点或节点集群内。
进一步地,本发明实施方式提供的业务处理装置400还包括超时模块,其中,超时模块用于:
在用户请求在执行进程内的执行时间大于预设时间阈值时,结束用户请求所在的执行进程。
进一步地,执行进程为动态解析器,支持高级语言的动态解释。
进一步地,定制业务逻辑包括CDN用户下发的执行脚本和对应的配置文件。
不难发现,本实施方式为与前述实施方式相对应的装置实施例,本实施方式可与前述实施方式互相配合实施。前述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在前述实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种服务端,如图7所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的业务处理方法。
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
本发明第六实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (12)

1.一种业务处理方法,其特征在于,包括:
接收CDN用户下发的定制业务逻辑;
接收与所述定制业务逻辑对应的用户请求;
转发所述定制业务逻辑与所述用户请求至一个受限命名空间的执行进程中,其中,所述受限命名空间被限制的权限包括访问CDN***文件和调用关键***接口;
依据所述定制业务逻辑在所述执行进程内,处理并响应所述用户请求。
2.根据权利要求1所述的业务处理方法,其特征在于,所述转发所述定制业务逻辑与所述用户请求至一个受限命名空间的执行进程中,包括:
将所述定制业务逻辑与所述用户请求经由管理进程转发至所述执行进程,其中,所述管理进程用于管理所述受限命名空间内的执行进程,所述执行进程至少为一个。
3.根据权利要求2所述的业务处理方法,其特征在于,所述接收与所述定制业务逻辑对应的用户请求,包括:
CDN节点服务进程根据所述用户请求的过滤条件,将所述用户请求转发至所述管理进程,其中,所述过滤条件包括所述用户请求的域名、定制请求头或定制URL参数,所述CDN节点服务进程与所述管理进程通过进程间通讯方式交互。
4.根据权利要求3所述的业务处理方法,其特征在于,所述转发所述定制业务逻辑与所述用户请求至一个受限命名空间的执行进程中,包括:
所述管理进程依据所述用户请求,调取对应的所述定制业务逻辑,将所述用户请求和所述定制业务逻辑转发至所述执行进程中。
5.根据权利要求3所述的业务处理方法,其特征在于,还包括:
在接收到所述用户请求之前,利用所述管理进程将所述定制业务逻辑转发至所述执行进程中的其中一个;
所述转发所述定制业务逻辑与所述用户请求至一个受限命名空间的执行进程中,包括:
利用所述管理进程将所述用户请求转发至所述定制业务逻辑所在的执行进程中。
6.根据权利要求2所述的业务处理方法,其特征在于,所述管理进程还用于调整不同CDN节点内的执行进程的负载。
7.根据权利要求3所述的业务处理方法,其特征在于,所述CDN节点服务进程、所述管理进程和所述执行进程部署在同一个CDN节点或节点集群内。
8.根据权利要求1所述的业务处理方法,其特征在于,还包括:
若所述用户请求在所述执行进程内的执行时间大于预设时间阈值,则结束所述用户请求所在的执行进程。
9.根据权利要求1所述的业务处理方法,其特征在于,所述执行进程为动态解析器,支持高级语言的动态解释。
10.根据权利要求3所述的业务处理方法,其特征在于,若所述CDN节点没有命中缓存时,由所述CDN节点服务进程进行回源。
11.根据权利要求1所述的业务处理方法,其特征在于,所述定制业务逻辑包括所述CDN用户下发的代码文件和对应的配置文件。
12.一种业务处理装置,其特征在于,包括:
第一接收模块,用于接收CDN用户下发的定制业务逻辑;
第二接收模块,用于接收与所述定制业务逻辑对应的用户请求;
转发模块,用于转发所述定制业务逻辑与所述用户请求至一个受限命名空间的执行进程中,其中,所述命名空间被限制的权限包括访问CDN***文件和调用关键***接口;
处理模块,用于依据所述定制业务逻辑在所述执行进程内,处理并响应所述用户请求。
CN202110118441.1A 2021-01-28 2021-01-28 业务处理方法及装置 Pending CN112988378A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110118441.1A CN112988378A (zh) 2021-01-28 2021-01-28 业务处理方法及装置
EP21922462.3A EP4287023A1 (en) 2021-01-28 2021-11-16 Service processing method and device
PCT/CN2021/130981 WO2022160872A1 (zh) 2021-01-28 2021-11-16 业务处理方法及装置
US18/194,616 US20230254312A1 (en) 2021-01-28 2023-03-31 Service processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110118441.1A CN112988378A (zh) 2021-01-28 2021-01-28 业务处理方法及装置

Publications (1)

Publication Number Publication Date
CN112988378A true CN112988378A (zh) 2021-06-18

Family

ID=76345658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110118441.1A Pending CN112988378A (zh) 2021-01-28 2021-01-28 业务处理方法及装置

Country Status (4)

Country Link
US (1) US20230254312A1 (zh)
EP (1) EP4287023A1 (zh)
CN (1) CN112988378A (zh)
WO (1) WO2022160872A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827276A (zh) * 2022-04-22 2022-07-29 网宿科技股份有限公司 基于边缘计算的数据处理方法、设备及可读存储介质
WO2022160872A1 (zh) * 2021-01-28 2022-08-04 网宿科技股份有限公司 业务处理方法及装置
CN115842722A (zh) * 2021-09-18 2023-03-24 贵州白山云科技股份有限公司 业务实现方法、装置、***、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999317A (zh) * 2012-12-30 2013-03-27 北京讯鸟软件有限公司 面向多租户的弹性多进程服务处理方法
CN109067890A (zh) * 2018-08-20 2018-12-21 广东电网有限责任公司 一种基于docker容器的CDN节点边缘计算***
CN111737032A (zh) * 2020-07-27 2020-10-02 腾讯科技(深圳)有限公司 一种基于微内核***的子程序运行方法、装置和电子设备
US10805323B1 (en) * 2020-03-02 2020-10-13 Cloudflare, Inc. Cloud computing platform that isolates suspicious third-party code in a distributed cloud computing network
CN112272190A (zh) * 2020-11-10 2021-01-26 网易(杭州)网络有限公司 一种数据访问方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US20120089700A1 (en) * 2010-10-10 2012-04-12 Contendo, Inc. Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
CN112988378A (zh) * 2021-01-28 2021-06-18 网宿科技股份有限公司 业务处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999317A (zh) * 2012-12-30 2013-03-27 北京讯鸟软件有限公司 面向多租户的弹性多进程服务处理方法
CN109067890A (zh) * 2018-08-20 2018-12-21 广东电网有限责任公司 一种基于docker容器的CDN节点边缘计算***
US10805323B1 (en) * 2020-03-02 2020-10-13 Cloudflare, Inc. Cloud computing platform that isolates suspicious third-party code in a distributed cloud computing network
CN111737032A (zh) * 2020-07-27 2020-10-02 腾讯科技(深圳)有限公司 一种基于微内核***的子程序运行方法、装置和电子设备
CN112272190A (zh) * 2020-11-10 2021-01-26 网易(杭州)网络有限公司 一种数据访问方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022160872A1 (zh) * 2021-01-28 2022-08-04 网宿科技股份有限公司 业务处理方法及装置
CN115842722A (zh) * 2021-09-18 2023-03-24 贵州白山云科技股份有限公司 业务实现方法、装置、***、计算机设备及存储介质
CN114827276A (zh) * 2022-04-22 2022-07-29 网宿科技股份有限公司 基于边缘计算的数据处理方法、设备及可读存储介质
CN114827276B (zh) * 2022-04-22 2023-10-24 网宿科技股份有限公司 基于边缘计算的数据处理方法、设备及可读存储介质

Also Published As

Publication number Publication date
EP4287023A1 (en) 2023-12-06
US20230254312A1 (en) 2023-08-10
WO2022160872A1 (zh) 2022-08-04

Similar Documents

Publication Publication Date Title
JP7252356B2 (ja) モバイルエッジコンピューティングノードの選択方法、装置及びシステム並びにコンピュータプログラム
CN112988378A (zh) 业务处理方法及装置
CN113596110B (zh) 一种面向异构云的云原生微服务平台
US9244817B2 (en) Remote debugging in a cloud computing environment
CN113381944B (zh) ***限流方法、装置、电子设备、介质和程序产品
CN108804514A (zh) 一种网页加载方法、服务器和网页加载***
KR20150023354A (ko) 트랜잭셔널 미들웨어 머신 환경에서 묵시적 버저닝을 지원하기 위한 시스템 및 방법
US20200320154A1 (en) A webpage loading method, webpage loading system and server
CN109618003B (zh) 一种服务器规划方法、服务器及存储介质
CN113220723A (zh) 一种流量控制方法、装置、计算机设备及存储介质
CN102148759A (zh) 通过缓存加速***节省主干网出口带宽的方法
US20230061228A1 (en) Managing shared applications at the edge of a content delivery network
CN110677475A (zh) 一种微服务处理方法、装置、设备及存储介质
US9760370B2 (en) Load balancing using predictable state partitioning
CN113301079A (zh) 一种数据的获取方法、***、计算设备及存储介质
CN113821307A (zh) 一种虚拟机镜像的快速导入方法、装置及设备
CN108153794B (zh) 页面缓存数据刷新方法、装置及***
US10341454B2 (en) Video and media content delivery network storage in elastic clouds
CN114885024B (zh) 应用实例的路由方法、装置、设备及介质
CN106936643B (zh) 一种设备联动方法以及终端设备
CN112988126A (zh) Cdn业务定制方法及***
CN112379939B (zh) 嵌入式操作***数据动态加载实现方法、***、存储介质
CN113220491B (zh) 远程调用自适应负载均衡方法、装置、***及计算机装备
CN112688807B (zh) 一种一站式联动响应蓝绿部署的方法、装置和电子设备
CN115168018A (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