数据传输速率动态调整方法、装置、电子设备及存储介质与流程

专利2022-05-09  41



1.本发明涉及数据分析技术领域,尤其涉及一种数据传输速率动态调整方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着计算机科技的发展,互联网中产生了海量的数据,这些数据都需要推送给相应的用户,以实现数据在人们之间的传递。绝大多数商家在向用户进行数据推送时,需与数据服务商进行合作,以实现统一的数据发送。
3.目前主要的数据推送方法多为将数据发送至数据服务商,由短信服务商进行统一的调度及推送。但该方法中,如遇到数据服务商短时间内收到大量数据的情况,例如,每年的双十二,会有大量促销数据需要数据服务商进行推送,导致数据推送的速率超出数据服务商的服务上限,造成推送系统宕机,使得数据推送的效率低下。


技术实现要素:

4.本发明提供一种数据传输速率动态调整方法、装置及计算机可读存储介质,其主要目的在于解决数据推送的效率低下的问题。
5.为实现上述目的,本发明提供的一种数据传输速率动态调整方法,包括:
6.获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识;
7.利用所述唯一标识建立每个服务方系统的数据缓存队列;
8.获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列;
9.将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率;
10.获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数;
11.根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。
12.可选地,所述获取多个服务方系统的系统接口参数,包括:
13.确定每个服务方系统的系统环境,选取与所述系统环境对应的编译器;;
14.利用所述编译器生成系统文件调用语句;
15.执行所述系统文件调用语句获取每个系统的系统文件;
16.解析所述系统文件得到每个系统的系统接口参数。
17.可选地,所述解析所述系统文件得到每个系统的系统接口参数,包括:
18.将所述系统文件进行字段划分,得到多个文件字段;
19.提取所述多个文件字段中各文件字段的字段类型;
20.选取预设类型的文件字段为接口参数字段;
21.对所述接口参数字段进行解析,得到系统接口参数。
22.可选地,所述利用所述唯一标识建立每个服务方系统的数据缓存队列,包括:
23.创建与所述多个服务方系统的数量相同的预设长度的空白数据队列,并利用所述唯一标识对所述空白数据队列进行标记;
24.确定缓存数据类型;
25.根据所述缓存数据类型对所述空白数据队列进行队列变量赋值,得到每个服务方系统的数据缓存队列。
26.可选地,所述将所述待发送数据以预设的写入速率写入所述数据缓存队列,包括:
27.将所述待发送数据进行数据流转化,得到数据数据流;
28.将所述数据数据流按照预设的写入速率写入所述数据缓存队列。
29.可选地,所述根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,包括:
30.根据所述历史成功率信息分析每个服务方系统的成功率趋势值;
31.根据所述成功率趋势值与所述即刻成功率计算每个服务方系统的成功率指数。
32.可选地,所述根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率,包括:
33.判断所述成功率指数是否大于预设的成功率阈值;
34.若所述成功率指数大于预设的成功率阈值,则增大所述成功率指数大于预设的成功率阈值的服务方系统对应的数据缓存队列中的推送速率;
35.若所述成功率指数小于或等于预设的成功率阈值,则减少所述成功率指数小于或等于预设的成功率指数阈值的服务方系统对应的数据缓存队列中的推送速率。
36.为了解决上述问题,本发明还提供一种数据传输速率动态调整装置,所述装置包括:
37.标识生成模块,用于获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识;
38.队列构建模块,用于利用所述唯一标识建立每个服务方系统的数据缓存队列;
39.数据缓存模块,用于获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列;
40.数据推送模块,用于将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率;
41.指数计算模块,用于获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数;
42.动态速率调整模块,用于根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。
43.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
44.存储器,存储至少一个指令;及
45.处理器,执行所述存储器中存储的指令以实现上述所述的数据传输速率动态调整方法。
46.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存
储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据传输速率动态调整方法。
47.本发明实施例通过同时检测多个具有数据推送功能的服务端系统的数据推送速率,并通过根据历史成功率信息与即刻成功率计算每个服务方系统的成功率指数,可实现结合历史趋势以及当前系统成功率对服务方系统的成功率指数进行判断,避免了仅依据当前系统的成功率对推送速率进行调整,有利于提高后续根据该成功率指数进行推送速率的调整的精确度,从而实现了动态的推送速率调整,提高数据的推送效率。因此本发明提出的数据传输速率动态调整方法、装置、电子设备及计算机可读存储介质,可以解决数据推送的效率低下的问题。
附图说明
48.图1为本发明一实施例提供的数据传输速率动态调整方法的流程示意图;
49.图2为本发明一实施例提供的将待发送数据写入数据缓存队列的流程示意图;
50.图3为本发明一实施例提供的数据传输速率动态调整装置的功能模块图;
51.图4为本发明一实施例提供的实现所述数据传输速率动态调整方法的电子设备的结构示意图。
52.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
53.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
54.本申请实施例提供一种数据传输速率动态调整方法。所述数据传输速率动态调整方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述数据传输速率动态调整方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
55.参照图1所示,为本发明一实施例提供的数据传输速率动态调整方法的流程示意图。在本实施例中,所述数据传输速率动态调整方法包括:
56.s1、获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识。
57.本发明实施例中,所述服务方系统为具有数据发送功能的系统。例如,腾讯云数据发送系统、容联云数据发送系统等。
58.详细地,所述获取多个服务方系统的系统接口参数,包括:
59.确定每个服务方系统的系统环境,选取与所述系统环境对应的编译器;;
60.利用所述编译器生成系统文件调用语句;
61.执行所述系统文件调用语句获取每个系统的系统文件;
62.解析所述系统文件得到每个系统的系统接口参数。
63.具体地,所述每个服务方系统的系统环境由服务方系统的可运行语言锁决定,例如,若所述服务方系统可运行java语言,则所述系统环境为java。
64.根据所述系统环境选取相应的编译器,可确保生成的系统文件调用语句的可用
性,所述编译器包括clang编译器、microsoft visual c 编译器等。
65.本发明实施例中,所述系统文件为不同服务方系统中用于记载系统接口参数的文件,所述系统接口参数包括但不限于接口名称、接口类型、接口数据传输速率等。
66.详细地,所述解析所述系统文件得到每个系统的系统接口参数,包括:
67.将所述系统文件进行字段划分,得到多个文件字段;
68.提取所述多个文件字段中各文件字段的字段类型;
69.选取预设类型的文件字段为接口参数字段;
70.对所述接口参数字段进行解析,得到系统接口参数。
71.具体地,所述将所述系统文件进行字段划分,得到多个文件字段,包括:
72.遍历所述系统文件并确定所述系统文件中字段分隔符的位置;
73.根据所述字段分隔符的位置对所述系统文件进行字段划分,得到多个文件字段。
74.本发明实施例中,可利用具有类型提取功能的java语句提取所述多个文件字段中各文件字段的字段类型,所述字段类型包括参数类型、注释类型等。
75.例如,系统文件中包含“qwe<rt<yuio<pl”的内容,其中,<为字段分隔符,则按照系统文件中字段分隔符的位置将系统文件进行字段划分为:“qwe”、“rt”、“yuio”和“pl”四个文件字段,并按照划分顺序将多个文件字段进行序号标注为:1“qwe”、2“rt”、3“yuio”和4“pl”,例如,预设序号为2,则确定字段“rt”为目标数据字段。
76.进一步地,本发明实施例利用预设的解析器对所述系统接口参数字段进行解析,得到系统接口参数,所述解析器包括但不限于dom解析器、html解析器。
77.本发明实施例中通,单个的服务方系统也可能包含多个系统接口参数,本发明实施例根据每个服务方系统的系统接口参数生成该服务方系统的唯一标识。
78.详细地,所述根据所述系统接口参数生成每个服务方系统的唯一标识,包括:
79.对所述系统接口参数进行向量化处理,得到参数向量;
80.将所述参数向量进行拼接,得到唯一标识。
81.具体地,所述对所述系统接口参数进行向量化处理,得到参数向量,包括:
82.将所述系统接口参数中的每个字节进行字节编码,得到字节向量集;
83.将所述字节向量集中的字节向量进行拼接,得到所述待转换参数的参数向量。
84.本发明实施例中,可利用预设的编码器对所述系统接口参数中的每个字节进行字节编码,所述编码器包括ascii编码器、uri编码器等。
85.具体地,本发明实施例将获得的参数向量按照首位相连的方式进行拼接,得到唯一标识,所述唯一标识可用于唯一标记服务方系统。
86.s2、利用所述唯一标识建立每个服务方系统的数据缓存队列。
87.本发明实施例中,所述利用所述唯一标识建立每个服务方系统的数据缓存队列,包括:
88.创建与所述多个服务方系统的数量相同的预设长度的空白数据队列,并利用所述唯一标识对所述空白数据队列进行标记;
89.确定缓存数据类型;
90.根据所述缓存数据类型对所述空白数据队列进行队列变量赋值,得到每个服务方系统的数据缓存队列。
91.详细地,本发明实施例为每一个服务方系统均创建一个数据缓存队列。
92.具体地,可利用kafka中“topic”指令创建空白数据队列,所述空白数据队列可用于有序写入的数据。
93.本发明实施例中,所述缓存数据类型包括但不限于string、hash、map、set和sortset等类型的数据,所述缓存数据类型由分布式系统的日志中所包含的数据类型所确定,例如,需要发送的数据中包含string类型数据,则缓存数据类型则为string类型数据。其中,可同时确定多个缓存数据类型,即所述缓存数据类型可以同时为多种不同类型的数据。
94.进一步地,本发明实施例获取预先存储的队列变量值表,利用所述队列变量值表对所述空白数据队列进行队列变量赋值,得到第一缓存队列与第二缓存队列。其中,所述队列变量值表可由用户预先设定,所述变量值表中包含与多种不同的缓存数据类型对应的队列变量。其中,所述队列变量包括但不限于主键、主键值类型等。
95.s3、获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列。
96.本发明实施例中,所述待发送数据可由用户预先编辑并存储于区块链节点中,例如活动推送的通知数据、身份验证的通知数据等,利用区块链对数据的高吞吐性,可提高获取所述待发送数据的速率。
97.详细地,参图2所示,所述将所述待发送数据以预设的写入速率写入所述数据缓存队列,包括:
98.s21、将所述待发送数据进行数据流转化,得到数据数据流;
99.s22、将所述数据数据流按照预设的写入速率写入所述数据缓存队列。
100.具体地,本发明实施例可通过io转换器将所述待发送数据进行数据流转化,得到数据数据流,将所述待发送数据转换成数据数据流,有利于提高将所述待发送数据写入所述数据缓存队列的效率。
101.s4、将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率。
102.本发明实施例中,所述将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,包括:
103.向所述数据缓存队列中唯一标识对应的所述服务方系统发送数据传输请求,得到数据传输状态;
104.当所述数据传输状态为可接受数据传输时,将所述数据缓存队列中的待推送数据推送至所述服务方系统以进行数据发送。
105.当服务方系统接收到数据传输请求时,会自动的返回一个布尔值代表当前的数据传输传输状态,所述布尔值为0或1,0表示当前数据传输状态被处于不可用状态,1表示当前数据传输状态为可接受状态。
106.进一步地,本发明实施例通过预先安装于所述服务方系统的监控器监测所述服务方系统中发送的每条数据的发送状态,其中,所述发送状态包括发送成功和发送失败。
107.本发明实施例通过如下比例算法计算每个服务方系统中数据发送的即刻成功率:
108.f=y
i
/n
109.其中,f为所述即刻成功率,y为预设单位时间内第i个服务方系统中成功发送的数据数量,n为预设单位时间内第i个服务方系统中发送的数据的总数量。
110.s5、获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数。
111.本发明实施例中,所述历史成功率信息中包含多个历史时刻上每个服务方系统的成功率,即服务方系统中前一天或多天中,与当前服务方系统相同时刻数据发送的成功率,例如,步骤s4中实时监测到当前服务方系统时间为1月31日3点,此时的即刻成功率为80,则所述历史成功率信息包含1月30日3点时的成功率、1月29日3点的成功率、1月28日3点的成功率
……
112.详细地,所述根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,包括:
113.根据所述历史成功率信息分析每个服务方系统的成功率趋势值;
114.根据所述成功率趋势值与所述即刻成功率计算每个服务方系统的成功率指数。
115.具体地,所述根据所述历史成功率信息分析每个服务方系统的成功率趋势值,即根据历史成功率信息分析每个服务方系统在不同时间时的成功率。
116.本发明实施例中,所述根据所述历史成功率信息分析每个服务方系统的成功率趋势值,包括:
117.利用如下趋势分析算法计算所述成功率趋势值:
[0118][0119]
其中,q为所述成功率趋势值,m为速技术历史成功率信息中包含的信息数量,c
m
为第m个所述历史成功率信息。
[0120]
例如,存在历史成功率信息中包含1月30日3点时的成功率为80、1月29日3点的成功率为70、1月28日3点的成功率为80,1月27日3点的成功率为90,则通过上述趋势分析算法计算可得到成功率趋势值为80。
[0121]
进一步地,本发明实施例根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,即将所述成功率趋势值与所述即刻成功率指数相加,得到服务方系统的成功率指数。
[0122]
本发明实施例通过根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,可实现结合历史趋势以及当前系统成功率对服务方系统的成功率指数进行判断,有利于提高后续根据该成功率指数进行推送速率的调整的精确度,以实现资源的更大化利用。
[0123]
s6、根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。
[0124]
本发明实施例中,可通过判断所述成功率指数是否大于预设的成功率阈值,若所述成功率指数大于预设的成功率阈值,则增大所述成功率指数大于预设的成功率阈值的服务方系统对应的数据缓存队列中的推送速率,若所述成功率指数小于或等于预设的成功率阈值,则减少所述成功率指数小于或等于预设的成功率指数阈值的服务方系统对应的数据
缓存队列中的推送速率。
[0125]
详细地,将每个服务方系统中数据发送的成功率指数与预设的成功率阈值进行比较,进而得知每个服务方系统中数据发送的成功率指数是否大于所述成功率阈值。
[0126]
本发明实施例中,若服务方系统中数据发送的成功率指数大于所述成功率阈值,则增大该服务方系统对应的数据缓存队列的推送速率,以此更高充分的利用该服务方系统的资源,提高数据推送的整体效率。
[0127]
本发明实施例中,若服务方系统中数据发送的成功率指数小于或等于所述成功率阈值,则说明该服务方系统出现故障,导致无法及时进行数据推送,因此,减少所述服务方系统对应的数据缓存队列的推送速率。
[0128]
本发明实施例通过同时检测多个具有数据推送功能的服务端系统的数据推送速率,并通过根据历史成功率信息与即刻成功率计算每个服务方系统的成功率指数,可实现结合历史趋势以及当前系统成功率对服务方系统的成功率指数进行判断,避免了仅依据当前系统的成功率对推送速率进行调整,有利于提高后续根据该成功率指数进行推送速率的调整的精确度,从而实现了动态的推送速率调整,提高数据的推送效率。因此本发明提出的数据传输速率动态调整方法,可以解决数据推送的效率低下的问题。
[0129]
如图3所示,是本发明一实施例提供的数据传输速率动态调整装置的功能模块图。
[0130]
本发明所述数据传输速率动态调整装置100可以安装于电子设备中。根据实现的功能,所述数据传输速率动态调整装置100可以包括标识生成模块101、队列构建模块102、数据缓存模块103、数据推送模块104、指数计算模块105和动态速率调整模块106。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0131]
在本实施例中,关于各模块/单元的功能如下:
[0132]
所述标识生成模块101,用于获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识。
[0133]
本发明实施例中,所述服务方系统为具有数据发送功能的系统。例如,腾讯云数据发送系统、容联云数据发送系统等。
[0134]
详细地,所述标识生成模块101具体用于:
[0135]
确定每个服务方系统的系统环境,选取与所述系统环境对应的编译器;;
[0136]
利用所述编译器生成系统文件调用语句;
[0137]
执行所述系统文件调用语句获取每个系统的系统文件;
[0138]
解析所述系统文件得到每个系统的系统接口参数;
[0139]
根据所述系统接口参数生成每个服务方系统的唯一标识。
[0140]
具体地,所述每个服务方系统的系统环境由服务方系统的可运行语言锁决定,例如,若所述服务方系统可运行java语言,则所述系统环境为java。
[0141]
根据所述系统环境选取相应的编译器,可确保生成的系统文件调用语句的可用性,所述编译器包括clang编译器、microsoft visual c 编译器等。
[0142]
本发明实施例中,所述系统文件为不同服务方系统中用于记载系统接口参数的文件,所述系统接口参数包括但不限于接口名称、接口类型、接口数据传输速率等。
[0143]
详细地,所述解析所述系统文件得到每个系统的系统接口参数,包括:
[0144]
将所述系统文件进行字段划分,得到多个文件字段;
[0145]
提取所述多个文件字段中各文件字段的字段类型;
[0146]
选取预设类型的文件字段为接口参数字段;
[0147]
对所述接口参数字段进行解析,得到系统接口参数。
[0148]
具体地,所述将所述系统文件进行字段划分,得到多个文件字段,包括:
[0149]
遍历所述系统文件并确定所述系统文件中字段分隔符的位置;
[0150]
根据所述字段分隔符的位置对所述系统文件进行字段划分,得到多个文件字段。
[0151]
本发明实施例中,可利用具有类型提取功能的java语句提取所述多个文件字段中各文件字段的字段类型,所述字段类型包括参数类型、注释类型等。
[0152]
例如,系统文件中包含“qwe<rt<yuio<pl”的内容,其中,<为字段分隔符,则按照系统文件中字段分隔符的位置将系统文件进行字段划分为:“qwe”、“rt”、“yuio”和“pl”四个文件字段,并按照划分顺序将多个文件字段进行序号标注为:1“qwe”、2“rt”、3“yuio”和4“pl”,例如,预设序号为2,则确定字段“rt”为目标数据字段。
[0153]
进一步地,本发明实施例利用预设的解析器对所述系统接口参数字段进行解析,得到系统接口参数,所述解析器包括但不限于dom解析器、html解析器。
[0154]
本发明实施例中通,单个的服务方系统也可能包含多个系统接口参数,本发明实施例根据每个服务方系统的系统接口参数生成该服务方系统的唯一标识。
[0155]
详细地,所述根据所述系统接口参数生成每个服务方系统的唯一标识,包括:
[0156]
对所述系统接口参数进行向量化处理,得到参数向量;
[0157]
将所述参数向量进行拼接,得到唯一标识。
[0158]
具体地,所述对所述系统接口参数进行向量化处理,得到参数向量,包括:
[0159]
将所述系统接口参数中的每个字节进行字节编码,得到字节向量集;
[0160]
将所述字节向量集中的字节向量进行拼接,得到所述待转换参数的参数向量。
[0161]
本发明实施例中,可利用预设的编码器对所述系统接口参数中的每个字节进行字节编码,所述编码器包括ascii编码器、uri编码器等。
[0162]
具体地,本发明实施例将获得的参数向量按照首位相连的方式进行拼接,得到唯一标识,所述唯一标识可用于唯一标记服务方系统。
[0163]
所述队列构建模块102,用于利用所述唯一标识建立每个服务方系统的数据缓存队列。
[0164]
本发明实施例中,所述队列构建模块102具体用于:
[0165]
创建与所述多个服务方系统的数量相同的预设长度的空白数据队列,并利用所述唯一标识对所述空白数据队列进行标记;
[0166]
确定缓存数据类型;
[0167]
根据所述缓存数据类型对所述空白数据队列进行队列变量赋值,得到每个服务方系统的数据缓存队列。
[0168]
详细地,本发明实施例为每一个服务方系统均创建一个数据缓存队列。
[0169]
具体地,可利用kafka中“topic”指令创建空白数据队列,所述空白数据队列可用于有序写入的数据。
[0170]
本发明实施例中,所述缓存数据类型包括但不限于string、hash、map、set和
sortset等类型的数据,所述缓存数据类型由分布式系统的日志中所包含的数据类型所确定,例如,需要发送的数据中包含string类型数据,则缓存数据类型则为string类型数据。其中,可同时确定多个缓存数据类型,即所述缓存数据类型可以同时为多种不同类型的数据。
[0171]
进一步地,本发明实施例获取预先存储的队列变量值表,利用所述队列变量值表对所述空白数据队列进行队列变量赋值,得到第一缓存队列与第二缓存队列。其中,所述队列变量值表可由用户预先设定,所述变量值表中包含与多种不同的缓存数据类型对应的队列变量。其中,所述队列变量包括但不限于主键、主键值类型等。
[0172]
所述数据缓存模块103,用于获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列。
[0173]
本发明实施例中,所述待发送数据可由用户预先编辑并存储于区块链节点中,例如活动推送的通知数据、身份验证的通知数据等,利用区块链对数据的高吞吐性,可提高获取所述待发送数据的速率。
[0174]
详细地,所述数据缓存模块103具体用于:
[0175]
将所述待发送数据进行数据流转化,得到数据数据流;
[0176]
将所述数据数据流按照预设的写入速率写入所述数据缓存队列。
[0177]
具体地,本发明实施例可通过io转换器将所述待发送数据进行数据流转化,得到数据数据流,将所述待发送数据转换成数据数据流,有利于提高将所述待发送数据写入所述数据缓存队列的效率。
[0178]
所述数据推送模块104,用于将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率。
[0179]
本发明实施例中,所述数据推送模块104具体用于:
[0180]
向所述数据缓存队列中唯一标识对应的所述服务方系统发送数据传输请求,得到数据传输状态;
[0181]
当所述数据传输状态为可接受数据传输时,将所述数据缓存队列中的待推送数据推送至所述服务方系统以进行数据发送。
[0182]
当服务方系统接收到数据传输请求时,会自动的返回一个布尔值代表当前的数据传输传输状态,所述布尔值为0或1,0表示当前数据传输状态被处于不可用状态,1表示当前数据传输状态为可接受状态。
[0183]
进一步地,本发明实施例通过预先安装于所述服务方系统的监控器监测所述服务方系统中发送的每条数据的发送状态,其中,所述发送状态包括发送成功和发送失败。
[0184]
本发明实施例通过如下比例算法计算每个服务方系统中数据发送的即刻成功率:
[0185]
f=y
i
/n
[0186]
其中,f为所述即刻成功率,y为预设单位时间内第i个服务方系统中成功发送的数据数量,n为预设单位时间内第i个服务方系统中发送的数据的总数量。
[0187]
所述指数计算模块105,用于获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数。
[0188]
本发明实施例中,所述历史成功率信息中包含多个历史时刻上每个服务方系统的成功率,即服务方系统中前一天或多天中,与当前服务方系统相同时刻数据发送的成功率,
例如,所述数据推送模块104实时监测到当前服务方系统时间为1月31日3点,此时的即刻成功率为80,则所述历史成功率信息包含1月30日3点时的成功率、1月29日3点的成功率、1月28日3点的成功率
……
[0189]
详细地,所述指数计算模块105具体用于:
[0190]
根据所述历史成功率信息分析每个服务方系统的成功率趋势值;
[0191]
根据所述成功率趋势值与所述即刻成功率计算每个服务方系统的成功率指数。
[0192]
具体地,所述根据所述历史成功率信息分析每个服务方系统的成功率趋势值,即根据历史成功率信息分析每个服务方系统在不同时间时的成功率。
[0193]
本发明实施例中,所述根据所述历史成功率信息分析每个服务方系统的成功率趋势值,包括:
[0194]
利用如下趋势分析算法计算所述成功率趋势值:
[0195][0196]
其中,q为所述成功率趋势值,m为速技术历史成功率信息中包含的信息数量,c
m
为第m个所述历史成功率信息。
[0197]
例如,存在历史成功率信息中包含1月30日3点时的成功率为80、1月29日3点的成功率为70、1月28日3点的成功率为80,1月27日3点的成功率为90,则通过上述趋势分析算法计算可得到成功率趋势值为80。
[0198]
进一步地,本发明实施例根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,即将所述成功率趋势值与所述即刻成功率指数相加,得到服务方系统的成功率指数。
[0199]
本发明实施例通过根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,可实现结合历史趋势以及当前系统成功率对服务方系统的成功率指数进行判断,有利于提高后续根据该成功率指数进行推送速率的调整的精确度,以实现资源的更大化利用。
[0200]
所述动态速率调整模块106,用于根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。
[0201]
本发明实施例中,可通过判断所述成功率指数是否大于预设的成功率阈值,若所述成功率指数大于预设的成功率阈值,则增大所述成功率指数大于预设的成功率阈值的服务方系统对应的数据缓存队列中的推送速率,若所述成功率指数小于或等于预设的成功率阈值,则减少所述成功率指数小于或等于预设的成功率指数阈值的服务方系统对应的数据缓存队列中的推送速率。
[0202]
详细地,将每个服务方系统中数据发送的成功率指数与预设的成功率阈值进行比较,进而得知每个服务方系统中数据发送的成功率指数是否大于所述成功率阈值。
[0203]
本发明实施例中,若服务方系统中数据发送的成功率指数大于所述成功率阈值,则增大该服务方系统对应的数据缓存队列的推送速率,以此更高充分的利用该服务方系统的资源,提高数据推送的整体效率。
[0204]
本发明实施例中,若服务方系统中数据发送的成功率指数小于或等于所述成功率
阈值,则说明该服务方系统出现故障,导致无法及时进行数据推送,因此,减少所述服务方系统对应的数据缓存队列的推送速率。
[0205]
本发明实施例通过同时检测多个具有数据推送功能的服务端系统的数据推送速率,并通过根据历史成功率信息与即刻成功率计算每个服务方系统的成功率指数,可实现结合历史趋势以及当前系统成功率对服务方系统的成功率指数进行判断,避免了仅依据当前系统的成功率对推送速率进行调整,有利于提高后续根据该成功率指数进行推送速率的调整的精确度,从而实现了动态的推送速率调整,提高数据的推送效率。因此本发明提出的数据传输速率动态调整装置,可以解决数据推送的效率低下的问题。
[0206]
如图4所示,是本发明一实施例提供的实现数据传输速率动态调整方法的电子设备的结构示意图。
[0207]
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如数据传输速率动态调整程序12。
[0208]
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据传输速率动态调整程序12的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0209]
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如数据传输速率动态调整程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
[0210]
所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
[0211]
图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0212]
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态
指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi

