CN110347751B - 管理cdn系统业务属性的方法及装置 - Google Patents
管理cdn系统业务属性的方法及装置 Download PDFInfo
- Publication number
- CN110347751B CN110347751B CN201711472015.8A CN201711472015A CN110347751B CN 110347751 B CN110347751 B CN 110347751B CN 201711472015 A CN201711472015 A CN 201711472015A CN 110347751 B CN110347751 B CN 110347751B
- Authority
- CN
- China
- Prior art keywords
- attribute
- service
- identifier
- binary bit
- value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种管理CDN系统业务属性的方法及装置,应用于关系型数据库;包括:建立各二进制位与各业务属性之间的映射关系;接收来自用户设备的属性设置请求,属性设置请求携带业务实例的标识及需设置业务属性的标识;根据各二进制位与各业务属性之间的映射关系、属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,属性值在相应二进制位的取值用于指示业务实例的业务属性;其中,业务实例为CDN用户、域名中至少一项。本申请至少能够提高CDN系统业务属性管理的效率并降低成本。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种管理CDN系统业务属性的方法及装置。
背景技术
内容分发网络(CDN,ContentDeliveryNetwork)系统需要管理账户、业务以及CDN节点的属性。而在业务刚开展时期,并不能将全部属性一次性确定下来,随着业务的发展也会有越来越多的特殊属性需要增加和管理。
相关技术中,通过扩展底层存储的数据结构的方式来增加属性。具体来说,CDN中的配置信息会保存在如Mysql、Oracle等关系数据库中,当需要增加新属性时,需要对关系数据库中底层的数据结构进行更改以增加新的属性字段,然后再对该属性字段进行维护。而数据库进行数据结构变更时会导致锁表,进而造成数据访问超时,并且随着数据量的增加,这种数据结构的变更执行会越来越慢且将会占用大量CDN系统资源,最终影响CDN的在线服务并提高CDN发生故障的概率。此外,上述方式在每次新增属性时都需要重新开发相应的程序,耗时费力,成本高。
发明内容
本申请旨在至少解决相关技术中的技术问题之一。
本申请提供一种管理CDN系统业务属性的方法及装置,至少能够提高CDN系统业务属性管理的效率并降低成本。
本申请采用如下技术方案。
一种管理CDN系统业务属性的方法,应用于关系型数据库;所述方法包括:
建立各二进制位与各业务属性之间的映射关系;
接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
其中,所述建立各二进制位与各业务属性之间的映射关系,包括:创建属性信息表,所述属性信息表中每条记录至少包含二进制位的标识、业务属性的标识及其对应关系。
其中,所述属性信息表中每条记录还包含:所述业务属性的描述信息。
其中,所述建立各二进制位与各业务属性之间的映射关系,包括如下之一或两项:
查询所述属性信息表中的记录判断是否有空闲的二进制位,有空闲的二进制位时调用添加接口在所述属性信息表新增一条记录,所述记录至少包含新增业务属性的标识、所述二进制位的标识及其对应关系;
查询所述属性信息表中是否存在需删除业务属性的记录,存在需删除业务属性的记录时调用删除接口将相应记录删除。
其中,所述根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,包括:根据所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,确定所述业务实例的属性值在相应二进制位上的取值,以得到所述属性值;在业务实例表添加一条记录,所述记录至少包含所述业务实例的标识、属性值及其对应关系。
其中,所述根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,包括:
根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,以得到所述属性值的当前数值;
根据所述业务实例的标识在已创建的业务实例表中查询到相应记录,并将所述记录中的属性值重配置为所述当前数值;
其中,所述业务实例表中各记录至少包含所述业务实例的标识、属性值及其对应关系。
其中,所述根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,包括如下之一或两项:
根据业务实例的标识、需开启业务属性的标识以及各二进制位与各业务属性之间的映射关系,通过按位或运算重置相应属性值在相应二进制位的取值为1;
根据业务实例的标识、需取消业务属性的标识以及各二进制位与各业务属性之间的映射关系,通过按位与运算重置业务实例表中相应记录的属性值在相应二进制位的取值为0;
其中,所述属性值的二进制位取值为0时表示所述业务实例不具有所述二进制位对应的业务属性;所述属性值的二进制位取值为1时表示所述业务实例具有所述二进制位对应的业务属性。
其中,所述接收来自用户设备的属性设置请求之前,还包括:根据所述映射关系向用户设备提供相应业务属性的设置选项,以便所述用户设备在所述设置选项的选择操作的触发下发送所述属性设置请求。
其中,所述为相应业务实例配置属性值之后,还包括:接收来自所述用户设备的查询请求,所述查询请求携带业务属性的标识;根据所述业务属性的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询具有相应业务属性的业务实例的信息;将具有相应业务属性的业务实例的信息提供给所述用户设备。
其中,所述为相应业务实例配置属性值之后,还包括:
接收来自所述用户设备的查询请求,所述查询请求携带业务实例的标识;
根据所述业务实例的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询相应业务实例的业务属性信息;
将相应业务实例的业务属性信息提供给所述用户设备。
一种管理CDN系统业务属性的装置,应用于关系型数据库;所述装置包括:
第一配置模块,用于建立各二进制位与各业务属性之间的映射关系;
接收模块,用于接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
第二配置模块,用于根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
其中,所述第一配置模块,具体用于创建属性信息表,所述属性信息表中每条记录至少包含二进制位的标识、业务属性的标识及其对应关系。
其中,还包括:提供模块,用于根据所述映射关系向用户设备提供相应业务属性的设置选项,以便所述用户设备在所述设置选项的选择操作的触发下发送所述属性设置请求。
其中,所述接收模块,还用于接收来自所述用户设备的查询请求,所述查询请求携带业务属性的标识;
还包括:第一查询模块,用于根据所述业务属性的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询具有相应业务属性的业务实例的信息;
所述提供模块,还用于将具有相应业务属性的业务实例的信息提供给所述用户设备。
其中,所述接收模块,还用于接收来自所述用户设备的查询请求,所述查询请求携带业务实例的标识;还包括:第二查询模块,用于根据所述业务实例的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询相应业务实例的业务属性信息;所述提供模块,还用于将相应业务实例的业务属性信息提供给所述用户设备。
一种服务器,包括:
存储有CDN系统业务属性管理程序的存储器;
处理器,配置为读取所述CDN系统业务属性管理程序以执行下述操作:
建立各二进制位与各业务属性之间的映射关系;
接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
本申请包括以下优点:
一方面,本发明实施例利用二进制位标识各业务属性,并可为相应业务实例配置属性值,通过该属性值各二进制位的取值指示该业务实例具有的业务属性,如此,不再需要对关系型数据库的底层业务数据进行更新,在CDN系统的某个CDN用户或域名每次扩展属性时,不再需要CDN运维人员开发相应程序,可大幅提升CDN系统业务属性管理的效率同时降低成本。
另一方面,本发明实施例可向用户设备提供相应业务属性的设置选项,CDN运维人员操作该设置选项即可实现业务属性的管理,不需要单独开发程序,可重用性很高,而且具有很好的通用性,从而大幅提升CDN系统业务属性管理的效率同时降低成本。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。
附图说明
图1为本申请技术方案的示例性场景示意图;
图2为本申请技术方案中CDN系统的示例性架构示意图;
图3为实施例一管理CDN系统业务属性的方法流程示意图;
图4为实施例一业务实例表、属性信息表及其关联关系的示例性图;
图5为实施例一种业务属性的新建界面示例图;
图6为实施例一用户设备将域名的设置选项进行展示的示例图;
图7为实施例一CDN运维人员对设置选项进行选择操作的示例图;
图8为实施例一用户设备获取业务实例的标识及其类别的界面示例图;
图9为实施例一业务属性相关的业务实例信息的展示示例图;
图10为实施例二管理CDN系统业务属性的装置的示例性结构示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个典型的配置中,客户端或服务器的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
如图1所示,为本申请技术方案的示例性场景示意图。其中,CDN用户可在CDN系统注册账户并配置其用户信息、域名信息、源站信息等,域名访问用户需要访问CDN用户的网站或应用时可向CDN系统发送域名访问请求,CDN系统通过调度CDN节点以最优路径向源站请求相应数据(比如,静态脚本、图片、音频、视频等)并提供给域名访问用户,对于网站的一些静态资源(比如,图片、图标、css文件、js文件等),CDN系统还可将其缓存在自身节点,在需要时直接从自身节点获取相应数据并提供给域名访问用户。这样,CDN用户通过CDN系统向域名访问用户提供域名访问服务,从而通过CDN实现网站/应用访问的加速、视频直播加速、视音频点播/大文件下载分发加速、移动应用加速等,尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。即CDN是通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。如图1所示,CDN运维人员可通过用户设备(如PC等)对CDN系统的业务实例及其业务属性进行管理。
如图2所示,为本申请技术方案中CDN系统的示例性架构示意图。如图2所示,CDN系统可以包括:多个CDN节点(CDN节点1,……,CDN节点n,n为不小于2的整数)和主控节点,各CDN节点在主控节点的调度下可向域名访问用户提供其请求的数据。其中,主控节点负责管理CDN系统的业务实例及其业务属性。这里,所述业务实例可以是CDN用户、域名等。主控节点可负责管理各CDN用户、各域名的相关信息,比如,CDN用户的用户信息、域名信息、源站信息及其使用的CDN资源等。
下面对本申请技术方案的各种实现方式进行详细说明。
实施例一
如图3所示,提供一种管理CDN系统业务属性的方法,应用于关系型数据库;所述方法可以包括:
步骤301,建立各二进制位与各业务属性之间的映射关系;
步骤302,接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
步骤303,根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性。
其中,所述业务实例可以为CDN用户、域名中至少一项。
本实施例中,利用二进制位标识各业务属性,并可为相应业务实例配置属性值,通过该属性值各二进制位的取值指示该业务实例具有的业务属性,如此,在CDN系统的某个CDN用户或域名每次扩展属性时,不再需要对关系型数据库的底层业务数据进行更新,CDN运维人员也不再需要开发相应程序,只需要简单的设置操作即可实现业务属性的扩展、删除等管理操作,不仅可大幅提升CDN系统业务属性管理的效率,降低管理成本,而且复用性高、通用性好。
本实施例中的上述方法可通过CDN系统中主控节点来实现。
本实施例中,建立各二进制位与各业务属性之间映射关系的方式可以有多种。一种实现方式中,建立各二进制位与各业务属性之间的映射关系,可以包括:创建属性信息表,所述属性信息表中每条记录至少包含二进制位的标识、业务属性的标识及其对应关系。优选的,所述属性信息表中还可以包含业务属性相关的其他信息。比如,属性信息表中每条记录还可以包括业务属性的描述信息。再比如,属性信息表中每条记录还可以包括业务属性的属性类型,即该业务属性对应的业务实例类别(比如,域名、CDN用户)。如图4所示的属性信息表为本实施例中属性信息表的一种示例性实现方式,其中,属性类型表示业务属性对应的业务实例类别,位数标示为二进制位的标识,属性ID为业务属性的标识,属性描述表示业务属性的描述信息,属性类型、属性描述均设置为varchar,位数标示、属性ID均设置为int。
本实施例中,建立各二进制位与各业务属性之间映射关系的过程中还包括:根据需要更新各二进制位与各业务属性之间的映射关系。一种实现方式中,所述建立各二进制位与各业务属性之间的映射关系,可以包括如下之一或两项:1)需要添加新业务属性时,可以查询所述属性信息表中的记录判断是否有空闲的二进制位,有空闲的二进制位时调用添加接口在所述属性信息表新增一条记录,所述记录至少包含新增业务属性的标识、所述二进制位的标识及其对应关系;2)需要删除已存在的业务属性时,可以查询所述属性信息表中是否存在需删除业务属性的记录,存在需删除业务属性的记录时调用删除接口将相应记录删除。
实际应用中,建立各二进制位与各业务属性之间映射关系的过程可以基于CDN运维人员的操作来执行。本实施例中,建立各二进制位与各业务属性之间映射关系的过程,可以包括:接收来自用户设备的业务属性更新请求,所述业属性更新请求至少携带业务属性的标识和二进制位标识;根据所述业务属性更新请求,更新相应二进制位与相应业务属性之间的映射关系。这里,所述业务属性更新请求中除了携带二进制位的标识、业务属性的标识之外,还可以包含如下之一或多项:业务属性的描述信息、属性类型(即对应哪一种业务实例)。
一种实现方式中,建立各二进制位与各业务属性之间映射关系的过程,可以包括:接收来自用户设备的业务属性新建请求,所述业务属性新建请求至少携带新增业务属性的标识和二进制位标识,通过查询所述属性信息表中的记录判断相应的二进制位是否空闲,在确认相应二进制位空闲时调用添加接口在所述属性信息表新增一条记录,所述记录至少包含所述新增业务属性的标识、所述二进制位的标识及其对应关系。这里,所述记录中还可以包括如下之一或多项:业务属性的描述信息、属性类型(即对应哪一种业务实例)。
一种实现方式中,建立各二进制位与各业务属性之间映射关系的过程,可以包括:接收来自用户设备的业务属性删除请求,所述业务属性删除请求至少携带需删除的业务属性的标识和二进制位标识,根据所述需删除的业务属性的标识查询到所述属性信息表中相应业务属性的记录,并将相应业务属性的记录删除。
实际应用中,可以向CDN运维人员侧的用户设备提供业务属性更新界面(比如,业务属性的新建界面、业务属性的删除界面等),用户可以通过在该业务属性更新界面上输入:二进制位标识、属性名称(即属性标识的一种形式)、属性描述、属性类型等信息。用户设备通过该业务属性更新界面获取CDN运维人员输入的信息,并生成上述的业务属性更新请求并发出。如图5所示,为业务属性的新建界面示例图。比如,可以预先配置添加接口AddInfo、删除接口DelInfo和查询接口GetAllInfo。
需要添加新业务属性M时,可以调用查询接口GetAllInfo查询当前是否有空闲的二进制位,在有空闲的二进制位(比如,查询到空闲的二进制位分别是第30位、第60位、第61位、第62位、第63位)时指定其中一个二进制位30(即第30位)用于标识该新业务属性,调用添加接口AddInfo在所述属性信息表中添加一条记录,该记录用于表示该新业务属性M与所述指定的二进制位30之间的映射关系。
需要删除业务属性B时,可以调用查询接口GetAllInfo获取包含所有业务属性相应映射关系的属性信息表,比如获取到如下信息:当前已有业务属性A、B、C、D,分别对应第1二进制位、第2二进制位、第3二进制位以及第4二进制位,此时,调用删除接口DelInfo并指定第2二进制位删除属性信息表中的相应记录。
一种实现方式中,查询接口GetAllInfo可以通过遍历属性信息表,返回所有当前已经存在的业务属性的相关信息。
本实施例中,为业务实例配置属性值的方式可以有多种。
一种实现方式中,为业务实例配置属性值可以包括:根据所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,确定所述业务实例的属性值在相应二进制位上的取值,以得到所述属性值;在业务实例表添加一条记录,所述记录至少包含所述业务实例的标识、属性值及其对应关系。
另一种实现方式中,为业务实例配置属性值可以包括:根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,以得到所述属性值的当前数值;根据所述业务实例的标识在已创建的业务实例表中查询到相应记录,并将所述记录中的属性值重配置为所述当前数值;其中,所述业务实例表中各记录至少包含所述业务实例的标识、属性值及其对应关系。
实际应用中,可以在配置属性值之前先查询业务实例表中是否存在相应业务实例的记录,如果不存在可以通过前一种实现方式配置该业务实例的属性值,如果存在则可以通过后一种实现方式配置该业务实例的属性值。
本实施例中,业务实例表用于记录各个业务实例对应的属性值,该属性值各二进制位的取值可指示相应业务实例是否具有相应的业务属性,也即该属性值的具体取值即可指示相应业务实例具有哪些业务属性。如此,需要设置某个业务实例的业务属性(比如,扩展新的业务属性、取消一些业务属性等)时只需要重置该业务实例对应属性值的具体取值即可。
一种实现方式中,可以根据业务实例的类型分别创建不同的业务实例表。比如,可以创建用于记录各域名属性值的域名表,还可以创建用于记录各CDN用户属性值的用户表。
本实施例中,业务实例表至少包含业务实例的标识、属性值及其对应关系。除此之外,业务实例表中还可以包含业务实例相关的其他信息,比如,用户表中除了包含作为用户标识的用户ID、属性值之外,还可以包含用户名、用户联系方式等信息,域名表中除了包含作为域名标识的域名ID、属性值之外,还可以包含域名HOST、用户ID等信息。如图4所示的域名表、用户表分别为本实施例中业务实例表的一种示例性实现方式。
本实施例中,业务实例表和属性信息表可进行关联。具体的,可以将各业务实例表中的属性值与属性信息表相关联,以便管理各业务实例的业务属性。如图4所示,域名表和用户表中各条记录的属性字段分别与属性信息表关联,通过图4所示域名表、用户表以及属性信息信息及其关联关系即可获知:域名www.a.com是保护域名,并且在海外。Tom是允许欠费的用户,Jack是白名单用户并且允许欠费。实际应用中,用户表和域名表中还可以包含其他信息,比如,域名表还可以包含域名使用的资源。
本实施例中,业务实例的属性值为整形。该属性值可以是如下表1所示的数据类型。比如,对于业务属性较多的业务实例可以设置其属性值为bigint,这样,bigint可以达到8字节,也就是可以具有64个二进制位,相应的可管理64个业务属性,可以满足CDN系统的大部分业务场景。再比如,比如采取int型的属性值,则可以支持4*8个业务属性。
表1
MySQL数据类型 | 含义(有符号) |
tinyint | 1字节,范围(-128~127) |
smallint | 2字节,范围(-32768~32767) |
mediumint | 3字节,范围(-8388608~8388607) |
int | 4字节,范围(-2147483648~2147483647) |
bigint | 8字节,范围(+-9.22*10的18次方) |
本实施例中,业务实例的属性值可以通过十进制数表示。在设置某个业务实例的业务属性时,可以先将该业务实例的属性值换算成二进制数,再重置该二进制数中相应二进制位上的值,最后换算回十进制数,此十进制数即为需重配置的属性值。
一种实现方式中,所述根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,可以包括如下之一或两项:1)根据业务实例的标识、需开启业务属性的标识以及各二进制位与各业务属性之间的映射关系,通过按位或运算重置相应属性值在相应二进制位的取值为1;2)根据业务实例的标识、需取消业务属性的标识以及各二进制位与各业务属性之间的映射关系,通过按位与运算重置业务实例表中相应记录的属性值在相应二进制位的取值为0;其中,所述属性值的二进制位取值为0时表示所述业务实例不具有所述二进制位对应的业务属性;所述属性值的二进制位取值为1时表示所述业务实例具有所述二进制位对应的业务属性。
比如,可以预先配置实例属性开启接口SetInfoById、实例属性取消接口UnsetInfoById和实例属性查询接口GetInfoById,其中,Id表示特定的二进制位。
需要开启业务实例P的业务属性X时,可以先调用实例属性查询接口GetInfoById查询已开启业务属性X的业务实例信息,如果该业务实例信息中不包含业务实例P,则继续调用查询接口GetAllInfo查询到业务属性X对应第20二进制位,再通过按位或运算将业务实例P的属性值第20二进制位设置为1,并重置业务实例表中业务实例P属性值的十进制取值。比如,二进制转化十进制要从右到左用每位去乘以2的相应次方。例如:二进制数1101转化成十进制可以是:1101.01=1*20+0*21+1*22+1*23=1+0+4+8=13。所以可以通过如下公式实现二进制数与十进制数之间的转换:abcd=d*20+c*21+b*22+a*23。
需要开启业务实例Q的业务属性Y时,可以先调用实例属性查询接口GetInfoById查询已开启业务属性Y的业务实例信息,如果该业务实例信息中包含业务实例Q,继续调用查询接口GetAllInfo查询到业务属性Y对应第2二进制位,则通过按位与运算将业务实例Q的属性值第2二进制位设置为0,并重置业务实例表中业务实例Q属性值的十进制取值。
本实施例中,需要对业务属性进行增加或删除时,可通过调用添加接口AddInfo、删除接口DelInfo和查询接口GetAllInfo来实现。需要对某个业务实例的业务属性进行管理(比如,扩展业务属性、或取消某些业务属性)时可通过调用实例属性开启接口SetInfoById、实例属性取消接口UnsetInfoById和实例属性查询接口GetInfoById来实现。这样,在对CDN系统的业务属性进行管理时,不再需要对数据库进行结构变更或者重新开发程序,可以达到一次开发多次使用的目的。
本实施例的上述方法,利用二进制位标记业务属性并通过属性值指示各业务实例具有的业务属性。本实施例的具体实现方式中,不仅可以通过更新某个或某些二进制位与业务属性之间的映射关系来将各二进制位配置成不同的业务属性,而且可以通过一个属性值维护一个业务实例的多种业务属性,能够避免增加业务属性时的数据结构变更,能够做到业务属性的良好扩展性,并且可重用性很高,具有很好的通用性。
本实施例中,可以通过获取用户设备的请求来对业务属性进行扩展、各业务实例的业务属性进行设置。
一种实现方式中,所述接收来自用户设备的属性设置请求之前,还可以包括:根据所述映射关系向用户设备提供相应业务属性的设置选项,以便所述用户设备在所述设置选项的选择操作的触发下发送所述属性设置请求。如图6所示,用户设备将域名的设置选项进行展示的示例图,如图7所示为CDN运维人员对设置选项进行选择操作的示例图。比如,图6中展示了域名的所有可设置业务属性的标识,即:swiftserve、highwinds、allowVIPQuery、IcpWhiteDomain、保护域名、欠费下线域名、Akamai、阿里云gc6/gc7大客户域名。图7中,CDN运维人员输入域名“kongjianhtttps.cdnpe.com”并选中“白名单”,点击确认之后,用户设备即被触发发出属性设置请求,该属性设置请求携带“白名单”和域名“kongjianhtttps.cdnpe.com”,“白名单”为业务属性的标识,“kongjianhtttps.cdnpe.com”为域名标识。实际应用中,用户设备可通过图8所示的界面获取业务实例的标识及其类别,根据业务实例的标识及其类别,展示相应的设置选项界面。比如,在图8中获取业务实例的标识为“kongjianhtttps.cdnpe.com”或业务实例的类别为“域名”时,跳转到图6所示的域名的设置选项界面。
本实施例中,还可根据用户设备的请求即CDN运维人员的操作查询各个业务属性对应的业务实例信息,并提供给用户设备供CDN运维人员查看。一种实现方式中,所述为相应业务实例配置属性值之后,还可以包括:接收来自所述用户设备的查询请求,所述查询请求携带业务属性的标识;根据所述业务属性的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询具有相应业务属性的业务实例的信息;将具有相应业务属性的业务实例的信息提供给所述用户设备。如图9所示,为用户设备展示的业务属性Akamai的业务实例信息的示例图。
一种实现方式中,所述为相应业务实例配置属性值之后,还可以包括:接收来自所述用户设备的查询请求,所述查询请求携带业务实例的标识;根据所述业务实例的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询相应业务实例的业务属性信息;将相应业务实例的业务属性信息提供给所述用户设备。
本实施例中,通过向用户设备提供操作界面,可使CDN运维人员通过简易操作即可对业务实例的业务属性进行管理,不需要对底层业务数据库进行更新,设置操作更灵活、更简洁、更直观,且效率高、成本低。
需要说明的是,本实施例中的用户设备是指CDN运维人员为管理CDN系统业务属性而使用的设备。实际应用中,该用户设备可以是任何支持上文所述方法中相应功能的电子设备,比如,可以是如手机、平板电脑、笔记本电脑、掌上电脑、可穿戴设备等移动终端,或者是台式计算机等固定终端。
实施例二
提供一种管理CDN系统业务属性的装置,如图10所示,可应用于关系型数据库;所述装置包括:
第一配置模块91,用于建立各二进制位与各业务属性之间的映射关系;
接收模块92,用于接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
第二配置模块93,用于根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
一种实现方式中,所述第一配置模块91,具体可用于创建属性信息表,所述属性信息表中每条记录至少包含二进制位的标识、业务属性的标识及其对应关系。
一种实现方式中,所述第一配置模块91,具体可用于执行如下之一或两项:1)查询所述属性信息表中的记录判断是否有空闲的二进制位,有空闲的二进制位时调用添加接口在所述属性信息表新增一条记录,所述记录至少包含新增业务属性的标识、所述二进制位的标识及其对应关系;2)查询所述属性信息表中是否存在需删除业务属性的记录,存在需删除业务属性的记录时调用删除接口将相应记录删除。
一种实现方式中,所述第二配置模块93,具体可用于:根据所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,确定所述业务实例的属性值在相应二进制位上的取值,以得到所述属性值;在业务实例表添加一条记录,所述记录至少包含所述业务实例的标识、属性值及其对应关系。
一种实现方式中,所述第二配置模块93,具体可用于:根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,以得到所述属性值的当前数值;根据所述业务实例的标识在已创建的业务实例表中查询到相应记录,并将所述记录中的属性值重配置为所述当前数值;其中,所述业务实例表中各记录至少包含所述业务实例的标识、属性值及其对应关系。
一种实现方式中,上述装置还可以包括:提供模块94,用于根据所述映射关系向用户设备提供相应业务属性的设置选项,以便所述用户设备在所述设置选项的选择操作的触发下发送所述属性设置请求。
一种实现方式中,所述接收模块91,还可用于接收来自所述用户设备的查询请求,所述查询请求携带业务属性的标识;上述装置还可以包括:第一查询模块95,可用于根据所述业务属性的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询具有相应业务属性的业务实例的信息;所述提供模块94,还可用于将具有相应业务属性的业务实例的信息提供给所述用户设备。
一种实现方式中,所述接收模块91,还可用于接收来自所述用户设备的查询请求,所述查询请求携带业务实例的标识;上述装置还可以包括:第二查询模块96,用于根据所述业务实例的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询相应业务实例的业务属性信息;所述提供模块94,还可用于将相应业务实例的业务属性信息提供给所述用户设备。
本实施例中,上述装置中第一配置模块91、接收模块92、第二配置模块93、提供模块94、第一查询模块95、第二查询模块96分别可以是软件、硬件或两者的结合。比如,第一查询模块95可以通过预配置的查询接口(如上文实施例一所述查询接口GetAllInfo)实现,第二查询模块96可以通过预配置的查询接口(如上文实施例所述实例属性查询接口GetInfoById)实现。
本实施例中,管理CDN系统业务属性的装置可设置于CDN系统的主控节点。
本实施例的其他技术细节可参照实施例一。
实施例三
一种服务器,包括:
存储有CDN系统业务属性管理程序的存储器;
处理器,配置为读取所述CDN系统业务属性管理程序以执行下述操作:
建立各二进制位与各业务属性之间的映射关系;
接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
实际应用中,本实施例的服务器可以实现为CDN系统中的主控节点。
本实施例的其他技术细节可参照实施例一。
实施例四
一种计算机可读存储介质,所述计算机可读存储介质上存储有CDN系统业务属性管理程序,所述CDN系统业务属性管理程序被处理器执行时实现如实施例一所述管理CDN系统业务属性的方法的步骤。
本实施例的其它实现细节可参考实施例一。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。
Claims (16)
1.一种管理内容分发网络CDN系统业务属性的方法,其特征在于,应用于关系型数据库;所述方法包括:
建立各二进制位与各业务属性之间的映射关系;
接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
2.根据权利要求1所述的方法,其特征在于,所述建立各二进制位与各业务属性之间的映射关系,包括:
创建属性信息表,所述属性信息表中每条记录至少包含二进制位的标识、业务属性的标识及其对应关系。
3.根据权利要求2所述的方法,其特征在于,
所述属性信息表中每条记录还包含:所述业务属性的描述信息。
4.根据权利要求2所述的方法,其特征在于,所述建立各二进制位与各业务属性之间的映射关系,包括如下之一或两项:
查询所述属性信息表中的记录判断是否有空闲的二进制位,有空闲的二进制位时调用添加接口在所述属性信息表新增一条记录,所述记录至少包含新增业务属性的标识、所述二进制位的标识及其对应关系;
查询所述属性信息表中是否存在需删除业务属性的记录,存在需删除业务属性的记录时调用删除接口将相应记录删除。
5.根据权利要求1所述的方法,其特征在于,所述根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,包括:
根据所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,确定所述业务实例的属性值在相应二进制位上的取值,以得到所述属性值;
在业务实例表添加一条记录,所述记录至少包含所述业务实例的标识、属性值及其对应关系。
6.根据权利要求1所述的方法,其特征在于,所述根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,包括:
根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,以得到所述属性值的当前数值;
根据所述业务实例的标识在已创建的业务实例表中查询到相应记录,并将所述记录中的属性值重配置为所述当前数值;
其中,所述业务实例表中各记录至少包含所述业务实例的标识、属性值及其对应关系。
7.根据权利要求6所述的方法,其特征在于,所述根据所述业务实例的标识、所述需设置业务属性的标识、以及各二进制位与各业务属性之间的映射关系,重置相应属性值在相应二进制位上的取值,包括如下之一或两项:
根据业务实例的标识、需开启业务属性的标识以及各二进制位与各业务属性之间的映射关系,通过按位或运算重置相应属性值在相应二进制位的取值为1;
根据业务实例的标识、需取消业务属性的标识以及各二进制位与各业务属性之间的映射关系,通过按位与运算重置业务实例表中相应记录的属性值在相应二进制位的取值为0;
其中,所述属性值的二进制位取值为0时表示所述业务实例不具有所述二进制位对应的业务属性;所述属性值的二进制位取值为1时表示所述业务实例具有所述二进制位对应的业务属性。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述接收来自用户设备的属性设置请求之前,还包括:
根据所述映射关系向用户设备提供相应业务属性的设置选项,以便所述用户设备在所述设置选项的选择操作的触发下发送所述属性设置请求。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述为相应业务实例配置属性值之后,还包括:
接收来自所述用户设备的查询请求,所述查询请求携带业务属性的标识;
根据所述业务属性的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询具有相应业务属性的业务实例的信息;
将具有相应业务属性的业务实例的信息提供给所述用户设备。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述为相应业务实例配置属性值之后,还包括:
接收来自所述用户设备的查询请求,所述查询请求携带业务实例的标识;
根据所述业务实例的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询相应业务实例的业务属性信息;
将相应业务实例的业务属性信息提供给所述用户设备。
11.一种管理内容分发网络CDN系统业务属性的装置,其特征在于,应用于关系型数据库;所述装置包括:
第一配置模块,用于建立各二进制位与各业务属性之间的映射关系;
接收模块,用于接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
第二配置模块,用于根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
12.根据权利要求11所述的装置,其特征在于,
所述第一配置模块,具体用于创建属性信息表,所述属性信息表中每条记录至少包含二进制位的标识、业务属性的标识及其对应关系。
13.根据权利要求11或12所述的装置,其特征在于,
还包括:提供模块,用于根据所述映射关系向用户设备提供相应业务属性的设置选项,以便所述用户设备在所述设置选项的选择操作的触发下发送所述属性设置请求。
14.根据权利要求13所述的装置,其特征在于,
所述接收模块,还用于接收来自所述用户设备的查询请求,所述查询请求携带业务属性的标识;
还包括:第一查询模块,用于根据所述业务属性的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询具有相应业务属性的业务实例的信息;
所述提供模块,还用于将具有相应业务属性的业务实例的信息提供给所述用户设备。
15.根据权利要求13所述的装置,其特征在于,
所述接收模块,还用于接收来自所述用户设备的查询请求,所述查询请求携带业务实例的标识;
还包括:第二查询模块,用于根据所述业务实例的标识、各二进制位与各业务属性之间的映射关系、以及各业务实例的属性值,查询相应业务实例的业务属性信息;
所述提供模块,还用于将相应业务实例的业务属性信息提供给所述用户设备。
16.一种服务器,包括:
存储有内容分发网络CDN系统业务属性管理程序的存储器;
处理器,配置为读取所述CDN系统业务属性管理程序以执行下述操作:
建立各二进制位与各业务属性之间的映射关系;
接收来自用户设备的属性设置请求,所述属性设置请求携带业务实例的标识及需设置业务属性的标识;
根据各二进制位与各业务属性之间的映射关系、所述属性设置请求携带的业务实例的标识及需设置业务属性的标识,为相应业务实例配置属性值,所述属性值在相应二进制位的取值用于指示所述业务实例的所述业务属性;
其中,所述业务实例为CDN用户、域名中至少一项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711472015.8A CN110347751B (zh) | 2017-12-29 | 2017-12-29 | 管理cdn系统业务属性的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711472015.8A CN110347751B (zh) | 2017-12-29 | 2017-12-29 | 管理cdn系统业务属性的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347751A CN110347751A (zh) | 2019-10-18 |
CN110347751B true CN110347751B (zh) | 2023-07-25 |
Family
ID=68172299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711472015.8A Active CN110347751B (zh) | 2017-12-29 | 2017-12-29 | 管理cdn系统业务属性的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347751B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112312148B (zh) * | 2020-09-29 | 2023-02-28 | 北京达佳互联信息技术有限公司 | 业务功能开启方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073940B1 (en) * | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
CN103024001A (zh) * | 2012-11-30 | 2013-04-03 | 中兴通讯股份有限公司 | 一种业务调度方法与装置及融合设备 |
CN103365883A (zh) * | 2012-03-30 | 2013-10-23 | 华为技术有限公司 | 数据的索引查询方法、装置及系统 |
CN107332853A (zh) * | 2017-07-12 | 2017-11-07 | 浙江核聚通信技术有限公司 | 混合cdn视频流分发网络的方法和系统 |
-
2017
- 2017-12-29 CN CN201711472015.8A patent/CN110347751B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073940B1 (en) * | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
CN103365883A (zh) * | 2012-03-30 | 2013-10-23 | 华为技术有限公司 | 数据的索引查询方法、装置及系统 |
CN103024001A (zh) * | 2012-11-30 | 2013-04-03 | 中兴通讯股份有限公司 | 一种业务调度方法与装置及融合设备 |
CN107332853A (zh) * | 2017-07-12 | 2017-11-07 | 浙江核聚通信技术有限公司 | 混合cdn视频流分发网络的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110347751A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9996565B2 (en) | Managing an index of a table of a database | |
CN111240763B (zh) | 配置更新方法、装置、设备及存储介质 | |
US10291704B2 (en) | Networked solutions integration using a cloud business object broker | |
US8255420B2 (en) | Distributed storage | |
CN109714188B (zh) | 基于Zookeeper的配置数据管理方法、设备和存储介质 | |
US9495402B2 (en) | Managing a table of a database | |
CN110019080B (zh) | 数据访问方法和装置 | |
US11151098B2 (en) | Enabling multi-tenant access to respective isolated data sets organized using different application schemas | |
CN107103011B (zh) | 终端数据搜索的实现方法和装置 | |
CN110555015B (zh) | 数据库实体管理方法、装置、电子设备及存储介质 | |
CN108614976A (zh) | 权限配置方法、装置及存储介质 | |
CN111381820A (zh) | 一种基于gui自动生成api的方法及装置 | |
CN110457307B (zh) | 元数据管理系统、用户集群创建方法、装置、设备和介质 | |
US9300522B2 (en) | Information technology asset management | |
CN110888847B (zh) | 一种回收站系统及文件回收方法 | |
US11303606B1 (en) | Hashing name resolution requests according to an identified routing policy | |
CN113391875A (zh) | 容器部署方法与装置 | |
US10289617B2 (en) | Accessing on-premise and off-premise datastores that are organized using different application schemas | |
CN110347751B (zh) | 管理cdn系统业务属性的方法及装置 | |
JP2021103584A (ja) | 磁気ディスクの管理方法、磁気ディスクの管理装置、電子機器、コンピュータプログラムおよびコンピュータ可読記憶媒体 | |
CN111045928A (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
US10114864B1 (en) | List element query support and processing | |
CN112783842B (zh) | 一种日志收集方法和装置 | |
CN111459907B (zh) | 通过模型配置主数据的方法、系统及存储介质 | |
CN103164410A (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 |