CN110309223B - 选择数据节点的方法、系统以及相关设备 - Google Patents
选择数据节点的方法、系统以及相关设备 Download PDFInfo
- Publication number
- CN110309223B CN110309223B CN201810189516.3A CN201810189516A CN110309223B CN 110309223 B CN110309223 B CN 110309223B CN 201810189516 A CN201810189516 A CN 201810189516A CN 110309223 B CN110309223 B CN 110309223B
- Authority
- CN
- China
- Prior art keywords
- client
- upper limit
- clients
- devices
- data
- 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/22—Indexing; Data structures therefor; Storage structures
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种为客户选择归属数据节点的方法、系统和相关设备,该方法包括获取数据库应用系统多个数据节点上所述客户的同类客户信息,根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点的同类客户数量、剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点,用于存储所述客户的所有设备数据。该选择归属数据节点的方法提高了所述数据库应用系统多个数据节点之间的数据量平衡的持久性,即随着不同类别客户数量的增多、每个客户设备数量的增多,所述数据库应用系统多个数据节点之间的存储数据量仍趋于均衡,从而可以提高资源利用率,减少数据迁移,降低维护成本。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种选择数据节点的方法、系统和相关设备。
背景技术
物联网(Internet of Things,IOT)业务的高并发(High Concurrency)、永远在线(Always Online)等业务特征,对计费系统的系统架构和处理能力提出很大的挑战。为了使得同一客户的多设备并发使用数据业务(例如,同一客户的所有设备实时共享该客户订购的数据流量套餐),需要将该客户的所有设备数据集中存储在同一个数据节点(如内存数据库设备)中,以保证并发处理的低时延、事务一致性和监控精确性等。为叙述方便,本申请将用于存储客户的所有设备数据的数据节点称为客户的归属数据节点。
由于每个数据节点空间有限,实际业务系统中往往需要多个数据节点。在为客户开户时,现有技术将数据库应用系统中剩余空间最大的数据节点作为该客户的归属数据节点。在不同客户的设备规模、设备数量发展速度相差较大的IOT业务背景下,随着客户数量、设备数量增多时,现有技术的这种选择归属数据节点的做法容易导致不同数据节点之间的存储数据量失衡,从而形成单点瓶颈,进而导致因进行数据迁移而带来的业务中断或维护成本的上升。
发明内容
本发明要解决的技术问题是,如何在数据库应用系统多个数据节点中为客户选择归属数据节点,使得所述数据库应用系统多个数据节点之间的存储数据量能保持均衡。鉴于此,有必要提供一种为客户选择数据节点的方法,使得客户业务发展过程中,数据库应用系统中多个数据节点之间的存储数据量能保持均衡。
第一方面,本申请实施例提供了一种选择数据节点的方法,应用于管理设备,所述管理设备管理多个数据节点,该方法包括:接收数据节点分配请求,所述数据节点分配请求中包含客户信息,所述客户信息包含所述客户的合同设备数量上限,所述合同设备数量上限为所述客户预先约定的最大设备数量;获取所述多个数据节点中每个数据节点上的剩余空间和所述多个数据节点中每个数据节点上的所有同类客户的信息,每个所述同类客户的客户信息与所述客户的客户信息符合相同的客户类别标准,所述客户类别标准至少包含合同设备数量上限要求;根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点上的所有同类客户的信息和剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点,所述归属数据节点用于存储所述客户的所有设备数据。
该方法使得管理设备可以根据客户的合同设备数量上限、同类客户在各个数据节点的分布情况,在数据库应用系统多个数据节点中为所述客户确定出归属数据节点,这可以提高数据库应用系统中多个数据节点之间的存储数据量平衡的持久性,即随着不同类型客户的增多、客户业务的发展,所述多个数据节点的存储数据量仍然是趋于平衡的。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点上的所有同类客户的信息和剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点包括:在所述多个数据节点中选择出剩余空间可容纳所述客户在设备数量到达合同设备数量上限或者运营设备数量上限时的所有设备数据、并且包含同类客户数量小于同类客户数阈值的数据节点,得到第一候选数据节点集合;在所述第一候选数据节点集合中确定出所述客户的归属数据节点;其中,所述管理设备根据所述客户的合同设备数量上限确定出所述运营设备数量上限,所述管理设备根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值。
该方案还使得数据管理节点可以通过预测客户的运营设备数量上限,并以所述运营设备数量上限作为选择归属数据节点剩余空间是否足够的标准,可以使得运营商进一步提高其资源利用率,如实现“超售”等目的。
在一个可能的方案中,所述管理设备在所述第一候选数据节点集合中确定出所述客户的归属数据节点包括:在所述第一候选数据节点集合中确定剩余空间最小的数据节点、或者负荷最轻的数据节点、或者同类客户数量最小的数据节点为所述客户的归属数据节点。
在一个可能的方案中,所述管理设备根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值包括:计算所述多个数据节点中所包含的所有同类客户总数;基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值。
在一个可能的方案中,所述管理设备基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值包括:用所述同类客户总数除以所述多个数据节点的节点数量,得到平均同类客户数;基于所述平均同类客户数确定出所述同类客户数阈值。
在一个可能的方案中,所述管理设备基于所述平均同类客户数确定出所述同类客户数阈值包括:对所述平均同类客户数进行取整得到所述同类客户数阈值,或者用预设的系数乘以所述平均同类客户数得到所述同类客户数阈值。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限包括:获取所述多个数据节点中每个数据节点中的所有同类客户的实际设备数量历史记录;根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限包括:根据所述同类客户的实际设备数量历史记录得到所述同类客户的实际设备数量变化趋势;根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限包括:根据所述变化趋势预测出所述同类客户稳定的设备数量,所述稳定的设备数量为在预设时间周期内不同时间单位之间变化量小于预设值的所述同类客户的设备数量;根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限包括:用所述稳定的设备数量除以所述同类客户的合同设备数量上限,得到第一收敛系数;用所述第一收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限包括:用所述稳定的设备数量除以所述同类客户的合同设备数量上限,得到第一收敛系数;在所述第一收敛系数乘以所述客户的合同设备数量上限得到的积加上预设的裕量值得得到所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限包括:获取预设的同类客户的设备数量上限;基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限包括:用所述预设的同类客户的设备数量上限除以所述同类客户的合同设备数量上限得到第二收敛系数;用所述第二收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
在一个可能的方案中,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限包括:获取针对所述客户所属的客户类别预设的第三收敛系数;基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限。
在一个可能的方案中,所述管理设备基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限包括:用所述第三收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
在一个可能的方案中,所述客户信息还包含所述客户的行业信息,所述客户类别标准还包含行业要求。
在一个可能的方案中,所述客户信息还包含所述客户的地域信息,所述客户类别标准还包含地域要求。
第二方面,本申请实施例提供了一种管理设备,包括处理器和存储器,其中:所述存储器,用于存储程序指令;所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述管理设备执行上述第一方面所述的选择数据节点的方法。
第三方面,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的选择数据节点的方法。
附图说明
图1为本申请实施例提供的数据库应用系统的架构示意图;
图2为本申请实施例提供的管理设备选择数据节点的方法流程图;
图3为本申请实施例提供的CRM与OCS系统架构示意图;
图4A为本申请实施例提供的CRM向OCS注册物联网客户的方法流程图;
图4B为本申请实施例提供的业务管理节点确定归属数据节点的方法流程图;
图5为本申请实施例提供的管理设备的硬件结构图;
图6为本申请实施例提供的管理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一
图1为本申请实施例提供的数据库应用系统的架构示意图,其中包括管理设备101、数据节点102、数据节点103、数据节点104,其功能分别描述如下:
管理设备101:为数据库应用系统中多个数据节点的管理设备,用于接收数据节点分配请求(例如从客户管理系统接收该请求),根据所述数据节点分配请求中的客户信息,在确保所述多个数据节点之间数据量能保持均衡的前提下,从数据库应用系统中多个数据节点(如数据节点102~104)中选择出所述客户的归属数据节点,所述归属数据节点用于存储所述客户的所有设备数据。对于IOT客户而言,可能会有上百万个IOT设备,每个IOT设备的业务数据都要存储在归属数据节点中,以满足性能要求。管理设备可以是计费系统中的业务管理点设备(Business Management Point,BMP)。
数据节点102:为数据库应用系统中的数据库设备,其存储容量有上限,可以是内存数据库(也就是将数据放在内存中直接进行操作的数据库,数据的存取速度相对较快),也可以是磁盘数据库(也就是将数据放在磁盘中进行操作的数据库,数据的存取速度相对较慢),用于存储客户自身信息及客户的所有设备数据(如IOT设备数据)。随着客户的增多、客户业务的扩大,数据节点的剩余存储空间将不断减小,为客户选择归属数据节点时,需要考虑客户的运营设备数量上限及同类客户在多个数据节点的分布情况,具体选择方法参见本申请后续实施例。业务节点102可以是计费系统中的(Convergent Billing PointMemory Database,CBPMDB),可以是关系型数据库。
数据节点103:与数据节点102类似。
数据节点104:与数据节点102类似。
需要说明的是,图1中仅包含三个数据节点,实际部署中可以有更多的数据节点。
下面进一步通过实施例说明基于图1所示数据库应用系统架构的选择数据节点的方案。
实施例二
图2为本申请实施例提供的管理设备选择数据节点的方法流程图,包括如下步骤:
步骤201:管理设备接收数据节点分配请求,所述数据节点分配请求中包含客户信息,所述客户信息包含所述客户的合同设备数量上限,所述合同设备数量上限为所述客户预先约定的最大设备数量。
具体地,管理设备可以从CRM系统接收所述数据节点分配请求。
具体地,所述合同设备数量上限可以从所述客户的开户合同中提取。一般开户合同中会约定客户可以开通或者投入使用的设备最大数量。根据客户的业务运营情况,客户的设备数量可能超过这个最大数量,也可能远远地低于这个最大数量。
可选地,所述客户信息还可以包含行业信息和地域信息,以用于判断同类客户,具体参见后续步骤。
步骤202:所述管理设备获取所述多个数据节点中每个数据节点上的剩余空间和所述多个数据节点中每个数据节点上的所有同类客户的信息,每个所述同类客户的客户信息与所述客户的客户信息符合相同的客户类别标准,所述客户类别标准至少包含合同设备数量上限要求。
例如,某个客户类别的标准可以是“合同设备数量上限在100万-150万之间的客户”,其中关于合同设备数量上限的要求,可以是一个具体数字,也可以是一个数字范围。
可选地,所述客户类别标准还可以包含行业要求,例如,某个客户类别标准可以定为“设备数量在100万、且为共享单车行业的客户”。其中关于行业的要求,可以是具体行业名称,也可以是行业范围,行业范围可以采用字面类似的表达方式,例如,可以用“抄表行业”表示一个行业范围,涵盖“煤气抄表行业”与“电力抄表行业”。
可选地,所述客户类别标准还可以包含地域要求。例如,某个客户类别标准可以定为“设备数量在500万、且为上海市的客户”。其中关于地域的要求,可以是具体的省份、城市等行政区域地名,也可以是地区名称,如“华东地区”、“华北地区”、“西海岸”、“东海岸”等。
所述客户类别标准可以同时包含合同设备数量上限要求、行业要求和地域要求。例如,某个客户类别标准可以为“设备数量在2000万、且为共享单车行业、且在华东地区的客户”。
所述客户类别标准还可以有更多的要求,还可以根据业务需要,添加其他有利于辨识两个客户属于同类客户的信息要求,这里不再赘述。
可选地,为提高选择效率,所述管理设备可以周期性统计所述多个数据节点的空间使用情况、包含的客户设备数量等信息,并缓存所述统计结果,以便在后续确定归属数据节点的时候使用。
步骤203:所述管理设备根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点上的所有同类客户的信息和剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点,所述归属数据节点用于存储所述客户的所有设备数据。
具体地,所述管理设备可以先在所述多个数据节点中选择出剩余空间可容纳所述客户在设备数量到达合同设备数量上限或者运营设备数量上限时的所有设备数据、并且包含同类客户数量小于同类客户数阈值的数据节点,得到第一候选数据节点集合;再从所述第一候选数据节点集合中确定出所述客户的归属数据节点。其中,所述管理设备根据所述客户的合同设备数量上限确定出所述运营设备数量上限,所述管理设备根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值。
具体地,所述管理设备在所述第一候选数据节点集合中确定出所述客户的归属数据节点可以是:在所述第一候选数据节点集合中确定剩余空间最小的数据节点、或者负荷最轻的数据节点、或者同类客户数量最小的数据节点为所述客户的归属数据节点。
可选地,所述管理设备可以根据运营商预设的参数,决定在所述第一候选数据节点中是选择剩余空间最小的数据节点、还是选择同类客户数量最小的数据节点、或者是负荷最轻的数据节点。
具体地,所述管理设备根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值可以是:先计算所述多个数据节点中所包含的所有同类客户总数;再基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值。
具体地,所述管理设备基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值可以是:先用所述同类客户总数除以所述多个数据节点的节点数量,得到平均同类客户数;再基于所述平均同类客户数确定出所述同类客户数阈值。
具体地,所述管理设备基于所述平均同类客户数确定出所述同类客户数阈值可以是:对所述平均同类客户数进行取整得到所述同类客户数阈值,或者用预设的系数乘以所述平均同类客户数得到所述同类客户数阈值。
具体地,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限可以是:先获取所述多个数据节点中每个数据节点中的所有同类客户的实际设备数量历史记录;再根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限。
具体地,所述管理设备根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限可以是:先根据所述同类客户的实际设备数量历史记录得到所述同类客户的实际设备数量变化趋势;再根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限。
具体地,所述管理设备根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限可以是:先根据所述变化趋势预测出所述同类客户稳定的设备数量,所述稳定的设备数量为在预设时间周期内不同时间单位之间变化量小于预设值的所述同类客户的设备数量;再根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限。
具体地,所述管理设备根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限包括:用所述稳定的设备数量除以所述同类客户的合同设备数量上限,得到第一收敛系数;再用所述第一收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
具体地,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限还可以是:先获取预设的同类客户的设备数量上限;再基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限。
具体地,所述管理设备基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限可以是:先用所述预设的同类客户的设备数量上限除以所述同类客户的合同设备数量上限得到第二收敛系数;再用所述第二收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
具体地,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限还可以是:先获取针对所述客户所属的客户类别预设的第三收敛系数;再基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限。
具体地,所述管理设备基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限可以是:用所述第三收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
上述实施例二使得管理设备可以根据客户的合同设备数量上限、同类客户在各个数据节点的分布情况,在数据库应用系统多个数据节点中为所述客户确定出归属数据节点,这可以提高数据库应用系统中多个数据节点之间的存储数据量平衡的持久性,即随着不同类型客户的增多、客户业务的发展,所述多个数据节点的存储数据量仍然是趋于平衡的。
下面以客户关系管理(Customer Relationship Management,CRM)系统向在线计费(Online Charging System,OCS)注册IOT客户过程为例(其中要为IOT客户选择归属数据节点),进一步阐述上述技术方案。
实施例三
图3为本申请实施例提供的CRM与OCS系统架构示意图,其中包括客户关系管理系统(Customer Relationship System,CRM)301、业务管理节点(Business ManagementPoint,BMP)302、系统数据库(System Database,SYSDB)303、融合计费数据节点(Convergent Billing Point Memory Database,CBPMDB)304、CBPMDB 305、CBPMDB 306、融合计费应用节点(Convergent Billing Point Application,CBPAPP)307、融合计费路由分发节点(Convergent Billing Point Adapter,CBPAdapter)308、网关GPRS支撑节点(Gateway GPRS Support Node,GGSN)309、IOT设备310,其功能分别描述如下:
CRM 301:用于向OCS系统注册IOT客户、维护客户资料。
BMP 302:用于接收CRM 301发送的IOT客户注册请求,在确保数据节点数据量均衡的前提下,为所述IOT客户分配归属数据节点(CBPMDB)。图3中BMP只有一个,实际部署中可以有多个BMP,并且多个BMP可以连接到一个负载均衡器,CRM的注册请求可以通过负载均衡器分发到每个BMP处理。
SYSDB 303:用于存储客户的路由信息(即用于确定客户的设备数据存储在哪个数据节点的信息)、每个数据节点(CBPMDB)上的统计信息,如每个数据节点上的IOT客户数量、IOT客户的设备数据量、剩余数据空间等。
CBPMDB 304:可以为关系型数据库(如Oracle数据库),用于存储IOT客户的所有设备的数据,如每一个设备的数据流量数据等。
为了支撑同一客户的多个设备并发使用数据业务,客户的所有设备能实时共享客户订购的业务数据流量套餐或者数据流量池,需要将该客户和设备的所有数据集中存储在同一个数据节点(CBPMDB)上,以满足高并发处理的低时延、事务一致性、监控精确性等需求。为叙述方便,该数据节点也称为客户的归属数据节点。
针对单个数据节点,业界的主流关系型数据库都存在单节点容量上限(常见单节点上限为2000万设备)。为了保证IOT客户下百万级设备数据存储在一个数据节点上,同时保证系统中不同数据节点存储的数据量是均衡的,在IOT客户开户时必然要为该客户合理选择归属数据节点,具体选择方法参见本申请后续实施例。
CBPMDB 305:与CBPMDB 304类似。
CBPMDB 306:与CBPMDB 304类似。
CBPAPP 307:用于根据IOT设备309发出的业务请求(如计费请求),到IOT设备309对应的客户的归属数据节点(CBPMDB)访问(读取、写入、改写等)IOT设备309的数据。图3中只有一个CBPAPP,实际部署中,可以有多个CBPAPP,并且每个CBPAPP都连接到CBPAdapter。
CBPAdapter 308:用于将IOT设备的业务请求(如计费请求)路由到其中一个CBPAPP。CBPAdapter 308可以从SYSDB 303中读取客户的路由信息,以决定将业务请求路由到那个CBPAPP。
GGSN 309:用于提供数据包在通用分组无线系统(General Packet RadioService,GPRS)/通用移动通讯系统(Universal Mobile Telecommunications System,UMTS)网和外部数据网之间的路由和封装,例如,可以用于将IOT设备309使用到的数据流量请求上报给CBPAdapter 308,由CBPAdapter 308路由分发给CBPAPP进行计费控制。
IOT设备310:为IOT客户的设备,可以是手机终端,也可以是物联网终端。图3中仅显示一个IOT设备,实际部署中可以有更多的IOT设备。
下面进一步通过实施例说明基于图3所示CRM与OCS系统架构的选择归属数据节点的方案。
实施例四
图4A为本申请实施例提供的CRM向OCS注册物联网客户的方法流程图,其中包括如下步骤:
步骤401:CRM系统向BMP发送客户注册请求。
具体地,CRM系统在注册新IOT客户时,向OCS系统中的BMP发送客户注册请求,所述注册请求中包含所述IOT客户的客户信息,所述客户信息包含所述IOT客户的合同设备数量上限、行业信息和地域信息等。
例如,CRM系统的营业员在企业客户申请IOT业务注册时,收集该企业客户的合同设备数量上限、行业类别、企业所在地等信息,并将其录入到CRM系统,由CRM系统构造所述注册请求发送给BMP,所述注册请求携带所述合同设备数量上限、行业类别、企业所在地等信息。合同设备数量上限会影响客户的议价折扣,在企业客户的设备数量到达所述合同设备数量上限后,如果企业客户需要继续增长设备数量,则需要重新签订合同,需要重新进行注册。
步骤402:BMP从SYSDB中获取同类客户数量分布信息和各数据节点设备数目统计信息。
具体地,BMP可以根据所述IOT客户的客户信息,从SYSDB中查询出同类客户在不同数据节点的分布情况和各数据节点(CBPMDB)上的设备数目统计信息,以便后续为该客户选择归属数据节点。为此,BMP可以在SYSDB中维护如表1和表2所示的数据表。
BMP网络在维护表1之前,可以根据客户信息的不同,设置不同的客户类别标准,以将客户划分出不同的类别。为叙述方便,本申请实施例将满足相同的客户类别标准的客户,称为同类客户。客户类别标准可以包含合同设备数量上限要求。例如,BMP可以将合同设备数量上限在96-105万之间,定为客户类别1,将合同设备数量上限在106万-115万之间,定为客户类别2,以此类推,从而,合同设备数量上限为100万的客户和115万的客户为同类客户。由于不同行业、地域的企业客户的设备数量规模、设备数量的增长速度可能不同,BMP也可以进一步在客户类别标准中包含行业信息、地域信息,以便更精细地划分客户类别,从而可以更精确地为IOT客户选择归属数据节点。这种情况下,同类客户的行业还需要相同或者相似(例如,自来水抄表行业和电力表抄表行业,都属于智能抄表,可以视为相同或者相似行业),或者地域还需要相同或相近(例如同一个城市或者同一个地区等)。可选地,BMP可以在SYSDB中预设如表3所示的表格,作为客户类别标准,用于区分客户类别。可选地,BMP可以将更多的客户属性作为划分类别的标准,本申请实施例不再一一赘述。
可选地,BMP可以周期性(例如每隔60分钟,本申请实施例不限定具体周期)统计各个数据节点中的客户数量和实际设备数量以及剩余空间,并将统计结果更新到SYSDB中如表1和表2所示的数据表中。
表1-客户数量分布
表2-设备数量分布
归属DB节点 | 当前设备总数 | 剩余空间 |
数据节点1 | 具体设备数量 | 具体剩余空间 |
数据节点2 | 具体设备数量 | 具体剩余空间 |
… | … | … |
数据节点N | 具体设备数量 | 具体剩余空间 |
表3-客户类别标准
步骤403:BMP为所述客户确定归属数据节点。
具体地,所述BMP可以基于步骤402查询到所述IOT客户的同类客户在不同数据节点的分布情况,以及每个数据节点的剩余空间情况,在所述数据节点中确定出所述IOT客户的归属数据节点,具体可参见图4B所示。
图4B为本申请实施例提供的BMP确定归属数据节点的方法流程图,其中包括如下步骤:
步骤40301:BMP获取每个数据节点的剩余空间。
假设OCS系统中有5个CBPMDB数据节点,BMP从SYSDB查询得到如表4所示的结果。
表4-剩余空间情况
步骤40302:BMP获取每个数据节点的同类客户的信息。
继续上述例子,假设所述IOT客户是合同设备数量上限为110万的华东地区共享单车客户,则BMP可以确定所述IOT客户属于类别3客户,BMP从SYSDB查询得到类别3客户在每个数据节点的分布情况如表5所示。此外,BMP还可以获取每个同类客户的当前设备数量,以及设备数量历史记录(例如按月记录的设备数量历史记录)。
表5-同类客户数量分布情况
归属数据节点 | 类别3客户数 |
CBPMDB1 | 3 |
CBPMDB2 | 2 |
CBPMDB3 | 1 |
CBPMDB4 | 1 |
CBPMDB5 | 3 |
步骤40303:BMP根据客户的合同设备数量上限确定客户的运营设备数量上限。
所述运营设备数量上限为所述IOT客户在运营过程中实际最大设备数量,其值可能比合同设备数量上限大,也可能比合同设备数量上限小。BMP可以通过预测获取所述IOT客户的运营设备数量上限。BMP可以获取所有数据节点中所有同类客户的设备数量历史记录,根据该历史记录,确定同类客户设备数量变化趋势,在根据所述变化趋势预测出所述同类客户稳定的设备数量,再根据所述IOT客户的合同设备数量上限和所述稳定的设备数量预测出所述IOT客户的运营设备数量上限。这里所述稳定的设备数量的含义是在预设时间周期内(如最近一年内,或最近半年内)不同时间单位(如月份)之间设备数量变化量小于预设值(如1万,5万)的所述同类客户的设备数量。例如,BMP可以确定所述IOT客户的同类客户的设备变化趋势如表6所示,可见同类客户设备数量(可以为单个同类客户的设备数量,也可以为多个同类客户的平均设备数量,即所有同类客户设备数量总和除以同类客户数)从开始1万到最后每个月基本稳定在70万左右(最近一年内在70万左右变化,不同月份之间变化量小于2万),因此,可以确定所述IOT客户的同类客户的稳定的设备数量为70万。这样BMP可以用所述稳定的设备数量除以同类客户的合同设备数量上限(可以为单个同类客户的合同设备数量上限,也可以为多个同类客户的合同设备数量上限平均值,即所有同类客户的合同设备数量上限总和除以同类客户数),得到收敛系数Ka(对应第一收敛系数),再用Ka乘以所述IOT客户的合同设备数量上限,得到所述IOT客户的运营设备数量上限。如果考虑裕量(可选地),可以在所得到的运营设备数量上限基础上再增加一个预设数目。举例说明:假设所述IOT客户的同类客户的合同设备数量上限为115万,同类客户的稳定的设备数量为70万,则BMP可以计算Ka=70/115=0.608,所述IOT客户的运营设备数量上限=Ka*110+裕量=67万+裕量=70万。
表6-同类客户实际设备数量趋势
BMP还可以获取运营商预设的同类客户的设备数量上限(可以为所有同类客户的设备数量总和的上限,也可以是所有同类客户的设备数量平均值的上限),并基于所述同类客户的预设的设备数量上限和所述同类客户的合同设备数量上限(相应地,可以为所有同类客户的合同设备数量上限的总和,也可以是所有同类客户的合同设备数量上限的平均值)以及所述IOT客户的合同设备数量上限,确定出所述IOT客户的运营设备数量上限。例如,BMP可以用所述同类客户的预设的设备数量上限除以所述同类客户的合同设备数量上限,得到收敛系数Kb(对应第二收敛系数),然后用Ka乘以所述IOT客户的合同设备数量上限,得到所述IOT客户的运营设备数量上限。举例说明:假设运营商预设所述IOT客户的所有已有同类客户(在所有数据节点范围内的同类客户)的设备数量总和的上限为400万,所有已有同类客户有5个,其合同设备数量上限分别为:110万、115万、115万、110万、110万,则Ka=400万/(110万+115万+115万+110万+110万)=400万/560万=0.71,从而可以确定出所述IOT客户的运营设备数量上限=110万*0.71=71万。再举例说明:假设运营商预设所述IOT客户的所有已有同类客户的设备数量平均值的上限为79万,则Ka=79万/((110万+115万+115万+110万+110万)/5)=0.71,从而可以确定出所述IOT客户的运营设备数量上限=110万*0.71=71万。
BMP还可以获取运营商为所述IOT客户所属的客户类别预设的收敛系数Kc(对应第三收敛系数),并基于Kc和所述IOT客户的合同设备数量上限,确定出所述IOT客户的运营设备数量上限,例如用所述预先设置的Kc乘以所述IOT客户的合同设备数量上限,得到所述IOT客户的运营设备数量上限。
步骤40304:BMP根据每个数据节点的同类客户信息确定同类客户数阈值。
具体地,BMP可以计算所述多个数据节点中所包含的所有同类客户总数(不包含所述IOT客户,因为所述IOT客户的归属数据节点还没有确定,其信息还没有入库),再基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值。具体地,BMP可以用所述同类客户总数除以所述多个数据节点的节点数量,得到平均同类客户数;再基于所述平均同类客户数确定出所述同类客户数阈值。具体地,BMP可以对所述平均同类客户数进行取整得到所述同类客户数阈值,或者用预设的系数乘以所述平均同类客户数得到所述同类客户数阈值。继续上述例子,BMP可以将所有节点下客户总数除以数据节点的数量,得到平均同类客户数=(3+2+1+1+3)/5=2,经取整后得到所述同类客户数阈值为2。
步骤40305:BMP创建第一数据节点集合(为空集),设置下标i=0。
BMP创建第一数据节点集合(为空集),设置下标i=0,以准备遍历所有数据节点(用于得到第一数据节点集合)。按上述例子5个数据节点,分别为第0个数据节点、第1个数据节点……第4个数据节点,则i将从0变化到4。所述第一数据节点集合可以是数组或者列表等数据结构。
步骤40306:BMP判断数据节点i的剩余空间是否大于所述IOT客户的合同设备数量上限或所述IOT客户的运营设备数量上限。
具体地,BMP判断数据节点i(第i个数据节点)的剩余空间是否大于所述IOT客户的合同设备数量上限或所述IOT客户的运营设备数量上限,如果结论为“是”,则继续执行步骤40307,否则执行步骤40310,继续遍历下一个数据节点。
需要说明的是,BMP可以采用所述IOT客户的合同设备数量上限,也可以采用所述IOT客户的运营设备数量上限作为判断数据节点剩余空间是否足够的标准,其区别在于:前者(采用合同设备数量上限)可以确保后续有充分的存储空间供所述IOT客户发展其IOT设备数量,后者(采用运营设备数量上限),可以使运营商的数据节点资源得到更充分的利用,满足运营商“超售”(所有客户的合同设备数量上限总和大于其数据节点空间可容纳设备数量总和)的业务需求。本申请实施例不限定具体采用哪个标准,可以由运营商通过预设参数来决定。
继续上述例子,如果以合同设备数量上限为判断标准,则CBPMDB1、CBPMDB2、CBPMDB3、CBPMDB4满足该步骤要求,如果以运营设备数量上限为判断标准,则5个数据节点都满足该步骤要求。
步骤40307:BMP判断数据节点i的同类客户数是否小于同类客户数阈值。
具体地,BMP判断数据节点i上的同类客户数(即以数据节点i为归属数据节点的同类客户的数量)是否小于上述步骤中确定的同类客户数阈值,如果结论为“是”,则继续执行步骤40308,否则执行步骤40310,继续分析下一个数据节点。
该步骤的目的在于选择同类客户相对较少的数据节点。继续上述例子,由于上述步骤计算得到同类客户数阈值为2,则只有CBPMDB3、CBPMDB4满足该步骤要求。
步骤40308:BMP将数据节点i放入所述第一数据节点集合。
BMP将数据节点i放入所述第一数据节点集合,以便后续进一步再该集合中确定出所述IOT客户的归属数据节点。
步骤40309:BMP判断i是否大于或等于数据节点数量。
具体地,BMP判断i是否大于或等于数据节点数量,如果结论为“是”,则继续执行步骤40311,否则执行步骤40310,继续分析一个数据节点。
步骤40310:i=i+1
BMP让数据节点下标增1,以便分析下一个数据节点。
步骤40311:BMP在所述第一个数据节点集合中确定出所述IOT客户的归属数据节点。
具体地,BMP可以在所述第一数据节点集合中确定剩余空间最小的数据节点(如CBPMDB3)、或者同类客户数最少的数据节点、或者负荷最轻(如CPU最空闲)的数据节点作为所述IOT客户的归属数据节点。
除了以上执行方法流程外,BMP也可以按下面例子所述的流程确定出所述IOT客户的归属数据节点。
BMP根据所述IOT客户的运营设备数量上限,在这上述5个CBPMDB中选择出剩余空间可以容纳所述IOT客户在其设备数量到达所述运营设备数量上限时所有设备数据的数据节点,形成第一CBPMDB列表。继续上述例子,CBPMDB1、CBPMDB2、CBPMDB3、CBPMDB4、CBPMDB5均满足此需求,构成所述第一CBPMDB列表。
在此基础上,可以确保第一CBPMDB列表中的数据节点都能够容纳所述IOT客户的所有设备数据,直到所述IOT客户的设备数量达到所述运营设备数量上限。
BMP进一步在所述第一CBPMDB列表中,根据每个数据节点的同类客户数,选择出所述IOT客户的归属数据节点。例如,可以先根据所有节点下客户总数与数据节点的数量,计算出一个同类客户数阈值,再选择出同类客户数小于所述同类客户数阈值的节点,形成第二CBPMDB列表。继续上述例子,BMP可以将所有节点下客户总数除以数据节点的数量,得到平均客户数=(3+2+1+1+3)/5=2,将其取整后得到同类客户数阈值也是2,进而确定客户数小于所述同类客户数阈值的数据节点为CBPMDB3和CBPMDB4,如表7所示,即第二CBPMDB列表包含CBPMDB3和CBPMDB4。
表7-小于同类客户数阈值的数据节点
归属数据节点 | 同类(类别3)客户数 | 客户数小于阈值 | 剩余空间 |
CBPMDB1 | 3 | 否 | 410万设备的数据量 |
CBPMDB2 | 2 | 否 | 200万设备的数据量 |
CBPMDB3 | 1 | 是 | 300万设备的数据量 |
CBPMDB4 | 1 | 是 | 350万设备的数据量 |
CBPMDB5 | 3 | 否 | 95万设备的数据量 |
BMP在所述第一CBPMDB列表中确定所述IOT客户的归属数据节点,与步骤40311类似。
步骤404:BMP将客户相关数据存储在归属数据节点。
具体地,BMP将所述IOT客户的相关数据,包括所述客户信息,所述IOT客户的设备相关数据,存储到归属数据节点(上述例子为CBPMDB4)中。
步骤405:BMP将客户数量分布信息和各数据节点设备数目统计信息刷新到SYSDB中。
具体地,BMP可以根据新注册的所述IOT客户的信息,刷新客户分布信息和各数据节点设备数目统计信息,保存到所述SYSDB中。
可选地,BMP还可以将每个客户(包括新注册的所述IOT客户)对应的归属数据节点的对应信息存储到所述SYSDB中。
步骤406:BMP向CRM返回注册结果。
BMP向CRM返回注册成功。
通过上述步骤,BMP已为所述IOT客户分配或者选择了归属数据节点,并将每个客户对应的归属数据节点的信息写入到SYSDB中,后续所述IOT客户的每一个设备通过GGSN向CBPAdapter发送计费请求的时候,CBPAdapter可以从SYSDB中获取IOT设备对应的IOT客户的归属数据节点,并通知CBPAPP从所述归属节点访问对所述IOT设备执行计费业务所需要的数据。
上述实施例四使得BMP可以基于IOT客户信息及IOT客户的同类客户信息为所述IOT客户选择归属数据节点CBPMDB,且可以提高各CBPMDB之间存储数据量的平衡的持久性,即随着不同类型IOT客户数量的增多、每个IOT客户业务的发展(设备数量及占用存储空间的增加),多个CBPMDB之间的存储数据量仍然是趋于平衡的。此外,还使得BMP可以通过预测IOT客户的运营设备数量上限,并以所述运营设备数量上限作为选择归属数据节点剩余空间是否足够的标准,可以使得运营商进一步提高其资源利用率,如实现“超售”等目的。
实施例五
图5为本申请实施例提供的管理设备的硬件结构图,其中所述管理设备可以是图3中的302,可以采用图5所示的通用的计算机硬件,其包括处理器501、存储器502、总线503、输入设备504、输出设备505以及网络接口506。
具体的,存储器502可以包括以易失性和/或非易失性存储器形式的计算机存储媒体,如只读存储器和/或随机存取存储器。存储器502可以存储操作系统、应用程序、其他程序模块、可执行代码和程序数据。
输入设备504可以用于输入信息,便于系统管理员对所述设备进行操作和管理等,如配置收敛系数等,输入设备504如键盘或指向设备,如鼠标、轨迹球、触摸板、麦克风、操纵杆、游戏垫、卫星电视天线、扫描仪或类似设备。这些输入设备可以通过总线503连接至处理器501。
输出设备505可以用于输出信息,便于系统管理员对所述设备进行操作和管理等,除了监视器之外,输出设备505还可以为其他外围输出设各,如扬声器和/或打印设备,这些输出设备也可以通过总线503连接到处理器501。
所述管理设备可以通过网络接口506连接到网络中,例如连接到局域网(LocalArea Network,LAN)。在联网环境下,所述设备中存储的计算机执行指令可以存储在远程存储设备中,而不限于在本地存储。
当所述管理设备中的处理器501执行存储器502中存储的可执行代码或应用程序时,可以执行以上所有实施例中与管理设备相对应的方法步骤,具体执行过程均参见上述实施例,在此不再赘述。
实施例六
图6为本申请实施例提供的管理设备的结构示意图,所述管理设备包括接收模块601、获取模块602和确定模块603,其功能分别为:
-接收模块601,用于接收数据节点分配请求,所述数据节点分配请求中包含客户信息,所述客户信息包含所述客户的合同设备数量上限,所述合同设备数量上限为所述客户预先约定的最大设备数量;具体执行过程参见上述实施例一至实施例四中管理设备侧的步骤说明,如步骤201、401等。
具体地,管理设备可以从CRM系统接收所述数据节点分配请求,所述合同设备数量上限可以从所述客户的开户合同中提取。
可选地,所述客户信息还可以包含行业信息和地域信息,以用于判断同类客户。
-获取模块602,用于获取所述多个数据节点中每个数据节点上的剩余空间和所述多个数据节点中每个数据节点上的所有同类客户的信息,每个所述同类客户的客户信息与所述客户的客户信息符合相同的客户类别标准,所述客户类别标准至少包含合同设备数量上限要求;具体执行过程参见上述实施例一至实施例四中管理设备侧的步骤说明,如步骤202、402、403等。
所述客户类别标准可以包含合同设备数量上限要求,也可以包含行业要求和/或地域要求。
-确定模块603,用于根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点上的所有同类客户的信息和剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点,所述归属数据节点用于存储所述客户的所有设备数据;具体执行过程参见上述实施例一至实施例四中管理设备侧的步骤说明,如步骤203、403等。
具体地,确定模块603可以先在所述多个数据节点中选择出剩余空间可容纳所述客户在设备数量到达合同设备数量上限或者运营设备数量上限时的所有设备数据、并且包含同类客户数量小于同类客户数阈值的数据节点,得到第一候选数据节点集合;再从所述第一候选数据节点集合中确定出所述客户的归属数据节点。其中,确定模块603根据所述客户的合同设备数量上限确定出所述运营设备数量上限,确定模块603根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值。
具体地,确定模块603在所述第一候选数据节点集合中确定出所述客户的归属数据节点可以是:在所述第一候选数据节点集合中确定剩余空间最小的数据节点、或者负荷最轻的数据节点、或者同类客户数量最小的数据节点为所述客户的归属数据节点。
可选地,确定模块603可以根据预设的参数,决定在所述第一候选数据节点中是选择剩余空间最小的数据节点、还是选择同类客户数量最小的数据节点、或者是负荷最轻的数据节点。
具体地,确定模块603根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值可以是:先计算所述多个数据节点中所包含的所有同类客户总数;再基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值。
具体地,确定模块603基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值可以是:先用所述同类客户总数除以所述多个数据节点的节点数量,得到平均同类客户数;再基于所述平均同类客户数确定出所述同类客户数阈值。
具体地,确定模块603基于所述平均同类客户数确定出所述同类客户数阈值可以是:对所述平均同类客户数进行取整得到所述同类客户数阈值,或者用预设的系数乘以所述平均同类客户数得到所述同类客户数阈值。
具体地,确定模块603根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限可以是:先获取所述多个数据节点中每个数据节点中的所有同类客户的实际设备数量历史记录;再根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限。
具体地,确定模块603根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限可以是:先根据所述同类客户的实际设备数量历史记录得到所述同类客户的实际设备数量变化趋势;再根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限。
具体地,确定模块603根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限可以是:先根据所述变化趋势预测出所述同类客户稳定的设备数量,所述稳定的设备数量为在预设时间周期内不同时间单位之间变化量小于预设值的所述同类客户的设备数量;再根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限。
具体地,确定模块603根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限可以是:用所述稳定的设备数量除以所述同类客户的合同设备数量上限,得到第一收敛系数;再用所述第一收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
具体地,确定模块603根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限还可以是:先获取预设的同类客户的设备数量上限;再基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限。
具体地,确定模块603基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限可以是:先用所述预设的同类客户的设备数量上限除以所述同类客户的合同设备数量上限得到第二收敛系数;再用所述第二收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
具体地,确定模块603根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限还可以是:先获取针对所述客户所属的客户类别预设的第三收敛系数;再基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限。
具体地,确定模块603基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限可以是:用所述第三收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
在本实施例中,管理设备是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到管理设备也可以采用图5所示的形式。接收模块601、获取模块602和确定模块603都可以通过图5中的处理器501和存储器502来实现。例如,确定模块603为客户确定归属数据节点的功能可以通过由处理器501来执行存储器502中存储的代码来实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种选择数据节点的方法,应用于管理设备,所述管理设备管理多个数据节点,其特征在于,包括:
接收数据节点分配请求,所述数据节点分配请求中包含客户信息,所述客户信息包含所述客户的合同设备数量上限,所述合同设备数量上限为所述客户预先约定的最大设备数量;
获取所述多个数据节点中每个数据节点上的剩余空间和所述多个数据节点中每个数据节点上的所有同类客户的信息,每个所述同类客户的客户信息与所述客户的客户信息符合相同的客户类别标准,所述客户类别标准至少包含合同设备数量上限要求;
根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点上的所有同类客户的信息和剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点,所述归属数据节点用于存储所述客户的所有设备数据。
2.根据权利要求1所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限、所述多个数据节点中每个数据节点上的所有同类客户的信息和剩余空间,在所述多个数据节点中确定出所述客户的归属数据节点包括:
在所述多个数据节点中选择出剩余空间可容纳所述客户在设备数量到达合同设备数量上限或者运营设备数量上限时的所有设备数据、并且包含同类客户数量小于同类客户数阈值的数据节点,得到第一候选数据节点集合;
在所述第一候选数据节点集合中确定出所述客户的归属数据节点;
其中,所述管理设备根据所述客户的合同设备数量上限确定出所述运营设备数量上限,所述管理设备根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值。
3.根据权利要求2所述的方法,其特征在于,所述管理设备在所述第一候选数据节点集合中确定出所述客户的归属数据节点包括:
在所述第一候选数据节点集合中确定剩余空间最小的数据节点、或者负荷最轻的数据节点、或者同类客户数量最小的数据节点为所述客户的归属数据节点。
4.根据权利要求2所述的方法,其特征在于,所述管理设备根据所述多个数据节点中每个数据节点上的所有同类客户的信息确定出所述同类客户数阈值包括:
计算所述多个数据节点中所包含的所有同类客户总数;
基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值。
5.根据权利要求4所述的方法,其特征在于,所述管理设备基于所述同类客户总数和所述多个数据节点的节点数量确定出同类客户数阈值包括:
用所述同类客户总数除以所述多个数据节点的节点数量,得到平均同类客户数;
基于所述平均同类客户数确定出所述同类客户数阈值。
6.根据权利要求5所述的方法,其特征在于,所述管理设备基于所述平均同类客户数确定出所述同类客户数阈值包括:
对所述平均同类客户数进行取整得到所述同类客户数阈值,或者用预设的系数乘以所述平均同类客户数得到所述同类客户数阈值。
7.根据权利要求2所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限包括:
获取所述多个数据节点中每个数据节点中的所有同类客户的实际设备数量历史记录;
根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限。
8.根据权利要求7所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限和所述同类客户的实际设备数量历史记录预测出所述客户的运营设备数量上限包括:
根据所述同类客户的实际设备数量历史记录得到所述同类客户的实际设备数量变化趋势;
根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限。
9.根据权利要求8所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限和所述变化趋势预测出所述客户的运营设备数量上限包括:
根据所述变化趋势预测出所述同类客户稳定的设备数量,所述稳定的设备数量为在预设时间周期内不同时间单位之间变化量小于预设值的所述同类客户的设备数量;
根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限。
10.根据权利要求9所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限和所述稳定的设备数量预测出所述客户的运营设备数量上限包括:
用所述稳定的设备数量除以所述同类客户的合同设备数量上限,得到第一收敛系数;
用所述第一收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
11.根据权利要求2所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限包括:
获取预设的同类客户的设备数量上限;
基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限。
12.根据权利要求11所述的方法,其特征在于,所述管理设备基于所述客户的合同设备数量上限、所述预设的同类客户的设备数量上限确定出所述客户的运营设备数量上限包括:
用所述预设的同类客户的设备数量上限除以所述同类客户的合同设备数量上限得到第二收敛系数;
用所述第二收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
13.根据权利要求2所述的方法,其特征在于,所述管理设备根据所述客户的合同设备数量上限确定出所述客户的运营设备数量上限包括:
获取针对所述客户所属的客户类别预设的第三收敛系数;
基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限。
14.根据权利要求13所述的方法,其特征在于,所述管理设备基于所述第三收敛系数和所述客户的合同设备数量上限确定出所述运营设备数量上限包括:
用所述第三收敛系数乘以所述客户的合同设备数量上限,得到所述客户的运营设备数量上限。
15.根据权利要求1至14任一项所述的方法,其特征在于,所述客户信息还包含所述客户的行业信息,所述客户类别标准还包含行业要求。
16.根据权利要求1至14任一项所述的方法,其特征在于,所述客户信息还包含所述客户的地域信息,所述客户类别标准还包含地域要求。
17.一种管理设备,其特征在于,包括处理器和存储器,其中:
所述存储器,用于存储程序指令;
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述管理设备执行权利要求1至16中任一项所述的选择数据节点的方法。
18.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得所述计算机执行权利要求1至16中任一项所述的选择数据节点的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810189516.3A CN110309223B (zh) | 2018-03-08 | 2018-03-08 | 选择数据节点的方法、系统以及相关设备 |
EP19764382.8A EP3734451A4 (en) | 2018-03-08 | 2019-02-20 | METHOD, SYSTEM AND RELATED APPARATUS FOR SELECTING A DATA NODE |
PCT/CN2019/075566 WO2019169998A1 (zh) | 2018-03-08 | 2019-02-20 | 选择数据节点的方法、系统以及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810189516.3A CN110309223B (zh) | 2018-03-08 | 2018-03-08 | 选择数据节点的方法、系统以及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110309223A CN110309223A (zh) | 2019-10-08 |
CN110309223B true CN110309223B (zh) | 2023-08-22 |
Family
ID=67846410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810189516.3A Active CN110309223B (zh) | 2018-03-08 | 2018-03-08 | 选择数据节点的方法、系统以及相关设备 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3734451A4 (zh) |
CN (1) | CN110309223B (zh) |
WO (1) | WO2019169998A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685497B (zh) * | 2020-12-25 | 2024-02-13 | 北京浪潮数据技术有限公司 | 一种mysql数据库集群的数据操作执行方法、装置及设备 |
CN113873045B (zh) * | 2021-11-11 | 2023-09-12 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967638A (zh) * | 2014-07-28 | 2015-10-07 | 浙江大华技术股份有限公司 | 一种数据节点的分配方法及系统 |
CN106375382A (zh) * | 2016-08-26 | 2017-02-01 | 苏州蓝海彤翔系统科技有限公司 | 数据分配的方法、系统、控制服务器及节点客户端 |
CN107241386A (zh) * | 2017-05-05 | 2017-10-10 | 中广热点云科技有限公司 | 一种网络节点筛选方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9253053B2 (en) * | 2012-10-11 | 2016-02-02 | International Business Machines Corporation | Transparently enforcing policies in hadoop-style processing infrastructures |
KR101622810B1 (ko) * | 2013-11-29 | 2016-05-31 | 주식회사 포스코아이씨티 | 빅데이터 분산 시스템 및 방법 |
CN104683422B (zh) * | 2013-12-03 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
CN104301671B (zh) * | 2014-09-23 | 2017-09-29 | 同济大学 | Hdfs中基于事件密集度的交通监控视频存储方法 |
CN106294511B (zh) * | 2015-06-10 | 2019-07-02 | 中国移动通信集团广东有限公司 | 一种Hadoop分布式文件系统的存储方法及装置 |
-
2018
- 2018-03-08 CN CN201810189516.3A patent/CN110309223B/zh active Active
-
2019
- 2019-02-20 WO PCT/CN2019/075566 patent/WO2019169998A1/zh unknown
- 2019-02-20 EP EP19764382.8A patent/EP3734451A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967638A (zh) * | 2014-07-28 | 2015-10-07 | 浙江大华技术股份有限公司 | 一种数据节点的分配方法及系统 |
CN106375382A (zh) * | 2016-08-26 | 2017-02-01 | 苏州蓝海彤翔系统科技有限公司 | 数据分配的方法、系统、控制服务器及节点客户端 |
CN107241386A (zh) * | 2017-05-05 | 2017-10-10 | 中广热点云科技有限公司 | 一种网络节点筛选方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019169998A1 (zh) | 2019-09-12 |
CN110309223A (zh) | 2019-10-08 |
EP3734451A4 (en) | 2021-03-03 |
EP3734451A1 (en) | 2020-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015229B1 (en) | Determining placement of user data to optimize resource utilization for distributed systems | |
US8626897B2 (en) | Server farm management | |
Zhang et al. | How to price fresh data | |
US20140173232A1 (en) | Method and Apparatus for Automated Migration of Data Among Storage Centers | |
US20140089511A1 (en) | Client Classification-Based Dynamic Allocation of Computing Infrastructure Resources | |
US20100169490A1 (en) | Load-balancing and technology sharing using lempel-ziv complexity to select optimal client-sets | |
US11856246B2 (en) | CDN optimization platform | |
Taft et al. | P-store: An elastic database system with predictive provisioning | |
US20050144025A1 (en) | Using technical performance metrics for business and usage analysis and cost allocation | |
KR100799775B1 (ko) | 무선 그리드 네트워크의 모바일 그리드 게이트웨이리플리케이션 시스템 및 그 방법 | |
JP5506889B2 (ja) | 通信トラヒック予測装置、通信トラヒック予測方法、及びプログラム | |
WO2024094104A1 (zh) | 一种动态反馈加权云存储资源调度方法、装置及设备 | |
CN110309223B (zh) | 选择数据节点的方法、系统以及相关设备 | |
KR20220014325A (ko) | 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템 | |
US20050038800A1 (en) | Calculation of sevice performance grades in a multi-node environment that hosts the services | |
CN103235793A (zh) | 联机处理数据的方法、设备及系统 | |
JP2001306535A (ja) | アプリケーション・サービス・提供方法及びその実施装置並びにその処理プログラムを記録した記録媒体 | |
CN109151747B (zh) | 业务兑换处理方法、运营服务器和业务服务器 | |
CN101217690A (zh) | 实现数据业务和数据信息分布存储的系统及方法 | |
CN113419938A (zh) | 用户并发访问的控制方法、装置及设备 | |
CN110213450B (zh) | 基于多中心的手语在线客服分配管理方法、装置及系统 | |
CN110267717B (zh) | 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置 | |
Huang | The value-of-information in matching with queues | |
Shah et al. | Impact of fairness and heterogeneity on delays in large-scale centralized content delivery systems | |
CN116723339B (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 |