fi模块等,在此不再赘述。
[0213]
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi

fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
[0214]
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
[0215]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0216]
所述电子设备1中的所述存储器11存储的数据传输速率动态调整程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
[0217]
获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识;
[0218]
利用所述唯一标识建立每个服务方系统的数据缓存队列;
[0219]
获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列;
[0220]
将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率;
[0221]
获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数;
[0222]
根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。
[0223]
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
[0224]
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)。
[0225]
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
[0226]
获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识;
[0227]
利用所述唯一标识建立每个服务方系统的数据缓存队列;
[0228]
获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列;
[0229]
将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率;
[0230]
获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数;
[0231]
根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。
[0232]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0233]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0234]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0235]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
[0236]
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
[0237]
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0238]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
[0239]
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

技术特征:
1.一种数据传输速率动态调整方法,其特征在于,所述方法包括:获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识;利用所述唯一标识建立每个服务方系统的数据缓存队列;获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列;将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率;获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数;根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。2.如权利要求1所述的数据传输速率动态调整方法,其特征在于,所述获取多个服务方系统的系统接口参数,包括:确定每个服务方系统的系统环境,选取与所述系统环境对应的编译器;;利用所述编译器生成系统文件调用语句;执行所述系统文件调用语句获取每个系统的系统文件;解析所述系统文件得到每个系统的系统接口参数。3.如权利要求2所述的数据传输速率动态调整方法,其特征在于,所述解析所述系统文件得到每个系统的系统接口参数,包括:将所述系统文件进行字段划分,得到多个文件字段;提取所述多个文件字段中各文件字段的字段类型;选取预设类型的文件字段为接口参数字段;对所述接口参数字段进行解析,得到系统接口参数。4.如权利要求1所述的数据传输速率动态调整方法,其特征在于,所述利用所述唯一标识建立每个服务方系统的数据缓存队列,包括:创建与所述多个服务方系统的数量相同的预设长度的空白数据队列,并利用所述唯一标识对所述空白数据队列进行标记;确定缓存数据类型;根据所述缓存数据类型对所述空白数据队列进行队列变量赋值,得到每个服务方系统的数据缓存队列。5.如权利要求1所述的数据传输速率动态调整方法,其特征在于,所述将所述待发送数据以预设的写入速率写入所述数据缓存队列,包括:将所述待发送数据进行数据流转化,得到数据数据流;将所述数据数据流按照预设的写入速率写入所述数据缓存队列。6.如权利要求1至5中任一项所述的数据传输速率动态调整方法,其特征在于,所述根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数,包括:根据所述历史成功率信息分析每个服务方系统的成功率趋势值;根据所述成功率趋势值与所述即刻成功率计算每个服务方系统的成功率指数。7.如权利要求1至5中任一项所述的数据传输速率动态调整方法,其特征在于,所述根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率,包括:
判断所述成功率指数是否大于预设的成功率阈值;若所述成功率指数大于预设的成功率阈值,则增大所述成功率指数大于预设的成功率阈值的服务方系统对应的数据缓存队列中的推送速率;若所述成功率指数小于或等于预设的成功率阈值,则减少所述成功率指数小于或等于预设的成功率指数阈值的服务方系统对应的数据缓存队列中的推送速率。8.一种数据传输速率动态调整装置,其特征在于,所述装置包括:标识生成模块,用于获取多个服务方系统的系统接口参数,并根据所述系统接口参数生成每个服务方系统的唯一标识;队列构建模块,用于利用所述唯一标识建立每个服务方系统的数据缓存队列;数据缓存模块,用于获取待发送数据,将所述待发送数据以预设的写入速率写入所述数据缓存队列;数据推送模块,用于将所述数据缓存队列中的待发送数据推送给对应服务方系统进行数据发送,并实时监测每个服务方系统中数据发送的即刻成功率;指数计算模块,用于获取每个服务方系统的历史成功率信息,根据所述历史成功率信息与所述即刻成功率计算每个服务方系统的成功率指数;动态速率调整模块,用于根据所述成功率指数调整所述每个服务方系统对应的数据缓存队列中的写入速率。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的数据传输速率动态调整方法。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的数据传输速率动态调整方法。
技术总结
本发明涉及数据分析技术,揭露了一种数据传输速率动态调整方法,包括:根据系统接口参数生成多个服务方系统的唯一标识;利用唯一标识建立每个服务方系统的数据缓存队列;将待发送数据以预设的写入速率写入数据缓存队列,以将待发送数据推送给对应服务方系统进行数据发送,并实时监测数据发送的即刻成功率;根据每个服务方系统的历史成功率信息与即刻成功率计算每个服务方系统的成功率指数;根据成功率指数调整数据缓存队列中的写入速率。此外,本发明还涉及区块链技术,待发送数据可存储于区块链的节点。本发明还提出一种数据传输速率动态调整装置、电子设备以及计算机可读存储介质。本发明可以解决数据推送的效率低下的问题。题。题。


技术研发人员:邱昶卿
受保护的技术使用者:平安国际智慧城市科技股份有限公司
技术研发日:2021.04.08
技术公布日:2021/6/25

转载请注明原文地址:https://doc.8miu.com/read-150306.html

最新回复(0)