CN114884946B - 基于人工智能的异地多活实现方法及相关设备 - Google Patents
基于人工智能的异地多活实现方法及相关设备 Download PDFInfo
- Publication number
- CN114884946B CN114884946B CN202210470630.XA CN202210470630A CN114884946B CN 114884946 B CN114884946 B CN 114884946B CN 202210470630 A CN202210470630 A CN 202210470630A CN 114884946 B CN114884946 B CN 114884946B
- Authority
- CN
- China
- Prior art keywords
- client request
- target
- time
- client
- server
- 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
- 230000000694 effects Effects 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 113
- 238000012216 screening Methods 0.000 claims abstract description 17
- 238000003860 storage Methods 0.000 claims abstract description 17
- 230000015654 memory Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000011066 ex-situ storage Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提出一种基于人工智能的异地多活实现方法、装置、电子设备及存储介质,基于人工智能的异地多活实现方法包括:在不同区域部署中心服务器,中心服务器包括多个边缘计算单元;统一接入服务接收客户端请求以获取客户端请求的区域信息和耗时信息;基于区域信息和中心服务器的负载值筛选中心服务器以确定各客户端请求的目标服务器;获取各目标服务器的客户端请求子集,并基于耗时信息匹配相同目标服务器的边缘计算单元和客户端请求子集得到各客户端请求的目标计算单元;目标计算单元响应客户端请求得到响应数据后同步给所有中心服务器以实现异地多活。本申请能够将客户端请求的响应任务平均分配给各边缘计算单元,提高客户端请求的响应速度。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的异地多活实现方法、装置、电子设备及存储介质。
背景技术
异地多活是指在不同区域建立中心服务器,每个中心服务器中出储存的数据完全相同,客户端的请求无论访问哪一个区域的中心服务器,都能够得到正确的响应结果,当任意一区域的中心服务器异常时,可以迅速切换到其他区域的中心服务器以获取正确的响应结果,所述异地多活提供了一种低延时、容灾能力高的数据分布式服务。
目前,通常在一个异地多活系统中的每个计算单元均需要同步多个中心服务器的数据,在这种情况下,任何计算节点出现故障都不会对业务产生影响,但在一次写操作过程中带来更大的时间开销,从而使得客户端请求的响应速度过慢,降低用户体验。
发明内容
鉴于以上内容,有必要提出一种基于人工智能的异地多活实现方法及相关设备,以解决如何提高客户端请求的响应速度这一技术问题,其中,相关设备包括基于人工智能的异地多活实现装置、电子设备及存储介质。
本申请提供基于人工智能的异地多活实现方法,所述方法包括:
在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应;
依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个;
获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求;
存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元;
基于所述目标计算单元对所述客户端请求做出响应以获取响应数据;
将所述响应数据同步给所有中心服务器以实现异地多活。
在一些实施例中,所述依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个,包括:
采集不同客户端请求种类在不同边缘计算单元的实际耗时作为样本数据以储存在所述异地多活数据库中,所述样本数据包括客户端请求种类、边缘计算单元算力和实际耗时;
基于所述客户端请求种类搜索所述异地多活数据库以获取每一种客户端请求的样本数据集;
基于所述样本数据集计算每一种客户端请求的耗时信息;
依据所述异地多活数据库的统一接入服务对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息,并基于所述种类信息获取所述客户端请求的耗时信息。
在一些实施例中,所述耗时信息满足关系式:
其中,Numk为第k种客户端请求的样本数据集中所有样本数据的数量,ti,Si分别为第i个样本数据中客户端请求的实际耗时和边缘计算单元的算力,为第k种客户端请求的耗时信息,表示单位算力下响应第k种客户端请求的耗时长度。
在一些实施例中,所述基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求,包括:
当接收到目标客户端请求时,依据中心服务器响应系数模型计算每一个中心服务器的响应系数,所述目标客户端请求为多个客户端请求中的任意一个;
选取响应系数的最大值对应的中心服务器作为所述目标客户端请求的目标服务器;
遍历所有客户端请求以获取每一个客户端请求的目标服务器。
在一些实施例中,所述中心服务器响应系数模型满足关系式:
其中,fj为中心服务器j的负载值;lj为中心服务器j所在区域与所述目标客户端请求的区域信息之间的距离;Max(l)为所有中心服务器所在区域与所述目标客户端请求的区域信息之间的距离l的最大值;f*为负载阈值,所述负载阈值的取值为0.7;w1,w2为预设权重,所述预设权重的取值为w1=0.6,w2=0.4;所述Wj为中心服务器j的响应系数,所述中心服务器j的响应系数取值范围为[0,1]。
在一些实施例中,所述基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元包括:
a.当获取目标服务器的客户端请求子集时,基于边缘计算单元的算力和负载值计算所述目标服务器中所有边缘计算单元的实时算力以构建实时算力序列;
b.选取所述客户端请求子集中耗时信息最大的客户端请求作为待匹配客户端请求;
c.从所述实时算力序列中选取最大值对应的边缘计算单元作为所述待匹配客户端请求的目标计算单元;
d.将所述目标计算单元的任务数加一以获取所述目标计算单元的更新实时算力,将所述实时算力序列中所述目标计算单元的实时算力替换为更新实时算力以获取更新后的实时算力序列;
e.重复步骤b到步骤d,按照所述耗时信息从大到小的顺序遍历所述客户端请求子集中未匹配的客户端请求以获取每一个客户端请求的目标计算单元。
在一些实施例中,所述基于边缘计算单元的算力和负载值计算所述目标服务器中所有边缘计算单元的实时算力以构建实时算力序列中,所述实时算力满足关系式:
其中,sb为边缘计算单元b的算力,为时刻t时边缘计算单元b的负载值,f*为负载阈值,所述负载阈值的取值为0.7,/>为时刻t时边缘计算单元b的实时算力,所述时刻t为获取目标服务器的客户端请求子集的时刻。
本申请实施例还提供一种基于人工智能的异地多活实现装置,所述装置包括:
构建单元,用于在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应;
接收单元,用于依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个;
筛选单元,用于获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求;
匹配单元,用于存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元;
响应单元,用于基于所述目标计算单元对所述客户端请求做出响应以获取响应数据;
同步单元,用于将所述响应数据同步给所有中心服务器以实现异地多活。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现所述的基于人工智能的异地多活实现方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于人工智能的异地多活实现方法。
综上,本申请能够依据客户端请求的区域信息和中心服务器的负载获取每一个客户端请求的目标服务器,在每一个目标服务器中,进一步基于边缘计算单元的算力、负载以及客户端请求的耗时信息为客户端请求分配目标计算单元以获取客户端请求的响应数据,将客户端请求的响应任务平均分配给所有边缘计算单元,同时提高客户端请求的响应速度。
附图说明
图1是本申请所涉及的基于人工智能的异地多活实现方法的较佳实施例的流程图。
图2是本申请所涉及的基于人工智能的异地多活实现装置的较佳实施例的功能模块图。
图3是本申请所涉及的基于人工智能的异地多活实现方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于人工智能的异地多活实现方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备可以是任何一种可与客户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
电子设备还可以包括网络设备和/或客户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。
电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
如图1所示,是本申请基于人工智能的异地多活实现方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应。
在一个可选的实施例中,在不同区域部署中心服务器,所述区域可以是不同城市,也是可以是不同国家,本申请不做限制,所述中心服务器与所述区域一一对应。所述中心服务器为系统中所有客户端提供计算机或者应用服务,每一个中心服务器包括数据库和多个边缘计算单元,所述边缘计算单元为具备计算、存储、数据传输功能的计算单元,可以是中心服务器下的电脑终端、智能手机、智能手表等等,所述边缘计算单元与对应的中心服务器之间可以进行数据的传输,所述数据库用于存储中心服务器产生的业务数据,其中,不同数据库中的数据是持续共享的,以保持不同中心服务器的数据库中数据的一致性。至此,不同区域的中心服务器构建了异地多活数据库。
如此,完成了异地多活数据库的构建,不同中心服务器的数据库内的数据保持一致,为实现异地多活提供基础。
S11,依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个。
在一个可选的实施例中,所述依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个,包括:
采集不同客户端请求种类在不同边缘计算单元的实际耗时作为样本数据以储存在所述异地多活数据库中,所述样本数据包括客户端请求种类、边缘计算单元算力和实际耗时;
基于所述客户端请求种类搜索所述异地多活数据库以获取每一种客户端请求的样本数据集;
基于所述样本数据集计算每一种客户端请求的耗时信息;
依据所述异地多活数据库的统一接入服务对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息,并基于所述种类信息获取所述客户端请求的耗时信息。
该可选的实施例中,当异地多活的应用场景确定时,所有客户端请求的种类是固定不变的,示例性的,若所述异地多活的应用场景为直播场景,则所述客户端请求包括进入直播间、刷新直播间、发送弹幕等等固定的种类。在历史时间内,当任意客户端发出请求之后,需要所述异地多活数据库中的边缘计算单元对客户端请求进行响应以获取响应结果,采集获取响应结果的实际耗时,并将所述客户端请求种类、边缘计算单元的算力以及客户端请求的实际耗时作为一组样本数据储存在所述异地多活数据库中,其中,所述边缘计算单元的算力表征边缘计算单元每秒执行浮点运算的次数,算力越大则响应客户端请求的实际耗时越短。
该可选的实施例中,通过智能搜索引擎在异地多活数据库中搜索客户端请求种类来提取所述客户端请求种类对应的所有样本数据,并将所有样本数据作为所述客户端请求种类的样本数据集,遍历所有客户端请求种类以获取每一种客户端请求的样本数据集,智能搜索是结合了人工智能技术的新一代搜索引擎,该引擎除了能提供传统的快速检索、智能信息化过滤和推送等功能。
该可选的实施例中,基于客户端请求种类的样本数据集计算每一种客户端请求的耗时信息,所述耗时信息为单位算力下响应端请求的耗时长度,以第k种客户端请求为例,所述耗时信息满足关系式:
其中,Numk为第k种客户端请求的样本数据集中所有样本数据的数量,ti,Si分别为第i个样本数据中客户端请求的实际耗时和边缘计算单元的算力,为第k种客户端请求的耗时信息,表示单位算力下响应第k种客户端请求的耗时长度;按照相同的方法得到每一种客户端请求的耗时信息。
该可选的实施例中,为了解决由于中心服务器的不同造成的域名解析不稳定性的问题,本申请为不同区域的中心服务器设置统一接入服务,所述统一接入服务可以接收所有的客户端请求,并对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息;基于所述客户端请求的种类信息可以获取所述客户端请求的耗时信息。需要说明的是,在同一时刻所述统一接入服务接收到的客户端请求的数量为一个或多个。
如此,依据所述异地多活数据库的统一接入服务可接收所有客户端请求并对所有客户端请求统一进行域名解析以获取每一个客户端请求的区域信息和耗时信息,解决了由于中心服务器的不同造成的域名解析不稳定性的问题,同时为后续中心服务器的筛选提供数据基础。
S12,获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求。
在一个可选的实施例中,当统一接入服务接收到客户端请求后,将所述客户端请求的区域信息对应的中心服务器作为所述客户端请求的目标服务器,所述目标服务器用于接收对应的客户端请求,实现客户端请求的就近接入。
在另一个可选的实施例中,当统一接入服务接收到客户端请求后,需要对所有中心服务器进行筛选以确定所述客户端请求与多个中心服务器之间的对应关系。
该可选的实施例中,获取每一个中心服务器的负载值,所述负载值可以反应中心服务器的运行情况,以中心服务器j为例,所述负载值满足关系式:
其中,nj为中心服务器j中正在处理的任务数,Nj为中心服务器j可以同时处理的最大任务数,fj为所述中心服务器j的负载值,所述负载值越大表示中心服务器j处理的请求就越多。当fj=1时说明中心服务器j处于满负载状态,此时若有新的客户端请求,则需要等待现有的进程处理完毕后才能处理所述新的客户端请求,导致客户端请求响应速度降低,为了保证中心服务器j处于良好的运行状态,及时处理新的客户端请求,应保证中心服务器j的负载fj小于负载阈值,所述负载阈值的取值为0.7,若中心服务器j的负载fj大于所述负载阈值,则认为中心服务器j不能及时处理客户端请求,即客户端请求的响应速度降低。需要说明的是,若所述中心服务器j出现故障,则中心服务器j的负载为预设极大值,所述预设极大值取值为100。
该可选的实施例中,客户端请求的区域信息同样影响所述客户端请求的响应速度,客户端请求需要传输到中心服务器后才能够对所述客户端请求做出相应,中心服务器所在区域与所述客户端请求的区域信息之间距离越远,则所述客户端请求传输所需要的时间越长,客户端请求的响应速度降低。
该可选的实施例中,所述基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求,包括:
当接收到目标客户端请求时,依据中心服务器响应系数模型计算每一个中心服务器的响应系数,所述目标客户端请求为多个客户端请求中的任意一个;
选取响应系数的最大值对应的中心服务器作为所述目标客户端请求的目标服务器;
遍历所有客户端请求以获取每一个客户端请求的目标服务器。
该可选的实施例中,由于不同中心服务器的数据始终保持一致,故影响客户端请求响应速度的因素主要包括两个方面,一方面为中心服务器所在区域与所述客户端请求的区域信息之间的距离,另一方面为中心服务器的负载值;同时由于客户端请求在光纤中的传输速度接近光速,故所述距离对客户端请求响应速度的影响程度较小。
该可选的实施例中,当接收到目标客户端请求时,依据中心服务器响应系数模型计算每一个中心服务器的响应系数,所述目标客户端请求为多个客户端请求中的任意一个,所述中心服务器响应系数模型满足关系式:
其中,fj为中心服务器j的负载值;lj为中心服务器j所在区域与所述目标客户端请求的区域信息之间的距离;Max(l)为所有中心服务器所在区域与所述目标客户端请求的区域信息之间的距离l的最大值;f*为负载阈值,所述负载阈值的取值为0.7;w1,w2为预设权重,所述预设权重的取值为w1=0.6,w2=0.4;所述Wj为中心服务器j的响应系数,所述中心服务器j的响应系数取值范围为[0,1],数值越大表示中心服务器的响应速度越快;遍历所有中心服务器以计算每一个中心服务器的响应系数,选取响应系数的最大值对应的中心服务器作为所述目标客户端请求的目标服务器,将所述目标客户端请求送入所述目标服务器中进行后续处理。
该可选的实施例中,不同客户端请求筛选中心服务器以获取对应目标服务器的过程是相互独立的,故可按照所述目标客户端请求的筛选过程获取每一个客户端请求对应的目标服务器。其中,一个客户端请求对应一个目标服务器,但一个目标服务器可以对应多个客户端请求。
如此,得到每一个客户端请求的目标服务器,所述目标服务器可以保证客户端请求的相应速度,提高用户体验。
S13,存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元。
在一个可选的实施例中,存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,进一步基于加权轮询算法对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元,从而保证所有边缘计算单元的负载均衡性。所述加权轮询算法可以基于边缘计算单元的算力得到客户端请求与边缘计算单元的对应关系。
在另一个可选的实施例中,相同时刻下一个目标服务器会对应一个或多个客户端请求,存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,在任意一个目标服务器中,需要将所述目标服务器的客户端请求子集与边缘计算单元进行匹配,得到客户端请求子集中每一个客户端请求的目标计算单元,所述目标计算单元对存在匹配关系的客户端请求做出响应。
该可选的实施例中,所述基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元包括:
a.当获取目标服务器的客户端请求子集时,基于边缘计算单元的算力和负载值计算所述目标服务器中所有边缘计算单元的实时算力以构建实时算力序列;
b.选取所述客户端请求子集中耗时信息最大的客户端请求作为待匹配客户端请求;
c.从所述实时算力序列中选取最大值对应的边缘计算单元作为所述待匹配客户端请求的目标计算单元;
d.将所述目标计算单元的任务数加一以获取所述目标计算单元的更新实时算力,将所述实时算力序列中所述目标计算单元的实时算力替换为更新实时算力以获取更新后的实时算力序列;
e.重复步骤b到步骤d,按照所述耗时信息从大到小的顺序遍历所述客户端请求子集中未匹配的客户端请求以获取每一个客户端请求的目标计算单元。
该可选的实施例中,不同目标服务器中边缘计算单元和所述客户端请求子集的匹配过程相互独立,互不影响,本申请以任意一个目标服务器为示例,详细说明目标服务器的客户端请求子集与边缘计算单元的匹配过程。
该可选的实施例中,当获取目标服务器的客户端请求子集时,首先获取目标服务器中每一个边缘计算单元的算力和负载值,所述算力为边缘计算单元的固有属性值,不随时间变化,所述负载值可以反应边缘计算单元的运行情况,不同时间对应的负载值不同,负载值越大则所述缘计算单元的实时算力越小;与所述中心服务器相同的原理,当边缘计算单元的负载值大于负载阈值时表示边缘计算单元不能及时响应客户端请求,则将所述边缘计算单元的实时算力记为0,所述负载阈值的取值为0.7;如此,基于所述算力和负载值计算每一个边缘计算单元的实时算力,以边缘计算单元b为示例,所述实时算力满足关系式:
其中,sb为边缘计算单元b的算力,为时刻t时边缘计算单元b的负载值,f*为负载阈值,所述负载阈值的取值为0.7,/>为时刻t时边缘计算单元b的实时算力,所述时刻t为获取目标服务器的客户端请求子集的时刻;按照相同的方法获取所述时刻t下所述目标服务器中每一个边缘计算单元的实时算力以构成实时算力序列。
该可选的实施例中,应将耗时信息较大的客户端请求优先匹配给实时算力较大的边缘计算单元以降低所述客户端请求的响应时间,故选取所述客户端请求子集中耗时信息最大的客户端请求作为待匹配客户端请求;从所述实时算力序列中选取最大值对应的边缘计算单元作为所述待匹配客户端请求的目标计算单元,所述目标计算单元可以及时响应所述待匹配客户端请求以降低响应时间。
该可选的实施例中,在获取所述待匹配客户端请求的目标计算单元之后,将所述目标计算单元的任务数加一以更新时刻t时所述目标计算单元的负载值,进而实现所述目标计算单元实时算力的更新,得到更新实时算力;将所述实时算力序列中所述目标计算单元的实时算力替换为更新实时算力以获取更新后的实时算力序列。
该可选的实施例中,从所述客户端请求子集所有未匹配的客户端请求中选取耗时信息最大的客户端请求作为新的待匹配客户端请求,从更新后的实时算力序列中选取最大值对应的边缘计算单元作为新的待匹配客户端请求的目标计算单元。
该可选的实施例中,重复上述步骤,按照所述耗时信息从大到小的顺序遍历所述客户端请求子集以获取所述客户端请求子集中每一个客户端请求的目标计算单元。需要说明的是,不同目标服务器中边缘计算单元和所述客户端请求子集的匹配过程相互独立,按照相同的匹配过程可以获取不同目标服务器中所有客户端请求的目标计算单元。
如此,能够完成所有客户端请求与所述目标服务器中所有边缘计算单元的匹配过程,得到每一个客户端请求对应的目标计算单元,将客户端请求的响应任务平均分配给所有边缘计算单元,保证所有边缘计算单元的负载均衡性,同时保证所有客户端请求的响应速度。
S14,基于所述目标计算单元对所述客户端请求做出响应以获取响应数据。
在一个可选的实施例中,获取每一个客户端请求对应的目标计算单元,所述目标计算单元对客户端请求做出响应,得到所述客户端请求对应的响应数据,并将响应数据传输给客户端进行展示,所述响应数据与具体的客户端请求相关。
示例性的,若所述客户端请求为进入直播间,则目标计算单元得到的响应数据为直播间的视频和音频信息,并将所述直播间的视频和音频信息传输给客户端进行展示。
如此,目标计算单元对客户端请求做出响应得到每一个客户端请求的响应数据,并将响应数据传输给客户端。
S15,将所述响应数据同步给所有中心服务器以实现异地多活。
在一个可选的实施例中,由于不同客户端请求对应的响应数据不同,且不同中心服务器中处理的客户端请求不同,故在获取所有客户端的响应数据后,不同中心服务器中的数据会产生差异。此时,需要将所述响应数据同步给所有中心服务器以保证不同中心服务器的数据库中数据的一致性,所述响应数据同步的过程可以基于DRC(Data ReplicationCenter)数据库实时同步技术来实现。
该可选的实施例中,当任意一个中心服务器出现故障时,确定出现故障的中心服务器中每一个客户端请求的目标服务器,所述目标服务器可以利用自身数据库中的数据迅速地对客户端请求做出响应,从而实现客户端请求的平滑迁移,达到数据容灾的效果,实现异地多活。
由以上技术方案可以看出,本申请能够依据客户端请求的区域信息和中心服务器的负载获取每一个客户端请求的目标服务器,在每一个目标服务器中,进一步基于边缘计算单元的算力、负载以及客户端请求的耗时信息为客户端请求分配目标计算单元以获取客户端请求的响应数据,将客户端请求的响应任务平均分配给所有边缘计算单元,同时提高客户端请求的响应速度。
请参见图2,图2是本申请基于人工智能的异地多活实现装置的较佳实施例的功能模块图。基于人工智能的异地多活实现装置11包括构建单元110、接收单元111、筛选单元112、匹配单元113、响应单元114、同步单元115。本申请所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
在一个可选的实施例中,构建单元110用于在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应。
在一个可选的实施例中,在不同区域部署中心服务器,所述区域可以是不同城市,也是可以是不同国家,本申请不做限制,所述中心服务器与所述区域一一对应。所述中心服务器为系统中所有客户端提供计算机或者应用服务,每一个中心服务器包括数据库和多个边缘计算单元,所述边缘计算单元为具备计算、存储、数据传输功能的计算单元,可以是中心服务器下的电脑终端、智能手机、智能手表等等,所述边缘计算单元与对应的中心服务器之间可以进行数据的传输,所述数据库用于存储中心服务器产生的业务数据,其中,不同数据库中的数据是持续共享的,以保持不同中心服务器的数据库中数据的一致性。至此,不同区域的中心服务器构建了异地多活数据库。
在一个可选的实施例中,接收单元111用于依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个。
在一个可选的实施例中,所述依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个,包括:
采集不同客户端请求种类在不同边缘计算单元的实际耗时作为样本数据以储存在所述异地多活数据库中,所述样本数据包括客户端请求种类、边缘计算单元算力和实际耗时;
基于所述客户端请求种类搜索所述异地多活数据库以获取每一种客户端请求的样本数据集;
基于所述样本数据集计算每一种客户端请求的耗时信息;
依据所述异地多活数据库的统一接入服务对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息,并基于所述种类信息获取所述客户端请求的耗时信息。
该可选的实施例中,当异地多活的应用场景确定时,所有客户端请求的种类是固定不变的,示例性的,若所述异地多活的应用场景为直播场景,则所述客户端请求包括进入直播间、刷新直播间、发送弹幕等等固定的种类。在历史时间内,当任意客户端发出请求之后,需要所述异地多活数据库中的边缘计算单元对客户端请求进行响应以获取响应结果,采集获取响应结果的实际耗时,并将所述客户端请求种类、边缘计算单元的算力以及客户端请求的实际耗时作为一组样本数据储存在所述异地多活数据库中,其中,所述边缘计算单元的算力表征边缘计算单元每秒执行浮点运算的次数,算力越大则响应客户端请求的实际耗时越短。
该可选的实施例中,通过智能搜索引擎在异地多活数据库中搜索客户端请求种类来提取所述客户端请求种类对应的所有样本数据,并将所有样本数据作为所述客户端请求种类的样本数据集,遍历所有客户端请求种类以获取每一种客户端请求的样本数据集,智能搜索是结合了人工智能技术的新一代搜索引擎,该引擎除了能提供传统的快速检索、智能信息化过滤和推送等功能。
该可选的实施例中,基于客户端请求种类的样本数据集计算每一种客户端请求的耗时信息,所述耗时信息为单位算力下响应端请求的耗时长度,以第k种客户端请求为例,所述耗时信息满足关系式:
其中,Numk为第k种客户端请求的样本数据集中所有样本数据的数量,ti,Si分别为第i个样本数据中客户端请求的实际耗时和边缘计算单元的算力,为第k种客户端请求的耗时信息,表示单位算力下响应第k种客户端请求的耗时长度;按照相同的方法得到每一种客户端请求的耗时信息。
该可选的实施例中,为了解决由于中心服务器的不同造成的域名解析不稳定性的问题,本申请为不同区域的中心服务器设置统一接入服务,所述统一接入服务可以接收所有的客户端请求,并对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息;基于所述客户端请求的种类信息可以获取所述客户端请求的耗时信息。需要说明的是,在同一时刻所述统一接入服务接收到的客户端请求的数量为一个或多个。
在一个可选的实施例中,筛选单元112用于获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求。
在一个可选的实施例中,当统一接入服务接收到客户端请求后,将所述客户端请求的区域信息对应的中心服务器作为所述客户端请求的目标服务器,所述目标服务器用于接收对应的客户端请求,实现客户端请求的就近接入。
在另一个可选的实施例中,当统一接入服务接收到客户端请求后,需要对所有中心服务器进行筛选以确定所述客户端请求与多个中心服务器之间的对应关系。
该可选的实施例中,获取每一个中心服务器的负载值,所述负载值可以反应中心服务器的运行情况,以中心服务器j为例,所述负载值满足关系式:
其中,nj为中心服务器j中正在处理的任务数,Nj为中心服务器j可以同时处理的最大任务数,fj为所述中心服务器j的负载值,所述负载值越大表示中心服务器j处理的请求就越多。当fj=1时说明中心服务器j处于满负载状态,此时若有新的客户端请求,则需要等待现有的进程处理完毕后才能处理所述新的客户端请求,导致客户端请求响应速度降低,为了保证中心服务器j处于良好的运行状态,及时处理新的客户端请求,应保证中心服务器j的负载fj小于负载阈值,所述负载阈值的取值为0.7,若中心服务器j的负载fj大于所述负载阈值,则认为中心服务器j不能及时处理客户端请求,即客户端请求的响应速度降低。需要说明的是,若所述中心服务器j出现故障,则中心服务器j的负载为预设极大值,所述预设极大值取值为100。
该可选的实施例中,客户端请求的区域信息同样影响所述客户端请求的响应速度,客户端请求需要传输到中心服务器后才能够对所述客户端请求做出相应,中心服务器所在区域与所述客户端请求的区域信息之间距离越远,则所述客户端请求传输所需要的时间越长,客户端请求的响应速度降低。
该可选的实施例中,由于不同中心服务器的数据始终保持一致,故影响客户端请求响应速度的因素主要包括两个方面,一方面为中心服务器所在区域与所述客户端请求的区域信息之间的距离,另一方面为中心服务器的负载值;同时由于客户端请求在光纤中的传输速度接近光速,故所述距离对客户端请求响应速度的影响程度较小。
该可选的实施例中,所述基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求,包括:
当接收到目标客户端请求时,依据中心服务器响应系数模型计算每一个中心服务器的响应系数,所述目标客户端请求为多个客户端请求中的任意一个;
选取响应系数的最大值对应的中心服务器作为所述目标客户端请求的目标服务器;
遍历所有客户端请求以获取每一个客户端请求的目标服务器。
该可选的实施例中,当接收到目标客户端请求时,依据中心服务器响应系数模型计算每一个中心服务器的响应系数,所述目标客户端请求为多个客户端请求中的任意一个,所述中心服务器响应系数模型满足关系式:
其中,fj为中心服务器j的负载值;lj为中心服务器j所在区域与所述目标客户端请求的区域信息之间的距离;Max(l)为所有中心服务器所在区域与所述目标客户端请求的区域信息之间的距离l的最大值;f*为负载阈值,所述负载阈值的取值为0.7;w1,w2为预设权重,所述预设权重的取值为w1=0.6,w2=0.4;所述Wj为中心服务器j的响应系数,所述中心服务器j的响应系数取值范围为[0,1],数值越大表示中心服务器的响应速度越快;遍历所有中心服务器以计算每一个中心服务器的响应系数,选取响应系数的最大值对应的中心服务器作为所述目标客户端请求的目标服务器,将所述目标客户端请求送入所述目标服务器中进行后续处理。
该可选的实施例中,不同客户端请求筛选中心服务器以获取对应目标服务器的过程是相互独立的,故可按照所述目标客户端请求的筛选过程获取每一个客户端请求对应的目标服务器。其中,一个客户端请求对应一个目标服务器,但一个目标服务器可以对应多个客户端请求。
在一个可选的实施例中,匹配单元113用于存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元。
在一个可选的实施例中,存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,进一步基于加权轮询算法对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元,从而保证所有边缘计算单元的负载均衡性。所述加权轮询算法可以基于边缘计算单元的算力得到客户端请求与边缘计算单元的对应关系。
在另一个可选的实施例中,相同时刻下一个目标服务器会对应一个或多个客户端请求,存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,在任意一个目标服务器中,需要将所述目标服务器的客户端请求子集与边缘计算单元进行匹配,得到客户端请求子集中每一个客户端请求的目标计算单元,所述目标计算单元对存在匹配关系的客户端请求做出响应。
该可选的实施例中,所述基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元包括:
a.当获取目标服务器的客户端请求子集时,基于边缘计算单元的算力和负载值计算所述目标服务器中所有边缘计算单元的实时算力以构建实时算力序列;
b.选取所述客户端请求子集中耗时信息最大的客户端请求作为待匹配客户端请求;
c.从所述实时算力序列中选取最大值对应的边缘计算单元作为所述待匹配客户端请求的目标计算单元;
d.将所述目标计算单元的任务数加一以获取所述目标计算单元的更新实时算力,将所述实时算力序列中所述目标计算单元的实时算力替换为更新实时算力以获取更新后的实时算力序列;
e.重复步骤b到步骤d,按照所述耗时信息从大到小的顺序遍历所述客户端请求子集中未匹配的客户端请求以获取每一个客户端请求的目标计算单元。
该可选的实施例中,不同目标服务器中边缘计算单元和所述客户端请求子集的匹配过程相互独立,互不影响,本申请以任意一个目标服务器为示例,详细说明目标服务器的客户端请求子集与边缘计算单元的匹配过程。
该可选的实施例中,当获取目标服务器的客户端请求子集时,首先获取目标服务器中每一个边缘计算单元的算力和负载值,所述算力为边缘计算单元的固有属性值,不随时间变化,所述负载值可以反应边缘计算单元的运行情况,不同时间对应的负载值不同,负载值越大则所述缘计算单元的实时算力越小;与所述中心服务器相同的原理,当边缘计算单元的负载值大于负载阈值时表示边缘计算单元不能及时响应客户端请求,则将所述边缘计算单元的实时算力记为0,所述负载阈值的取值为0.7;如此,基于所述算力和负载值计算每一个边缘计算单元的实时算力,以边缘计算单元b为示例,所述实时算力满足关系式:
其中,sb为边缘计算单元b的算力,为时刻t时边缘计算单元b的负载值,f*为负载阈值,所述负载阈值的取值为0.7,/>为时刻t时边缘计算单元b的实时算力,所述时刻t为获取目标服务器的客户端请求子集的时刻;按照相同的方法获取所述时刻t下所述目标服务器中每一个边缘计算单元的实时算力以构成实时算力序列。
该可选的实施例中,应将耗时信息较大的客户端请求优先匹配给实时算力较大的边缘计算单元以降低所述客户端请求的响应时间,故选取所述客户端请求子集中耗时信息最大的客户端请求作为待匹配客户端请求;从所述实时算力序列中选取最大值对应的边缘计算单元作为所述待匹配客户端请求的目标计算单元,所述目标计算单元可以及时响应所述待匹配客户端请求以降低响应时间。
该可选的实施例中,在获取所述待匹配客户端请求的目标计算单元之后,将所述目标计算单元的任务数加一以更新时刻t时所述目标计算单元的负载值,进而实现所述目标计算单元实时算力的更新,得到更新实时算力;将所述实时算力序列中所述目标计算单元的实时算力替换为更新实时算力以获取更新后的实时算力序列。
该可选的实施例中,从所述客户端请求子集所有未匹配的客户端请求中选取耗时信息最大的客户端请求作为新的待匹配客户端请求,从更新后的实时算力序列中选取最大值对应的边缘计算单元作为新的待匹配客户端请求的目标计算单元。
该可选的实施例中,重复上述步骤,按照所述耗时信息从大到小的顺序遍历所述客户端请求子集以获取所述客户端请求子集中每一个客户端请求的目标计算单元。需要说明的是,不同目标服务器中边缘计算单元和所述客户端请求子集的匹配过程相互独立,按照相同的匹配过程可以获取不同目标服务器中所有客户端请求的目标计算单元。
在一个可选的实施例中,响应单元114用于基于所述目标计算单元对所述客户端请求做出响应以获取响应数据。
在一个可选的实施例中,获取每一个客户端请求对应的目标计算单元,所述目标计算单元对客户端请求做出响应,得到所述客户端请求对应的响应数据,并将响应数据传输给客户端进行展示,所述响应数据与具体的客户端请求相关。
示例性的,若所述客户端请求为进入直播间,则目标计算单元得到的响应数据为直播间的视频和音频信息,并将所述直播间的视频和音频信息传输给客户端进行展示。
在一个可选的实施例中,同步单元115用于将所述响应数据同步给所有中心服务器以实现异地多活。
在一个可选的实施例中,由于不同客户端请求对应的响应数据不同,且不同中心服务器中处理的客户端请求不同,故在获取所有客户端的响应数据后,不同中心服务器中的数据会产生差异。此时,需要将所述响应数据同步给所有中心服务器以保证不同中心服务器的数据库中数据的一致性,所述响应数据同步的过程可以基于DRC(Data ReplicationCenter)数据库实时同步技术来实现。
该可选的实施例中,当任意一个中心服务器出现故障时,确定出现故障的中心服务器中每一个客户端请求的目标服务器,所述目标服务器可以利用自身数据库中的数据迅速地对客户端请求做出响应,从而实现客户端请求的平滑迁移,达到数据容灾的效果,实现异地多活。
由以上技术方案可以看出,本申请能够依据客户端请求的区域信息和中心服务器的负载获取每一个客户端请求的目标服务器,在每一个目标服务器中,进一步基于边缘计算单元的算力、负载以及客户端请求的耗时信息为客户端请求分配目标计算单元以获取客户端请求的响应数据,将客户端请求的响应任务平均分配给所有边缘计算单元,同时提高客户端请求的响应速度。
请参见图3,是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行所述储器中存储的计算机可读指令以实现上述任一实施例所述的基于人工智能的异地多活实现方法。
在一个可选的实施例中,电子设备1还包括总线、存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于人工智能的异地多活实现程序。
图3仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于人工智能的异地多活实现方法,所述处理器13可执行所述多个指令从而实现:
在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应;
依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个;
获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求;
存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元;
基于所述目标计算单元对所述客户端请求做出响应以获取响应数据;
将所述响应数据同步给所有中心服务器以实现异地多活。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的异地多活实现程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于人工智能的异地多活实现程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于人工智能的异地多活实现方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成构建单元110、接收单元111、筛选单元112、匹配单元113、响应单元114、同步单元115。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(Processor)执行本申请各个实施例所述的基于人工智能的异地多活实现方法的部分。
电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器及其他存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的异地多活实现方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (8)
1.一种基于人工智能的异地多活实现方法,其特征在于,所述方法包括:
在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应;
依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个,包括:采集不同客户端请求种类在不同边缘计算单元的实际耗时作为样本数据以储存在所述异地多活数据库中,所述样本数据包括客户端请求种类、边缘计算单元算力和实际耗时;基于所述客户端请求种类搜索所述异地多活数据库以获取每一种客户端请求的样本数据集;基于所述样本数据集计算每一种客户端请求的耗时信息;依据所述异地多活数据库的统一接入服务对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息,并基于所述种类信息获取所述客户端请求的耗时信息;所述耗时信息满足关系式:其中,Numk为第k种客户端请求的样本数据集中所有样本数据的数量,ti,Si分别为第i个样本数据中客户端请求的实际耗时和边缘计算单元的算力,/>为第k种客户端请求的耗时信息,表示单位算力下响应第k种客户端请求的耗时长度;
获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求;
存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元;
基于所述目标计算单元对所述客户端请求做出响应以获取响应数据;
将所述响应数据同步给所有中心服务器以实现异地多活。
2.如权利要求1所述的基于人工智能的异地多活实现方法,其特征在于,所述基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求,包括:
当接收到目标客户端请求时,依据中心服务器响应系数模型计算每一个中心服务器的响应系数,所述目标客户端请求为多个客户端请求中的任意一个;
选取响应系数的最大值对应的中心服务器作为所述目标客户端请求的目标服务器;
遍历所有客户端请求以获取每一个客户端请求的目标服务器。
3.如权利要求2所述的基于人工智能的异地多活实现方法,其特征在于,所述中心服务器响应系数模型满足关系式:
其中,fj为中心服务器j的负载值;lj为中心服务器j所在区域与所述目标客户端请求的区域信息之间的距离;Max(l)为所有中心服务器所在区域与所述目标客户端请求的区域信息之间的距离l的最大值;f*为负载阈值,所述负载阈值的取值为0.7;w1,w2为预设权重,所述预设权重的取值为w1=0.6,w2=0.4;所述Wj为中心服务器j的响应系数,所述中心服务器j的响应系数取值范围为[0,1]。
4.如权利要求1所述的基于人工智能的异地多活实现方法,其特征在于,所述基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元包括:
a.当获取目标服务器的客户端请求子集时,基于边缘计算单元的算力和负载值计算所述目标服务器中所有边缘计算单元的实时算力以构建实时算力序列;
b.选取所述客户端请求子集中耗时信息最大的客户端请求作为待匹配客户端请求;
c.从所述实时算力序列中选取最大值对应的边缘计算单元作为所述待匹配客户端请求的目标计算单元;
d.将所述目标计算单元的任务数加一以获取所述目标计算单元的更新实时算力,将所述实时算力序列中所述目标计算单元的实时算力替换为更新实时算力以获取更新后的实时算力序列;
e.重复步骤b到步骤d,按照所述耗时信息从大到小的顺序遍历所述客户端请求子集中未匹配的客户端请求以获取每一个客户端请求的目标计算单元。
5.如权利要求4所述的基于人工智能的异地多活实现方法,其特征在于,所述基于边缘计算单元的算力和负载值计算所述目标服务器中所有边缘计算单元的实时算力以构建实时算力序列中,所述实时算力满足关系式:
其中,sb为边缘计算单元b的算力,为时刻t时边缘计算单元b的负载值,f*为负载阈值,所述负载阈值的取值为0.7,/>为时刻t时边缘计算单元b的实时算力,所述时刻t为获取目标服务器的客户端请求子集的时刻。
6.一种基于人工智能的异地多活实现装置,其特征在于,所述装置包括:
构建单元,用于在不同区域部署中心服务器以构建异地多活数据库,所述中心服务器包括多个边缘计算单元,所述中心服务器与所述区域一一对应;
接收单元,用于依据所述异地多活数据库的统一接入服务接收客户端请求以获取所述客户端请求的区域信息和耗时信息,所述客户端请求为一个或多个,包括:采集不同客户端请求种类在不同边缘计算单元的实际耗时作为样本数据以储存在所述异地多活数据库中,所述样本数据包括客户端请求种类、边缘计算单元算力和实际耗时;基于所述客户端请求种类搜索所述异地多活数据库以获取每一种客户端请求的样本数据集;基于所述样本数据集计算每一种客户端请求的耗时信息;依据所述异地多活数据库的统一接入服务对客户端请求进行域名解析得到所述客户端请求的区域信息和种类信息,并基于所述种类信息获取所述客户端请求的耗时信息;所述耗时信息满足关系式:其中,Numk为第k种客户端请求的样本数据集中所有样本数据的数量,ti,Si分别为第i个样本数据中客户端请求的实际耗时和边缘计算单元的算力,/>为第k种客户端请求的耗时信息,表示单位算力下响应第k种客户端请求的耗时长度;
筛选单元,用于获取所有中心服务器的负载值,并基于所述区域信息和所述负载值筛选所述中心服务器以确定每一个客户端请求的目标服务器,所述目标服务器对应一个或多个客户端请求;
匹配单元,用于存储目标服务器对应的客户端请求以构建每一个目标服务器的客户端请求子集,并基于所述耗时信息对相同目标服务器的所述边缘计算单元和所述客户端请求子集进行匹配以获取每一个客户端请求的目标计算单元;
响应单元,用于基于所述目标计算单元对所述客户端请求做出响应以获取响应数据;
同步单元,用于将所述响应数据同步给所有中心服务器以实现异地多活。
7.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至5中任意一项所述的基于人工智能的异地多活实现方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的基于人工智能的异地多活实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210470630.XA CN114884946B (zh) | 2022-04-28 | 2022-04-28 | 基于人工智能的异地多活实现方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210470630.XA CN114884946B (zh) | 2022-04-28 | 2022-04-28 | 基于人工智能的异地多活实现方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114884946A CN114884946A (zh) | 2022-08-09 |
CN114884946B true CN114884946B (zh) | 2024-01-16 |
Family
ID=82674642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210470630.XA Active CN114884946B (zh) | 2022-04-28 | 2022-04-28 | 基于人工智能的异地多活实现方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114884946B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241387A (zh) * | 2017-05-12 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 数据请求的处理方法、装置及系统 |
WO2018072618A1 (zh) * | 2016-10-18 | 2018-04-26 | 阿里巴巴集团控股有限公司 | 流式计算任务的分配方法和控制服务器 |
CN108011995A (zh) * | 2017-12-19 | 2018-05-08 | 北京星河星云信息技术有限公司 | 异地多活的实现方法、异地多活服务平台及存储介质 |
CN109308223A (zh) * | 2018-09-17 | 2019-02-05 | 平安科技(深圳)有限公司 | 一种服务请求的响应方法及设备 |
CN113190625A (zh) * | 2021-05-25 | 2021-07-30 | 中国工商银行股份有限公司 | 请求处理方法、装置、电子设备、介质和程序产品 |
US11086730B2 (en) * | 2014-11-26 | 2021-08-10 | Zetta, Llc | Snapshot management |
CN114124968A (zh) * | 2022-01-27 | 2022-03-01 | 深圳华锐金融技术股份有限公司 | 基于行情数据的负载均衡方法、装置、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180921B2 (en) * | 2001-06-19 | 2012-05-15 | Intel Corporation | Method and apparatus for load balancing |
US20030217147A1 (en) * | 2002-05-14 | 2003-11-20 | Maynard William P. | Directing a client computer to a least network latency server site |
WO2010102084A2 (en) * | 2009-03-05 | 2010-09-10 | Coach Wei | System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications |
US9819563B2 (en) * | 2014-12-19 | 2017-11-14 | Verizon Patent And Licensing Inc. | Failure management for electronic transactions |
-
2022
- 2022-04-28 CN CN202210470630.XA patent/CN114884946B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086730B2 (en) * | 2014-11-26 | 2021-08-10 | Zetta, Llc | Snapshot management |
WO2018072618A1 (zh) * | 2016-10-18 | 2018-04-26 | 阿里巴巴集团控股有限公司 | 流式计算任务的分配方法和控制服务器 |
CN107241387A (zh) * | 2017-05-12 | 2017-10-10 | 腾讯科技(深圳)有限公司 | 数据请求的处理方法、装置及系统 |
CN108011995A (zh) * | 2017-12-19 | 2018-05-08 | 北京星河星云信息技术有限公司 | 异地多活的实现方法、异地多活服务平台及存储介质 |
CN109308223A (zh) * | 2018-09-17 | 2019-02-05 | 平安科技(深圳)有限公司 | 一种服务请求的响应方法及设备 |
CN113190625A (zh) * | 2021-05-25 | 2021-07-30 | 中国工商银行股份有限公司 | 请求处理方法、装置、电子设备、介质和程序产品 |
CN114124968A (zh) * | 2022-01-27 | 2022-03-01 | 深圳华锐金融技术股份有限公司 | 基于行情数据的负载均衡方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
"两地三中心"实现业务连续性新飞跃;吕仲涛;;中国金融电脑(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114884946A (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003992B2 (en) | Distributed training and prediction using elastic resources | |
US10997204B2 (en) | Cross cluster replication | |
WO2020258290A1 (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
CN112654978B (zh) | 分布式异构存储系统中数据一致性实时检查的方法、设备和系统 | |
US20090187588A1 (en) | Distributed indexing of file content | |
JP2021500649A (ja) | シャード・データベースのシャード・テーブルにレコードを記憶するためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム、シャード・データベースのシャード・テーブルからレコードを検索するためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステム、ならびにシャード・データベースを記憶するためのシステム | |
US20140222856A1 (en) | System and methods to configure a query language using an operator dictionary | |
EP3769232B1 (en) | Method and system for performing inner-joins on a sharded data set | |
CN111651424B (zh) | 一种数据处理方法、装置、数据节点及存储介质 | |
US11392617B2 (en) | Recovering from a failure of an asynchronous replication node | |
CN107276914B (zh) | 基于cmdb的自助资源分配调度的方法 | |
Zobaed et al. | Big Data in the Cloud. | |
CN114884946B (zh) | 基于人工智能的异地多活实现方法及相关设备 | |
US20180052899A1 (en) | Multiple parallel reducer types in a single map-reduce job | |
Nawab et al. | The challenges of global-scale data management | |
US11822570B2 (en) | Database synchronization employing parallel poll threads | |
AU2021268828B2 (en) | Secure data replication in distributed data storage environments | |
US11455309B2 (en) | Partition key adjustment based on query workload | |
US11157454B2 (en) | Event-based synchronization in a file sharing environment | |
CN113051108A (zh) | 一种数据备份方法及系统 | |
CN113535673A (zh) | 生成配置文件及数据处理的方法和装置 | |
US20190121894A1 (en) | Parallel map and reduce on hash chains | |
Shen | Distributed storage system model design in internet of things based on hash distribution | |
CN109308302A (zh) | 数据确定方法、装置、电子设备及计算机可读存储介质 | |
US11593498B2 (en) | Distribution of user specific data elements in a replication environment |
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 |