CN112988126A - Cdn业务定制方法及系统 - Google Patents
Cdn业务定制方法及系统 Download PDFInfo
- Publication number
- CN112988126A CN112988126A CN202110117246.7A CN202110117246A CN112988126A CN 112988126 A CN112988126 A CN 112988126A CN 202110117246 A CN202110117246 A CN 202110117246A CN 112988126 A CN112988126 A CN 112988126A
- Authority
- CN
- China
- Prior art keywords
- service
- cdn
- logic
- service logic
- execution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims description 19
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施方式涉及内容分发网络领域,公开了一种CDN业务定制方法,包括:接收由CDN用户下发的业务逻辑,其中,所述业务逻辑对应一个执行阶段;根据所述业务逻辑的执行阶段在CDN节点上加载所述业务逻辑;在接收到与所述业务逻辑对应的用户请求时,执行所述业务逻辑对所述用户请求进行处理。本发明实施方式还公开了一种CDN业务定制系统。本发明实施方式提供的CDN业务定制方法及系统,可以使CDN用户根据业务的需求对CDN定制业务进行实时的调整,提高CDN业务定制的灵活性。
Description
技术领域
本发明涉及内容分发网络领域,特别涉及CDN业务定制方法及系统。
背景技术
内容分发网络(Content Delivery Network,CDN)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容。
在CDN领域中,通常有客户的请求在经过CDN加速回到客户源站前,要求CDN对请求进行特殊的处理后再进行转发回源,用于防盗链等业务逻辑的处理;或是在响应请求给客户端时,要求CDN对响应请求的结果做一些特殊处理,以符合客户端的处理逻辑。
然而,对于这些定制化的业务,传统的方法需要CDN用户提供详细的业务需求给CDN的服务商,由CDN的服务商完成定制业务的开发后交付给CDN用户;当CDN用户需要对业务逻辑进行调整时,先需要将调整的需求提供给CDN的服务商,再由CDN的服务商根据调整的需求对业务逻辑进行更新。由于整个过程都需要CDN用户与服务商之间的紧密配合,因此CDN用户的定制业务依赖CDN服务商的迭代周期,无法进行实时的调整,导致这种定制业务的方式灵活性较低。
发明内容
本发明实施方式的目的在于提供一种CDN业务定制方法及系统,使得CDN用户可以根据业务的需要对部署在CDN上的定制业务进行实时的调整,提高CDN业务定制的灵活性。
为解决上述技术问题,本发明的实施方式提供了一种CDN业务定制方法,包括:接收由CDN用户下发的业务逻辑,其中,业务逻辑对应一个执行阶段;根据业务逻辑的执行阶段在CDN节点上加载业务逻辑;在接收到与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。
本发明的实施方式还提供了一种CDN业务定制系统,包括:接收模块,用于接收由CDN用户下发的业务逻辑,其中,业务逻辑对应一个执行阶段;加载模块,用于根据业务逻辑的执行阶段加载业务逻辑;执行模块,用于在接收与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。
本发明实施方式相对于相关技术而言,通过接收由CDN用户下发的业务逻辑,根据业务逻辑的执行阶段在CDN节点上加载业务逻辑,在接收到与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。由于CDN用户可以根据自身对于CDN业务的定制需求编写相应的业务逻辑后下发至CDN节点,因此CDN用户不需要与CDN服务商配合才能完成CDN业务的定制,可以根据自身业务需要对定制业务进行实时的调整,提高CDN业务定制的灵活性;同时,根据业务逻辑处理相应的请求,可以使符合条件的请求得到CDN业务定制化后的结果,实现CDN业务的定制;一个业务逻辑对应一个执行阶段,可以使业务逻辑的职责单一,耦合度低,执行位置明确,提高业务逻辑使用的灵活性。
另外,根据业务逻辑的执行阶段在CDN节点上加载业务逻辑,包括:根据业务逻辑的执行阶段在CDN节点上使用工作线程加载业务逻辑。通过工作线程来加载业务逻辑,可以使业务逻辑得到执行,从而实现CDN用户定制的CDN业务。
另外,方法还包括:当CDN用户对同一执行阶段下发两个以上不同业务逻辑时,CDN节点将两个以上不同业务逻辑加载在同一工作线程。通过将同一CDN用户同一执行阶段的不同业务逻辑加载在同一工作线程,可以有效地调节不同业务逻辑的执行顺序,避免多个工作线程无法保证执行顺序,也有利于对同一类用户请求进行统一化处理。
另外,方法还包括:当CDN用户对不同执行阶段下发不同业务逻辑时,CDN节点将不同业务逻辑加载在不同工作线程。通过将同一CDN用户不同执行阶段的不同业务逻辑加载至不同工作线程,可以实现不同执行阶段的业务定制功能。
另外,业务逻辑包括触发条件,在接收与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理,包括:在接收到符合触发条件且执行阶段与业务逻辑相同的用户请求时,执行工作线程对用户请求进行处理。通过触发条件和执行阶段进行判断,可以获取到与业务逻辑对应的用户请求,从而针对对应的用户请求实现相应的定制化功能。
另外,执行工作线程对用户请求进行处理,包括:将工作线程提交至执行阶段与业务逻辑的执行阶段对应的任务链表中执行,以对用户请求进行处理。通过将工作线程提交至与业务逻辑的执行阶段对应的任务链表中执行,可以实现相应的业务逻辑,从而实现CDN用户在相应执行阶段的业务定制。
另外,在接收与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理,包括:当CDN节点没有命中缓存时,由工作线程进行回源,以对用户请求进行处理。通过工作线程来执行回源,而不是采用CDN节点的缓存进程来回源,可以使缓存进程不再跟业务耦合,提高缓存进程的运行效率。
另外,方法还包括:若当前执行阶段的工作线程包括多个业务逻辑,则按照每一业务逻辑的配置的优先级顺序依次执行。由于CDN用户或CDN服务商可以根据实际需求配置业务逻辑的优先级,因此按照每一业务逻辑的配置的优先级顺序依次执行,可以使业务逻辑的执行顺序符合CDN用户的需求或CDN节点的实际情况,提高业务逻辑执行顺序调整的灵活性。
另外,方法还包括:在业务逻辑执行异常时,结束执行业务逻辑并返回执行CDN节点的服务进程。在业务逻辑运行出错或执行完毕后,返回执行CDN节点的节点处理逻辑,可以避免业务逻辑的执行对CDN节点本身的处理逻辑造成影响,保证CDN节点保持正常运行。
另外,执行阶段包括请求接入阶段、回源转发阶段、回源响应阶段或请求响应阶段。
另外,根据业务逻辑的执行阶段在CDN节点上加载业务逻辑,还包括:判断不同执行阶段之间的逻辑顺序,按照逻辑顺序加载业务逻辑。
另外,业务逻辑由CDN用户根据在线编辑平台的预设脚本语言编写得到。由于脚本语言较为简单,因此CDN用户利用预设脚本语言编写业务逻辑对应的业务脚本,可以降低CDN用户编写业务逻辑的难度,提高业务逻辑编写的效率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本发明第一实施方式提供的CDN业务定制方法的流程示意图;
图2是CDN业务定制方法中涉及的执行阶段的示意图;
图3是本发明第二实施方式提供的CDN业务定制系统的结构示意图;
图4是本发明第二实施方式提供的CDN业务定制系统的具体示例图;
图5是本发明第三实施方式提供的服务端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种CDN业务定制方法,通过接收由CDN用户下发的业务逻辑,根据业务逻辑的执行阶段在CDN节点上加载业务逻辑,在接收到与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。由于CDN用户可以根据自身对于CDN业务的定制需求编写相应的业务逻辑后下发至CDN节点,因此CDN用户不需要与CDN服务商配合才能完成CDN业务的定制,可以根据业务需要对定制业务进行实时的调整,提高CDN业务的定制的灵活性;同时,根据业务逻辑处理相应的请求,可以使符合条件的请求得到CDN业务定制化后的结果,实现CDN业务的定制。
应当说明的是,本发明实施方式提供的CDN业务定制方法的执行主体为CDN节点,其中,CDN节点可以是由单个CDN服务器或多个CDN服务器组成的集群来实现。
本发明实施方式提供的CDN业务定制方法的具体流程如图1所示,包括以下步骤:
S101:接收由CDN用户下发的业务逻辑,其中,业务逻辑对应一个执行阶段。
其中,执行阶段包括请求接入阶段、回源转发阶段、回源响应阶段或请求响应阶段。请参考图2,其为CDN业务定制方法中涉及的执行阶段的示意图。
可选地,CDN用户下发业务逻辑时,可以通过与CDN节点连接的服务平台编写业务逻辑,再将编写好的业务逻辑发送至CDN节点。CDN用户的下发动作之前,还可以包括编写业务逻辑的动作,可以是根据在线编辑平台的预设脚本语言,由CDN用户自行编写或者由第三方编写后交付所述CDN用户,而不是由CDN服务商自行编写。
应当说明的是,业务逻辑可以包括代码文件和对应的配置信息,其中,代码文件以代码形式描述业务的处理逻辑,配置信息可以包括代码文件的执行阶段、执行条件或启动参数等,可选地,CDN节点可以根据配置信息中执行阶段的信息确定业务逻辑的执行阶段。CDN用户一般是指企业用户,也可以普通个人用户,只要该CDN用户涉及到CDN业务即可。
由于CDN用户有多个,相应的业务逻辑也会有多个,为了实现对这些业务逻辑及CDN用户的管理,CDN节点在接收到CDN用户下发的业务逻辑后,可将业务逻辑保存至CDN节点的指定位置。实际应用中,可以是由CDN中心管理平台接收CDN用户下发的业务逻辑,再将业务逻辑下发至各个CDN节点,由CDN节点进行相应的保存。
S102:根据业务逻辑的执行阶段在CDN节点上加载业务逻辑。
可选地,S102可以包括:根据业务逻辑的执行阶段在CDN节点上使用工作线程加载业务逻辑。例如,若业务逻辑的执行阶段为回源响应阶段,则在回源响应阶段创建一个工作线程加载业务逻辑,或者将业务逻辑加载至回源响应阶段已有的工作线程中。通过工作线程来加载业务逻辑,可以使业务逻辑得到执行,从而实现CDN用户定制的CDN业务。
可选地,S102还可以包括:判断不同执行阶段之间的逻辑顺序,按照逻辑顺序加载业务逻辑。
可选地,当CDN用户对同一执行阶段下发两个以上不同业务逻辑时,CDN节点将两个以上不同业务逻辑加载在同一工作线程。例如,若CDN用户对回源转发阶段下发业务逻辑A和业务逻辑B,则CDN节点在回源转发阶段将业务逻辑A和业务逻辑B加载至同一个工作线程。通过将同一用户同一执行阶段的不同业务逻辑加载在同一工作线程,可以有效地调节不同业务逻辑的执行顺序,避免多个工作线程无法保证执行顺序,也有利于对同一类用户请求进行统一化处理。
可选地,当CDN用户对不同执行阶段下发不同业务逻辑时,CDN节点将不同业务逻辑加载在不同工作线程。例如,CDN用户对请求接入阶段下发了业务逻辑A,对回源转发阶段下发了业务逻辑B,则CDN节点将业务逻辑A和业务逻辑B加载至不同工作线程。通过将同一CDN用户不同执行阶段的不同业务逻辑加载至不同工作线程,可以实现不同执行阶段的业务定制功能。
为了保证业务逻辑在CDN节点上正常运行,可选地,可以在加载业务逻辑之前,对业务逻辑进行相应的测试,在测试结果为正常后再在CDN节点上加载该业务逻辑;若测结果为异常则将异常信息提供给CDN用户,使CDN用户进行相应的修正。
S103:在接收与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。
其中,用户请求可以为应用层协议的请求,例如是http或https请求等,请求具体的形式此处不做限制。
在一个例子中,业务逻辑包括触发条件,S103包括:在接收到符合触发条件且执行阶段与业务逻辑相同的用户请求时,执行工作线程对用户请求进行处理。
其中,触发条件包括域名、定制请求头或定制URL参数等,具体的触发条件可以由CDN用户根据实际需要进行设置,此处不做具体限制。
具体地,当CDN节点接收到用户请求时,CDN节点根据用户请求与业务逻辑的触发条件进行匹配,若用户请求符合业务逻辑的触发条件且执行阶段与业务逻辑相同,则判定接收到与业务逻辑对应的用户请求。例如,若业务逻辑的触发条件为用户请求的域名为A域名且用户请求的执行阶段为请求接入阶段,则接收到域名为www.A.com且执行阶段为请求接入阶段的用户请求时,CDN节点可以判定接收到与业务逻辑对应的用户请求;又例如,若业务逻辑的触发条件为用户请求的域名为A域名、请求IP地址为上海区域的IP地址且用户请求的执行阶段为请求响应阶段,则接收到域名为www.A.com、请求的IP地址为上海区域的IP地址且执行阶段为请求响应阶段的用户请求时,CDN节点可以判定接收到与业务逻辑对应的用户请求。
通过触发条件和执行阶段进行判断,可以获取到与业务逻辑对应的用户请求,从而针对对应的用户请求实现相应的定制化功能。
可选地,执行工作线程对用户请求进行处理,包括:将工作线程提交至执行阶段与业务逻辑的执行阶段对应的任务链表中执行,以对用户请求进行处理。若业务逻辑的执行阶段为请求接入阶段,则将工作线程提交至请求阶段的任务链表中,并在执行CDN节点的节点处理逻辑之前执行工作线程对用户请求进行处理;若业务逻辑的执行阶段为回源转发阶段,则将工作线程提交至回源转发阶段的任务链表中,并在用户请求对应的回源请求发出之前执行工作线程对用户请求进行处理;若业务逻辑的执行阶段为回源响应阶段,则将工作线程提交至回源响应阶段的任务链表中,并在执行CDN节点的节点处理逻辑之前执行工作线程对用户请求进行处理;若业务逻辑的执行阶段为请求响应阶段,则将工作线程提交至请求响应阶段的任务链表中,并在响应用户请求之前执行工作线程对用户请求进行处理。通过将工作线程提交至与业务逻辑的执行阶段对应的任务链表中执行,可以实现相应的业务逻辑,从而实现CDN用户在相应执行阶段的业务定制。
可选地,在接收与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理,包括:当CDN节点没有命中缓存时,由工作线程进行回源,以对用户请求进行处理。应当说明的是,在进行回源的操作时,一般是通过CDN节点的缓存进程来回源,而通过工作线程来执行回源,而不是采用CDN节点的缓存进程来回源,可以使缓存进程不再跟业务耦合,提高缓存进程的运行效率。
可选地,若当前执行阶段的工作线程包括多个业务逻辑,则按照每一业务逻辑的配置的优先级顺序依次执行。在实现工作线程包括多个业务逻辑时,可以根据多个业务逻辑生成可执行代码,从而将多个业务逻辑以可执行代码段的形式加载至一个工作线程中。由于工作线程是一个代码段接一个代码段这样执行的,因此可以为每个代码段配置优先级顺序,具体配置的优先级顺序可以根据CDN用户或CDN服务商的实际需求进行配置,此处不做具体限制。由于CDN用户或CDN服务商可以根据实际需求配置业务逻辑的优先级,因此按照每一业务逻辑的配置的优先级顺序依次执行,可以使业务逻辑的执行顺序符合CDN用户或CDN节点的需求,提高业务逻辑执行顺序调整的灵活性。
可选地,当一个工作线程包括多个业务逻辑时,在使用工作线程加载业务脚本之前,可以将要加载至工作线程的可执行代码的执行时间进行测试,在测试时延可以满足响应时延时才进行相应的加载,从而保证各个可执行代码段的执行顺序及个数不会影响到请求的响应。
可选地,在所述业务逻辑执行异常时,结束执行所述业务逻辑并返回执行所述CDN节点的服务进程。具体地,CDN节点在相应执行阶段的任务链表中执行工作线程来执行业务逻辑,若接收到运行出错的信息或执行完毕的信息,则结束当前执行阶段并返回CDN节点的节点处理逻辑并继续执行后面的流程。在业务逻辑运行出错或执行完毕后,返回执行CDN节点的节点处理逻辑,可以避免业务逻辑的执行对CDN节点本身的处理逻辑造成影响,保证CDN节点保持正常运行。在一个工作线程包括多个业务逻辑时,一个业务代码段运行异常,可能导致后面其它的业务代码段的执行结果出现偏差,因此在业务代码运行异常时,返回执行CDN节点的节点处理逻辑,可以避免CDN节点资源浪费和执行结果的偏差。
在本发明实施方式中,业务逻辑所用的语言此处不做具体限制,当业务逻辑所用的语言为CDN节点所用的语言时,则业务逻辑在CDN节点上加载前不需要经过翻译。但如果使用CDN节点所用的语言时,这些业务逻辑可以越权做很多业务之外的事情,当业务逻辑本身出现问题时也会影响到CDN节点的原有服务,会严重影响CDN节点的安全性,因此CDN用户编写的业务逻辑优先采用与CDN节点不同的语言。
可选地,业务逻辑由CDN用户根据在线编辑平台的预设脚本语言编写得到。由于脚本语言的难度较低,较容易掌握,因此,一般的CDN用户均可以使用预设脚本语言编写业务逻辑。由于脚本语言较为简单,因此CDN用户利用预设脚本语言编写业务逻辑对应的业务脚本,可以降低CDN用户编写业务逻辑的难度,提高业务逻辑编写的效率。
在业务逻辑采用预设脚本语言编写时,业务逻辑包括编写得到的业务脚本。由于CDN节点一般使用的是较为高级的语言,与预设脚本语言不同,因此采用预设脚本语言编写的业务脚本在CDN节点加载之前,可以使用翻译器进行翻译。可选地,S102具体可以包括:将业务脚本的语言转换为CDN节点可以识别的语言,得到转换后的业务脚本,在CDN节点上加载转换后的业务脚本。具体地,可以根据业务脚本生成可执行代码,在CDN节点上创建工作线程,并在工作线程中加载可执行代码后启动工作线程。
通过将业务脚本的语言转换为CDN节点可识别的脚本语言,一方面可以使CDN用户在编写业务逻辑时采用较为简单的脚本语言,降低业务逻辑编写的难度;另一方面可以使业务脚本与CDN节点相适应,从而顺利加载业务脚本以实现相应的业务逻辑。
在本发明实施方式中,业务逻辑对应一个执行阶段,CDN用户可以根据需要进行自由组合,例如分别对请求接入阶段和回源响应阶段编写相应的业务逻辑,这样CDN用户可以根据需要自由组合,且在开发相应的业务逻辑时,前面开发的业务逻辑不影响后面开发的业务逻辑,或者,后面的业务逻辑可以基于前面开发的业务逻辑进行开发;另外,CDN用户也可以针对每个业务逻辑设置不同的匹配条件,例如,对A类客户只执行一个业务逻辑,对B类客户执行两个业务逻辑,这样可以使业务逻辑的职责单一,耦合度低,执行位置明确,提高业务逻辑使用的灵活性。
可以理解的是,传统在进行CDN业务的定制时,首先需要CDN用户将自身的需求提供给CDN服务商,CDN服务商根据CDN提供的需求进行业务的开发,由于CDN服务商对于CDN用户的需求可能存在理解上的偏差,因此可能出现CDN服务商开发出来的业务不符合CDN用户的实际需求,则需要CDN服务商对开发出来的业务进行重新调整,甚至出现多次返工的情况,交付的效率较低;CDN用户与CDN服务商之间也需要进行多次的沟通,沟通的成本较高,CDN用户对于CDN业务的定制化需求严重依赖CDN服务商的研发支撑。而采用本发明实施方式提供的CDN业务定制方法,由于CDN用户更清楚自身对于CDN业务的定制需求,因此CDN用户利用在线编辑平台来编写业务逻辑,可以保证编写的业务逻辑是符合CDN用户的实际需求的,从而使CDN用户可以更快地使用定制化的CDN业务;同时,由于业务逻辑可以是由CDN用户自行编写的,因此CDN用户与CDN服务商之前不需要进行多次沟通,可以降低沟通的成本,使CDN用户在定制CDN业务时减少对CDN服务商的依赖。
本发明实施方式提供的CDN业务定制方法,通过接收由CDN用户下发的业务逻辑,根据业务逻辑的执行阶段在CDN节点上加载业务逻辑,在接收到与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。由于CDN用户可以根据自身对于CDN业务的定制需求编写相应的业务逻辑后下发至CDN节点,因此CDN用户不需要与CDN服务商配合才能完成CDN业务的定制,可以根据自身业务需要对定制业务进行实时的调整,提高CDN业务定制的灵活性;同时,根据业务逻辑处理相应的请求,可以使符合条件的请求得到CDN业务定制化后的结果,实现CDN业务的定制;一个业务逻辑对应一个执行阶段,可以使业务逻辑的职责单一,耦合度低,执行位置明确,提高业务逻辑使用的灵活性。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第二实施方式涉及一种业务定制系统200,如图3所示,包括接收模块201、加载模块202和执行模块203,各模块功能详细说明如下:
接收模块201,用于接收由CDN用户下发的业务逻辑,其中,业务逻辑对应一个执行阶段;
加载模块202,用于根据业务逻辑的执行阶段加载业务逻辑;
执行模块203,用于在接收与业务逻辑对应的用户请求时,执行业务逻辑对用户请求进行处理。
进一步地,本发明实施方式提供的CDN业务定制系统200还包括在线编辑平台,用于提供CDN用户编写业务逻辑的平台,并将业务逻辑下发至CDN节点;在线编辑平台预设脚本语言,CDN用户利用预设脚本语言编写业务逻辑。
进一步地,CDN节点包括工作线程,加载模块202根据业务逻辑的执行阶段将业务逻辑加载至工作线程;工作线程用于当CDN节点没有命中缓存时进行回源,以对用户请求进行处理。
进一步地,本发明实施方式提供的CDN业务定制系统200还包括判断模块,用于判断不同执行阶段之间的逻辑顺序,按照逻辑顺序加载业务逻辑。
进一步地,加载模块202用于根据业务逻辑的执行阶段在CDN节点上使用工作线程加载业务逻辑。
进一步地,当CDN用户对同一执行阶段下发两个以上不同业务逻辑时,CDN节点将两个以上不同业务逻辑加载在同一工作线程。
进一步地,当CDN用户对不同执行阶段下发不同业务逻辑时,CDN节点将不同业务逻辑加载在不同工作线程。
进一步地,执行模块203具体用于在接收到符合触发条件且执行阶段与业务逻辑相同的用户请求时,执行工作线程对用户请求进行处理。
进一步地,执行模块203具体用于将工作线程提交至执行阶段与业务逻辑的执行阶段对应的任务链表中执行,以对用户请求进行处理。
进一步地,执行模块203还用于在当前执行阶段的工作线程包括多个业务逻辑时,按照每一业务逻辑的配置的优先级顺序依次执行。
进一步地,执行模块203还用于在业务逻辑执行异常时,结束执行业务逻辑并返回执行CDN节点的服务进程。
进一步地,业务逻辑由CDN用户根据在线编辑平台的预设脚本语言编写得到。
请参考图4,其为本发明实施方式提供的CDN业务定制系统200的具体示例图。具体地,管理节点、翻译器模块和脚本下发通道具体可以部署在CDN的中心管理节点上,而格式化模块和处理模块可以部署在CDN的边缘节点上。其中,管理节点用于对在线编辑平台生成的业务脚本进行版本管理,同时也可以对外提供翻译、测试、预部署、审批、部署等功能的接口;翻译器模块用于将业务脚本的语言转换为CDN节点可以识别的语言,并可以注入测试代码;脚本下发通道用于将业务脚本从CDN的中心管理节点下发至CDN的边缘节点;格式化模块用于将下发的业务脚本文件转换为CDN边缘节点可以解析和识别的格式;处理模块为部署在CDN边缘节点的软件,用于加载业务脚本,使业务脚本生效并提供对应执行阶段的处理。
不难发现,本实施方式为与前述实施方式相对应的系统实施例,本实施方式可与前述实施方式互相配合实施。前述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在前述实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第三实施方式涉及一种服务端,如图5所示,包括至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述的CDN业务定制方法。
其中,存储器302和处理器301采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器301和存储器302的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器301处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器301。
处理器301负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器302可以被用于存储处理器301在执行操作时所使用的数据。
本发明第四实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (16)
1.一种CDN业务定制方法,其特征在于,包括:
接收由CDN用户下发的业务逻辑,其中,所述业务逻辑对应一个执行阶段;
根据所述业务逻辑的执行阶段在CDN节点上加载所述业务逻辑;
在接收到与所述业务逻辑对应的用户请求时,执行所述业务逻辑对所述用户请求进行处理。
2.根据权利要求1所述的CDN业务定制方法,其特征在于,所述根据所述业务逻辑的执行阶段在CDN节点上加载所述业务逻辑,包括:
根据所述业务逻辑的执行阶段在所述CDN节点上使用工作线程加载所述业务逻辑。
3.根据权利要求2所述的CDN业务定制方法,其特征在于,还包括:
当所述CDN用户对同一执行阶段下发两个以上不同业务逻辑时,所述CDN节点将所述两个以上不同业务逻辑加载在同一工作线程。
4.根据权利要求2所述的CDN业务定制方法,其特征在于,还包括:
当所述CDN用户对不同执行阶段下发不同业务逻辑时,所述CDN节点将所述不同业务逻辑加载在不同工作线程。
5.根据权利要求2、3或4所述的CDN业务定制方法,其特征在于,所述业务逻辑包括触发条件,所述在接收与所述业务逻辑对应的用户请求时,执行所述业务逻辑对所述用户请求进行处理,包括:
在接收到符合所述触发条件且执行阶段与所述业务逻辑相同的用户请求时,执行所述工作线程对所述用户请求进行处理。
6.根据权利要求5所述的CDN业务定制方法,其特征在于,所述执行所述工作线程对所述用户请求进行处理,包括:
将所述工作线程提交至执行阶段与所述业务逻辑的执行阶段对应的任务链表中执行,以对所述用户请求进行处理。
7.根据权利要求5所述的CDN业务定制方法,其特征在于,所述在接收与所述业务逻辑对应的用户请求时,执行所述业务逻辑对所述用户请求进行处理,包括:
当所述CDN节点没有命中缓存时,由所述工作线程进行回源,以对所述用户请求进行处理。
8.根据权利要求2或3所述的CDN业务定制方法,其特征在于,还包括:
若当前执行阶段的工作线程包括多个业务逻辑,则按照每一所述业务逻辑的配置的优先级顺序依次执行。
9.根据权利要求1所述的CDN业务定制方法,其特征在于,还包括:
在所述业务逻辑执行异常时,结束执行所述业务逻辑并返回执行所述CDN节点的服务进程。
10.根据权利要求1、2、3或4所述的CDN业务定制方法,其特征在于,所述执行阶段包括请求接入阶段、回源转发阶段、回源响应阶段或请求响应阶段。
11.根据权利要求10所述的CDN业务定制方法,其特征在于,所述根据所述业务逻辑的执行阶段在CDN节点上加载所述业务逻辑,还包括:
判断不同所述执行阶段之间的逻辑顺序,按照所述逻辑顺序加载所述业务逻辑。
12.根据权利要求1所述的CDN业务定制方法,其特征在于,所述业务逻辑由CDN用户根据在线编辑平台的预设脚本语言编写得到。
13.一种CDN业务定制系统,其特征在于,包括:
接收模块,用于接收由CDN用户下发的业务逻辑,其中,所述业务逻辑对应一个执行阶段;
加载模块,用于根据所述业务逻辑的执行阶段加载所述业务逻辑;
执行模块,用于在接收与所述业务逻辑对应的用户请求时,执行所述业务逻辑对所述用户请求进行处理。
14.根据权利要求13所述的CDN业务定制系统,其特征在于,还包括:
在线编辑平台,用于提供CDN用户编写业务逻辑的平台,并将所述业务逻辑下发至所述CDN节点;所述在线编辑平台预设脚本语言,所述CDN用户利用所述预设脚本语言编写所述业务逻辑。
15.根据权利要求13所述的CDN业务定制系统,其特征在于,所述CDN节点包括工作线程,所述加载模块根据所述业务逻辑的执行阶段将所述业务逻辑加载至所述工作线程;所述工作线程用于当所述CDN节点没有命中缓存时进行回源,以对所述用户请求进行处理。
16.根据权利要求13所述的CDN业务定制系统,其特征在于,还包括:
判断模块,用于判断不同所述执行阶段之间的逻辑顺序,按照所述逻辑顺序加载所述业务逻辑。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110117246.7A CN112988126A (zh) | 2021-01-28 | 2021-01-28 | Cdn业务定制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110117246.7A CN112988126A (zh) | 2021-01-28 | 2021-01-28 | Cdn业务定制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988126A true CN112988126A (zh) | 2021-06-18 |
Family
ID=76345673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110117246.7A Pending CN112988126A (zh) | 2021-01-28 | 2021-01-28 | Cdn业务定制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988126A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174690A (zh) * | 2022-09-08 | 2022-10-11 | 中国人民解放军国防科技大学 | 一种弱网或断网情况下大流量业务加速系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036977A (zh) * | 2012-12-13 | 2013-04-10 | 北京奇虎科技有限公司 | 基于内容分发网络的业务推送方法及推送系统 |
CN104123157A (zh) * | 2014-07-17 | 2014-10-29 | 北京京东尚科信息技术有限公司 | 一种移动终端的跨平台业务逻辑定制方法和装置 |
WO2016180284A1 (zh) * | 2015-05-08 | 2016-11-17 | 中兴通讯股份有限公司 | 服务节点分配方法、装置、cdn管理服务器及系统 |
CN108028853A (zh) * | 2015-09-11 | 2018-05-11 | 亚马逊科技公司 | 用于边缘位置处的可定制的事件触发计算的系统、方法和计算机可读存储介质 |
US10805652B1 (en) * | 2019-03-29 | 2020-10-13 | Amazon Technologies, Inc. | Stateful server-less multi-tenant computing at the edge |
-
2021
- 2021-01-28 CN CN202110117246.7A patent/CN112988126A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036977A (zh) * | 2012-12-13 | 2013-04-10 | 北京奇虎科技有限公司 | 基于内容分发网络的业务推送方法及推送系统 |
CN104123157A (zh) * | 2014-07-17 | 2014-10-29 | 北京京东尚科信息技术有限公司 | 一种移动终端的跨平台业务逻辑定制方法和装置 |
WO2016180284A1 (zh) * | 2015-05-08 | 2016-11-17 | 中兴通讯股份有限公司 | 服务节点分配方法、装置、cdn管理服务器及系统 |
CN108028853A (zh) * | 2015-09-11 | 2018-05-11 | 亚马逊科技公司 | 用于边缘位置处的可定制的事件触发计算的系统、方法和计算机可读存储介质 |
US10805652B1 (en) * | 2019-03-29 | 2020-10-13 | Amazon Technologies, Inc. | Stateful server-less multi-tenant computing at the edge |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174690A (zh) * | 2022-09-08 | 2022-10-11 | 中国人民解放军国防科技大学 | 一种弱网或断网情况下大流量业务加速系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000348B (zh) | 服务灰度发布的控制方法、装置、计算机设备 | |
CN109787830B (zh) | 灰度发布控制方法、装置、系统、电子设备及存储介质 | |
EP2021937B1 (en) | Techniques to perform gradual upgrades | |
WO2021184824A1 (zh) | 基于应用程序接口网关的前后端分离方法及相关设备 | |
US10430172B2 (en) | Re-configuration in cloud computing environments | |
US8443347B2 (en) | Translating declarative models | |
US20120233299A1 (en) | Managing configurations of system management agents in a distributed environment | |
CN108848092A (zh) | 基于调用链的微服务灰度发布的处理方法及装置 | |
WO2019205203A1 (zh) | 一种网页加载方法、服务器和网页加载系统 | |
US20050144619A1 (en) | System and method for configuring software for distribution | |
EP3584669B1 (en) | Webpage loading method, webpage loading system, and server | |
US20220326940A1 (en) | Service Upgrade Method, Apparatus, and System | |
CN112988378A (zh) | 业务处理方法及装置 | |
US8291406B2 (en) | Data imaging system and methods | |
FI120286B (fi) | Menetelmä ja laitejärjestely palvelin-asiakaslaite-ympäristön hallitsemiseksi | |
CN103647811A (zh) | 一种实现应用访问后台服务的方法和装置 | |
CN112988127A (zh) | Cdn业务定制方法及系统 | |
CN112988126A (zh) | Cdn业务定制方法及系统 | |
CN110442601A (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
CN112491940B (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN113779004A (zh) | 一种数据校验的方法和装置 | |
CN109375946B (zh) | 一种管理节点包管理器的组件包的方法及系统 | |
WO2008039117A1 (en) | A method and apparatus for controlling a proxy server | |
CN106936643B (zh) | 一种设备联动方法以及终端设备 | |
CN116974780A (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 |