首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 处理多集群作业记录的方法、装置、设备及存储介质

处理多集群作业记录的方法、装置、设备及存储介质

阅读:622发布:2020-05-20

专利汇可以提供处理多集群作业记录的方法、装置、设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 涉及 大数据 领域,提供一种处理多集群作业记录的方法、装置、设备及存储介质,方法包括:将多个集群生成的作业记录 数据处理 以获取待处理数据;通过消息队列服务系统中的分布式消息系统Kafka创建主题、生产者和和消费者;通过所述Kafka对所述待处理数据进行分类以获取目标数据,并根据所述生产者、所述主题和所述目标数据构建 区 块 链 系统;通过所述区块链系统将所述目标数据输入至储存库;通过统一管理 网站 系统将所述储存库中的目标数据输入至MySQL 数据库 的缓存区;将所述缓存区中的目标数据转换为超文本 标记语言 数据,并将所述超文本标记语言数据输入至静态超文本标记语言页面文件。采用本方案,能够解决多集群作业管理系统并发崩溃的问题。,下面是处理多集群作业记录的方法、装置、设备及存储介质专利的具体信息内容。

1.一种处理多集群作业记录的方法,包括消息队列服务系统和统一管理网站系统,其特征在于,所述方法包括:
获取多个集群运行任务生成的作业记录数据,以及检测所述任务的运行状态,当检测到所述运行状态为预设触发点时,向已创建的触发器发送触发指令,所述触发器接收所述触发指令,将所述作业记录数据的数据格式转换为JSON格式,以获取待处理数据,其中,所述预设触发点包括多个所述集群运行任务时的启动或暂停或结束的运行状态;
调用所述消息队列服务系统中的分布式消息系统Kafka的接口,当所述Kafka的接口接收到主题创建命令时,调用主题创建脚本,并通过所述主题创建脚本创建主题;
通过所述Kafka根据所述待处理数据对应的集群创建生产者,并通过所述Kafka根据所述统一管理网站系统创建消费者;
将所述待处理数据输入至所述Kafka,并通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据;
根据所述生产者和所述主题对所述目标数据进行区划分,以获取多个区块,根据已创建的区划协议链接多个所述区块,并以链接的多个所述区块和所述消费者作为数据储存层,其中,所述区划协议用于通过链条将每个所述区块从后向前有序地链接和指向前一个所述区块,以及将创建的所述区块链系统链接到所述Kafka中,以使所述Kafka运用到所述区块链系统中;
根据所述区划协议和所述数据存储层构建区块链系统,并通过所述区块链系统按照http的请求方式将所述目标数据输入至储存库,并触发读取指令,其中,所述Kafka包括储存库,所述储存库的数量包括多个;
当所述统一管理网站系统接收到所述读取指令时,通过所述数据存储层输出所述储存库中的所述目标数据,并将所述目标数据输入至MySQL数据库的缓存区;
将所述缓存区中的目标数据转换为超文本标记语言数据,并将所述超文本标记语言数据写入至已构建的静态超文本标记语言页面文件。
2.根据权利要求1所述的方法,其特征在于,所述任务包括事件,所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据,包括:
获取所述事件的顺序关联度,以及获取所述事件的吞吐量,以及识别所述事件的实体类型,并获取所述实体类型之间的关联度,其中,所述实体类型用于一个地址对应一个用户;
根据所述顺序关联度、所述吞吐量和所述关联度,按照预设归类策略将所述待处理数据归类到所述主题,以获得第一分类数据,其中,所述预设归类策略包括将满足所述顺序关联度大于第一预设阈值、所述吞吐量小于第二预设阈值和所述关联度大于第三预设阈值中的至少一个条件的待处理数据归类到同一个主题;
标记所述第一分类数据,其中,所述标记的内容包括所述待处理数据对应的顺序关联度、吞吐量、实体类型、实体类型之间的关联度和主题的名称;
在标记的第一分类数据中根据所述生产者的类型进行分类,并标记所述标记的第一分类数据的生产者的类型,以获取目标数据。
3.根据权利要求1所述的方法,其特征在于,所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类之后,所述获取目标数据之前,所述方法还包括:
对经过分类的所述待处理数据进行初始化处理,以及根据经过分类的所述待处理数据的分类类型设置线性散列表的长度;
获取经过分类的所述待处理数据的关键码值,计算经过分类的所述待处理数据的数据项的词频-逆文本频率指数TF-IDF值,获取所述TF-IDF值大于第四预设阈值的数据项对应的目标关键码值,其中,所述待处理数据包括数据项;
将所述目标关键码值被不大于所述线性散列表的长度的数值除后所得的余数作为所述线性散列表的地址,以所述目标关键码值作为所述线性散列表的表头,以所述线性散列表的地址作为所述线性散列表的数量,以获取所述线性散列表;
随机生成预设数量的相同长度的字符串,通过预设字符串函数对所述线性散列表进行统计与分析,以获取散列分布性信息和平均桶长信息,其中,所述散列分布性信息包括桶的使用率,所述平均桶长信息包括所有已使用桶的平均长度;
判断所述散列分布性信息是否满足第一预设条件,以及判断所述平均桶长信息满足第二预设条件,其中,所述第一预设条件包括已使用桶的数量与总的桶的数量的比例值为第一预设范围值,所述第二预设条件包括所有已使用桶的平均长度的值为第二预设范围值;
若判断结果均为是,则以判断结果均为是对应的线性散列表作为最终的线性散列表;
将所述目标关键码值填充至最终的线性散列表,并以链表形式输出最终的线性散列表,以获取目标数据。
4.根据权利要求1所述的方法,所述方法包括传输通道,其特征在于,所述将所述待处理数据输入至所述Kafka,包括:
对所述待处理数据进行数据压缩
判断所述传输通道的传输状态是否正常;
若判断结果为是,则将经过数据压缩的待处理数据输入至所述Kafka,并将输入至所述Kafka的待处理数据标记为已发送;
若判断结果为否,则将经过数据压缩的待处理数据输入至第一MySQL数据库,并将输入至所述第一MySQL数据库的待处理数据标记为未发送;
调用已创建的轮询脚本,通过所述轮询脚本按照预设时间对所述第一MySQL数据库进行轮询检测;
当轮询检测到所述第一MySQL数据库存在标记未发送的待处理数据,以及轮询检测到所述传输通道的传输状态正常时,将标记为未发送的待处理数据输入至所述第一MySQL数据库;
轮询检测所述第一MySQL数据库是否接收到标记为未发送的待处理数据;
若检测结果为是,则将标记为未发送的待处理数据中的未发送标记替换为已发送标记;
若检测结果为否,则不更新标记为未发送的待处理数据中的未发送标记。
5.根据权利要求1所述的方法,其特征在于,所述当所述统一管理网站系统接收到所述读取指令时,通过所述数据存储层输出所述储存库中的所述目标数据,并将所述目标数据输入至MySQL数据库的缓存区,包括:
所述统一管理网站系统调用监听程序脚本,通过所述监听程序脚本检测所述区块链系统中的应用层是否接收到所述读取指令;
当检测结果为否时,对所述区块链系统中的应用层进行再检测;
当检测结果为是时,通过所述消费者按照预设抓取数量对从所述储存库中的目标数据进行抓取,并将抓取的目标数据添加已消费的标签,以获取标记的目标数据;
把所述标记的目标数据转换为JSON对象,将所述JSON对象解析成第一数据对象;
识别所述MySQL数据库的第二数据对象中是否存在与所述第一数据对象相同内容的数据对象;
若识别结果为是,则在所述第一数据对象中删除与所述第二数据对象存在相同内容的数据对象,以获得第一目标数据对象;
获取所述第一目标数据对象的标签中标记的主题和生产者信息;
根据所述主题和生产者信息,将所述第一目标数据对象填充至所述MySQL数据库的缓存区;
若识别结果为否时,则获取所述第一数据对象的标签中标记的主题和生产者信息;
根据所述主题和生产者信息,将所述第一数据对象填充至所述MySQL数据库的缓存区。
6.根据权利要求1所述的方法,其特征在于,所述将所述缓存区中的目标数据转换为超文本标记语言数据之前,所述方法还包括:
检测所述MySQL数据库中的数据库事务是否处于执行状态;
若是,则获取所述缓存区的目标数据的初始数据,并通过Locktable语句定所述MySQL数据库,将后续输入至MySQL数据库的缓存区的目标数据的更新数据添加至所述初始数据,其中,所述Locktable语句包括具备WRITE关键字的Locktable语句;
获取所述缓存区的目标数据中具备预设字段的数据,并获取具备预设字段的数据的字段大小,其中,所述预设字段包括用于Join、Where判断和Orderby排序的字段,以及用于MAX()命令、MIN()命令和Orderby命令的字段;
根据所述具备预设字段的数据和所述具备预设字段的数据的字段大小,按照预设规则创建索引,其中,所述预设规则包括对相同字段大小的目标数据进行创建索引和对包含重复值不超过第五预设阈值的目标数据进行创建索引;
检测所述MySQL数据库中的数据表的类型是否定义为InnoDB类型;
若否,则将所述类型不是所述InnoDB类型的数据表中的Createtable语句中加上TYPE=INNODB,以获取InnoDB类型表;
若是,则获取所述类型为所述InnoDB类型的数据表,并将所述类型为所述InnoDB类型的数据表作为InnoDB类型表;
通过alter table命令对所述InnoDB类型表创建外键。
7.根据权利要求1所述的方法,其特征在于,所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据,包括:
获取所述待处理数据对应的任务的运行状态的特征信息;
根据所述特征信息对所述待处理数据进行整理与分类,以获取分类数据,并标记所述分类数据的分类类型,其中,所述分类数据的分类类型包括任务启动数据、任务运行数据和任务结束数据;
对所述分类数据按照所述分类类型分别建立所述分类数据和所述主题的对应关系,并标记所述分类数据的对应关系,以获取目标数据。
8.一种用于处理多集群作业记录的装置,其特征在于,所述装置包括:
收发模块,用于接收多个集群运行任务生成的作业记录数据;
检测模块,用于检测所述任务的运行状态,当检测到所述运行状态为预设触发点时,向已创建的触发器发送触发指令,所述触发器接收所述触发指令,将所述收发模块接收的作业记录数据的数据格式转换为JSON格式,以获取待处理数据,其中,所述预设触发点包括多个所述集群运行任务时的启动或暂停或结束的运行状态;
调用模块,用于调用所述消息队列服务系统中的分布式消息系统Kafka,当所述Kafka接收到主题创建命令时,调用主题创建脚本,并通过所述主题创建脚本创建主题;通过所述Kafka根据所述待处理数据对应的集群创建生产者,并通过所述Kafka根据所述统一管理网站系统创建消费者;
分类模块,用于将所述检测模块获取的所述待处理数据输入至所述调用模块调用的所述Kafka,并通过所述Kafka根据所述调用模块创建的所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据;
划分模块,用于根据所述调用模块创建的所述生产者和所述调用模块创建的所述主题对所述分类模块获取的所述目标数据进行区块划分,以获取多个区块,根据已创建的区划协议链接多个所述区块,并以链接的多个所述区块和所述消费者作为数据储存层,其中,所述区划协议用于通过链条将每个所述区块从后向前有序地链接和指向前一个所述区块,以及将创建的所述区块链系统链接到所述Kafka中,以使所述Kafka运用到所述区块链系统中;
构建模块,用于根据所述区划协议和所述划分模块获取的所述数据存储层构建区块链系统,并通过所述区块链系统按照http的请求方式将所述目标数据输入至储存库,并触发读取指令,其中,所述Kafka包括储存库,所述储存库的数量包括多个;
接收模块,用于当所述统一管理网站系统接收到所述构建模块触发的所述读取指令时,通过所述数据存储层输出所述构建模块输入所述储存库中的所述目标数据,并将所述目标数据输入至MySQL数据库的缓存区;将所述缓存区中的目标数据转换为超文本标记语言数据,通过输出控制函数控制所述缓存区以获取所述超文本标记语言数据,并通过已创建的读写函数将所述超文本标记语言数据输入至已构建的静态超文本标记语言页面文件。
9.一种计算机设备,其特征在于,所述计算机设备包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-7中任一项所述的方法。
10.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。

说明书全文

处理多集群作业记录的方法、装置、设备及存储介质

技术领域

[0001] 本申请涉及数据处理领域,尤其涉及处理多集群作业记录的方法、装置、设备及存储介质。

背景技术

[0002] 目前的集群作业管理中,一般是通过获取多个集群生成的任务作业数据,将所述任务作业数据输入到统一管理网站,通过所述统一管理网站的系统检测所述任务作业数据的任务类型,根据所述任务类型对所述任务作业数据进行分类以获得分类数据,将所述分类数据按照任务类型分别输入到多个储存库中。
[0003] 由于多个集群直接将任务作业数据集中到统一管理网站,易造成户网站的请求过多和并行处理时的通道拥挤,从而易导致多集群作业管理系统的并发崩溃。发明内容
[0004] 本申请提供了一种处理多集群作业记录的方法、装置、设备及存储介质,能够解决多集群作业管理系统的并发崩溃的问题。
[0005] 第一方面,本申请提供一种处理多集群作业记录的方法,所述方法包括:
[0006] 获取多个集群运行任务生成的作业记录数据,以及检测所述任务的运行状态,当检测到所述运行状态为预设触发点时,向已创建的触发器发送触发指令,所述触发器接收所述触发指令,将所述作业记录数据的数据格式转换为JSON格式,以获取待处理数据,其中,所述预设触发点包括多个所述集群运行任务时的启动或暂停或结束的运行状态;
[0007] 调用所述消息队列服务系统中的分布式消息系统Kafka,当所述Kafka接收到主题创建命令时,调用主题创建脚本,并通过所述主题创建脚本创建主题;
[0008] 通过所述Kafka根据所述待处理数据对应的集群创建生产者,并通过所述Kafka根据所述统一管理网站系统创建消费者;
[0009] 将所述待处理数据输入至所述Kafka,并通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据;
[0010] 根据所述生产者和所述主题对所述目标数据进行区划分,以获取多个区块,根据已创建的区划协议链接多个所述区块,并以链接的多个所述区块和所述消费者作为数据储存层,其中,所述区划协议用于通过链条将每个所述区块从后向前有序地链接和指向前一个所述区块,以及将创建的所述区块链系统链接到所述Kafka中,以使所述Kafka运用到所述区块链系统中;
[0011] 根据所述区划协议和所述数据存储层构建区块链系统,并通过所述区块链系统按照http的请求方式将所述目标数据输入至储存库,并触发读取指令,其中,所述Kafka包括储存库,所述储存库的数量包括多个;
[0012] 当所述统一管理网站系统接收到所述读取指令时,通过所述数据存储层输出所述储存库中的所述目标数据,并将所述目标数据输入至MySQL数据库的缓存区;
[0013] 将所述缓存区中的目标数据转换为超文本标记语言数据,并将所述超文本标记语言数据写入至已构建的静态超文本标记语言页面文件。
[0014] 一种可能的设计中,所述任务包括事件,所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据,包括:
[0015] 获取所述事件的顺序关联度,以及获取所述事件的吞吐量,以及识别所述事件的实体类型,并获取所述实体类型之间的关联度,其中,所述实体类型用于一个地址对应一个用户;
[0016] 根据所述顺序关联度、所述吞吐量和所述关联度,按照预设归类策略将所述待处理数据归类到所述主题,以获得第一分类数据,其中,所述预设归类策略包括将满足所述顺序关联度大于第一预设阈值、所述吞吐量小于第二预设阈值和所述关联度大于第三预设阈值中的至少一个条件的待处理数据归类到同一个主题;
[0017] 标记所述第一分类数据,其中,所述标记的内容包括所述待处理数据对应的顺序关联度、吞吐量、实体类型、实体类型之间的关联度和主题的名称;
[0018] 在标记的第一分类数据中根据所述生产者的类型进行分类,并标记所述标记的第一分类数据的生产者的类型,以获取目标数据。
[0019] 一种可能的设计中,所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类之后,所述获取目标数据之前,所述方法还包括:
[0020] 对经过分类的所述待处理数据进行初始化处理,以及根据经过分类的所述待处理数据的分类类型设置线性散列表的长度;
[0021] 获取经过分类的所述待处理数据的关键码值,计算经过分类的所述待处理数据的数据项的词频-逆文本频率指数TF-IDF值,获取所述TF-IDF值大于第四预设阈值的数据项对应的目标关键码值,其中,所述待处理数据包括数据项;
[0022] 将所述目标关键码值被不大于所述线性散列表的长度的数值除后所得的余数作为所述线性散列表的地址,以所述目标关键码值作为所述线性散列表的表头,以所述线性散列表的地址作为所述线性散列表的数量,以获取所述线性散列表;
[0023] 随机生成预设数量的相同长度的字符串,通过预设字符串函数对所述线性散列表进行统计与分析,以获取散列分布性信息和平均桶长信息,其中,所述散列分布性信息包括桶的使用率,所述平均桶长信息包括所有已使用桶的平均长度;
[0024] 判断所述散列分布性信息是否满足第一预设条件,以及判断所述平均桶长信息满足第二预设条件,其中,所述第一预设条件包括已使用桶的数量与总的桶的数量的比例值为第一预设范围值,所述第二预设条件包括所有已使用桶的平均长度的值为第二预设范围值;
[0025] 若判断结果均为是,则以判断结果均为是对应的线性散列表作为最终的线性散列表;
[0026] 将所述目标关键码值填充至最终的线性散列表,并以链表形式输出最终的线性散列表,以获取目标数据。
[0027] 一种可能的设计中,所述方法包括传输通道,所述将所述待处理数据输入至所述Kafka,包括:
[0028] 对所述待处理数据进行数据压缩
[0029] 判断所述传输通道的传输状态是否正常;
[0030] 若判断结果为是,则将经过数据压缩的待处理数据输入至所述Kafka,并将输入至所述Kafka的待处理数据标记为已发送;
[0031] 若判断结果为否,则将经过数据压缩的待处理数据输入至第一MySQL数据库,并将输入至所述第一MySQL数据库的待处理数据标记为未发送;
[0032] 调用已创建的轮询脚本,通过所述轮询脚本按照预设时间对所述第一MySQL数据库进行轮询检测;
[0033] 当轮询检测到所述第一MySQL数据库存在标记未发送的待处理数据,以及轮询检测到所述传输通道的传输状态正常时,将标记为未发送的待处理数据输入至所述第一MySQL数据库;
[0034] 轮询检测所述第一MySQL数据库是否接收到标记为未发送的待处理数据;
[0035] 若检测结果为是,则将标记为未发送的待处理数据中的未发送标记替换为已发送标记;
[0036] 若检测结果为否,则不更新标记为未发送的待处理数据中的未发送标记。
[0037] 一种可能的设计中,所述当所述统一管理网站系统接收到所述读取指令时,通过所述数据存储层输出所述储存库中的所述目标数据,并将所述目标数据输入至MySQL数据库的缓存区,包括:
[0038] 所述统一管理网站系统调用监听程序脚本,通过所述监听程序脚本检测所述区块链系统中的应用层是否接收到所述读取指令;
[0039] 当检测结果为否时,对所述区块链系统中的应用层进行再检测;
[0040] 当检测结果为是时,通过所述消费者按照预设抓取数量对从所述储存库中的目标数据进行抓取,并将抓取的目标数据添加已消费的标签,以获取标记的目标数据;
[0041] 把所述标记的目标数据转换为JSON对象,将所述JSON对象解析成第一数据对象;
[0042] 识别所述MySQL数据库的第二数据对象中是否存在与所述第一数据对象相同内容的数据对象;
[0043] 若识别结果为是,则在所述第一数据对象中删除与所述第二数据对象存在相同内容的数据对象,以获得第一目标数据对象;
[0044] 获取所述第一目标数据对象的标签中标记的主题和生产者信息;
[0045] 根据所述主题和生产者信息,将所述第一目标数据对象填充至所述MySQL数据库的缓存区;
[0046] 若识别结果为否时,则获取所述第一数据对象的标签中标记的主题和生产者信息;
[0047] 根据所述主题和生产者信息,将所述第一数据对象填充至所述MySQL数据库的缓存区。
[0048] 一种可能的设计中,所述将所述缓存区中的目标数据转换为超文本标记语言数据之前,所述方法还包括:
[0049] 检测所述MySQL数据库中的数据库事务是否处于执行状态;
[0050] 若是,则获取所述缓存区的目标数据的初始数据,并通过Locktable语句定所述MySQL数据库,将后续输入至MySQL数据库的缓存区的目标数据的更新数据添加至所述初始数据,其中,所述Locktable语句包括具备WRITE关键字的Locktable语句;
[0051] 获取所述缓存区的目标数据中具备预设字段的数据,并获取具备预设字段的数据的字段大小,其中,所述预设字段包括用于Join、Where判断和Orderby排序的字段,以及用于MAX()命令、MIN()命令和Orderby命令的字段;
[0052] 根据所述具备预设字段的数据和所述具备预设字段的数据的字段大小,按照预设规则创建索引,其中,所述预设规则包括对相同字段大小的目标数据进行创建索引和对包含重复值不超过第五预设阈值的目标数据进行创建索引;
[0053] 检测所述MySQL数据库中的数据表的类型是否定义为InnoDB类型;
[0054] 若否,则将所述类型不是所述InnoDB类型的数据表中的Createtable语句中加上TYPE=INNODB,以获取InnoDB类型表;
[0055] 若是,则获取所述类型为所述InnoDB类型的数据表,并将所述类型为所述InnoDB类型的数据表作为InnoDB类型表;
[0056] 通过alter table命令对所述InnoDB类型表创建外键。
[0057] 一种可能的设计中,所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据,包括:
[0058] 获取所述待处理数据对应的任务的运行状态的特征信息;
[0059] 根据所述特征信息对所述待处理数据进行整理与分类,以获取分类数据,并标记所述分类数据的分类类型,其中,所述分类数据的分类类型包括任务启动数据、任务运行数据和任务结束数据;
[0060] 对所述分类数据按照所述分类类型分别建立所述分类数据和所述主题的对应关系,并标记所述分类数据的对应关系,以获取目标数据。
[0061] 第二方面,本申请提供一种用于处理多集群作业记录的装置,具有实现对应于上述第一方面提供的处理多集群作业记录的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
[0062] 一种可能的设计中,所述装置包括:
[0063] 收发模块,用于接收多个集群运行任务生成的作业记录数据;
[0064] 检测模块,用于检测所述任务的运行状态,当检测到所述运行状态为预设触发点时,向已创建的触发器发送触发指令,所述触发器接收所述触发指令,将所述收发模块接收的作业记录数据的数据格式转换为JSON格式,以获取待处理数据,其中,所述预设触发点包括多个所述集群运行任务时的启动或暂停或结束的运行状态;
[0065] 调用模块,用于调用所述消息队列服务系统中的分布式消息系统Kafka,当所述Kafka接收到主题创建命令时,调用主题创建脚本,并通过所述主题创建脚本创建主题;通过所述Kafka根据所述待处理数据对应的集群创建生产者,并通过所述Kafka根据所述统一管理网站系统创建消费者;
[0066] 分类模块,用于将所述检测模块获取的所述待处理数据输入至所述调用模块调用的所述Kafka,并通过所述Kafka根据所述调用模块创建的所述主题和所述生产者对所述待处理数据进行分类,以获取目标数据;
[0067] 划分模块,用于根据所述调用模块创建的所述生产者和所述调用模块创建的所述主题对所述分类模块获取的所述目标数据进行区块划分,以获取多个区块,根据已创建的区划协议链接多个所述区块,并以链接的多个所述区块和所述消费者作为数据储存层,其中,所述区划协议用于通过链条将每个所述区块从后向前有序地链接和指向前一个所述区块,以及将创建的所述区块链系统链接到所述Kafka中,以使所述Kafka运用到所述区块链系统中;
[0068] 构建模块,用于根据所述区划协议和所述划分模块获取的所述数据存储层构建区块链系统,并通过所述区块链系统按照http的请求方式将所述目标数据输入至储存库,并触发读取指令,其中,所述Kafka包括储存库,所述储存库的数量包括多个;
[0069] 接收模块,用于当所述统一管理网站系统接收到所述构建模块触发的所述读取指令时,通过所述数据存储层输出所述构建模块输入所述储存库中的所述目标数据,并将所述目标数据输入至MySQL数据库的缓存区;将所述缓存区中的目标数据转换为超文本标记语言数据,通过输出控制函数控制所述缓存区以获取所述超文本标记语言数据,并通过已创建的读写函数将所述超文本标记语言数据输入至已构建的静态超文本标记语言页面文件。
[0070] 一种可能的设计中,所述分类模块还用于:
[0071] 获取所述事件的顺序关联度,以及获取所述事件的吞吐量,以及识别所述事件的实体类型,并获取所述实体类型之间的关联度,其中,所述实体类型用于一个地址对应一个用户;
[0072] 根据所述顺序关联度、所述吞吐量和所述关联度,按照预设归类策略将所述待处理数据归类到所述主题,以获得第一分类数据,其中,所述预设归类策略包括将满足所述顺序关联度大于第一预设阈值、所述吞吐量小于第二预设阈值和所述关联度大于第三预设阈值中的至少一个条件的待处理数据归类到同一个主题;
[0073] 标记所述第一分类数据,其中,所述标记的内容包括所述待处理数据对应的顺序关联度、吞吐量、实体类型、实体类型之间的关联度和主题的名称;
[0074] 在标记的第一分类数据中根据所述生产者的类型进行分类,并标记所述标记的第一分类数据的生产者的类型,以获取目标数据。
[0075] 一种可能的设计中,所述分类模块在执行所述通过所述Kafka根据所述主题和所述生产者对所述待处理数据进行分类之后,所述获取目标数据之前,还用于:
[0076] 对经过分类的所述待处理数据进行初始化处理,以及根据经过分类的所述待处理数据的分类类型设置线性散列表的长度;
[0077] 获取经过分类的所述待处理数据的关键码值,计算经过分类的所述待处理数据的数据项的词频-逆文本频率指数TF-IDF值,获取所述TF-IDF值大于第四预设阈值的数据项对应的目标关键码值,其中,所述待处理数据包括数据项;
[0078] 将所述目标关键码值被不大于所述线性散列表的长度的数值除后所得的余数作为所述线性散列表的地址,以所述目标关键码值作为所述线性散列表的表头,以所述线性散列表的地址作为所述线性散列表的数量,以获取所述线性散列表;
[0079] 随机生成预设数量的相同长度的字符串,通过预设字符串函数对所述线性散列表进行统计与分析,以获取散列分布性信息和平均桶长信息,其中,所述散列分布性信息包括桶的使用率,所述平均桶长信息包括所有已使用桶的平均长度;
[0080] 判断所述散列分布性信息是否满足第一预设条件,以及判断所述平均桶长信息满足第二预设条件,其中,所述第一预设条件包括已使用桶的数量与总的桶的数量的比例值为第一预设范围值,所述第二预设条件包括所有已使用桶的平均长度的值为第二预设范围值;
[0081] 若判断结果均为是,则以判断结果均为是对应的线性散列表作为最终的线性散列表;
[0082] 将所述目标关键码值填充至最终的线性散列表,并以链表形式输出最终的线性散列表,以获取目标数据。
[0083] 一种可能的设计中,所述分类模块还用于:
[0084] 对所述待处理数据进行数据压缩;
[0085] 判断所述传输通道的传输状态是否正常;
[0086] 若判断结果为是,则将经过数据压缩的待处理数据输入至所述Kafka,并将输入至所述Kafka的待处理数据标记为已发送;
[0087] 若判断结果为否,则将经过数据压缩的待处理数据输入至第一MySQL数据库,并将输入至所述第一MySQL数据库的待处理数据标记为未发送;
[0088] 调用已创建的轮询脚本,通过所述轮询脚本按照预设时间对所述第一MySQL数据库进行轮询检测;
[0089] 当轮询检测到所述第一MySQL数据库存在标记未发送的待处理数据,以及轮询检测到所述传输通道的传输状态正常时,将标记为未发送的待处理数据输入至所述第一MySQL数据库;
[0090] 轮询检测所述第一MySQL数据库是否接收到标记为未发送的待处理数据;
[0091] 若检测结果为是,则将标记为未发送的待处理数据中的未发送标记替换为已发送标记;
[0092] 若检测结果为否,则不更新标记为未发送的待处理数据中的未发送标记。
[0093] 一种可能的设计中,所述接收模块还用于:
[0094] 所述统一管理网站系统调用监听程序脚本,通过所述监听程序脚本检测所述区块链系统中的应用层是否接收到所述读取指令;
[0095] 当检测结果为否时,对所述区块链系统中的应用层进行再检测;
[0096] 当检测结果为是时,通过所述消费者按照预设抓取数量对从所述储存库中的目标数据进行抓取,并将抓取的目标数据添加已消费的标签,以获取标记的目标数据;
[0097] 把所述标记的目标数据转换为JSON对象,将所述JSON对象解析成第一数据对象;
[0098] 识别所述MySQL数据库的第二数据对象中是否存在与所述第一数据对象相同内容的数据对象;
[0099] 若识别结果为是,则在所述第一数据对象中删除与所述第二数据对象存在相同内容的数据对象,以获得第一目标数据对象;
[0100] 获取所述第一目标数据对象的标签中标记的主题和生产者信息;
[0101] 根据所述主题和生产者信息,将所述第一目标数据对象填充至所述MySQL数据库的缓存区;
[0102] 若识别结果为否时,则获取所述第一数据对象的标签中标记的主题和生产者信息;
[0103] 根据所述主题和生产者信息,将所述第一数据对象填充至所述MySQL数据库的缓存区。
[0104] 一种可能的设计中,所述接收模块在执行所述将所述缓存区中的目标数据转换为超文本标记语言数据之前,还用于:
[0105] 检测所述MySQL数据库中的数据库事务是否处于执行状态;
[0106] 若是,则获取所述缓存区的目标数据的初始数据,并通过Locktable语句锁定所述MySQL数据库,将后续输入至MySQL数据库的缓存区的目标数据的更新数据添加至所述初始数据,其中,所述Locktable语句包括具备WRITE关键字的Locktable语句;
[0107] 获取所述缓存区的目标数据中具备预设字段的数据,并获取具备预设字段的数据的字段大小,其中,所述预设字段包括用于Join、Where判断和Orderby排序的字段,以及用于MAX()命令、MIN()命令和Orderby命令的字段;
[0108] 根据所述具备预设字段的数据和所述具备预设字段的数据的字段大小,按照预设规则创建索引,其中,所述预设规则包括对相同字段大小的目标数据进行创建索引和对包含重复值不超过第五预设阈值的目标数据进行创建索引;
[0109] 检测所述MySQL数据库中的数据表的类型是否定义为InnoDB类型;
[0110] 若否,则将所述类型不是所述InnoDB类型的数据表中的Createtable语句中加上TYPE=INNODB,以获取InnoDB类型表;
[0111] 若是,则获取所述类型为所述InnoDB类型的数据表,并将所述类型为所述InnoDB类型的数据表作为InnoDB类型表;
[0112] 通过alter table命令对所述InnoDB类型表创建外键。
[0113] 一种可能的设计中,所述分类模块还用于:
[0114] 获取所述待处理数据对应的任务的运行状态的特征信息;
[0115] 根据所述特征信息对所述待处理数据进行整理与分类,以获取分类数据,并标记所述分类数据的分类类型,其中,所述分类数据的分类类型包括任务启动数据、任务运行数据和任务结束数据;
[0116] 对所述分类数据按照所述分类类型分别建立所述分类数据和所述主题的对应关系,并标记所述分类数据的对应关系,以获取目标数据。
[0117] 本申请又一方面提供了一种计算机设备,其包括至少一个连接的处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述第一方面所述的方法。
[0118] 本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
[0119] 相较于现有技术,本申请提供的方案中,通过将多个集群运行任务生成的作业记录数据处理以获取待处理数据;通过消息队列服务系统中的分布式消息系统Kafka创建主题、生产者和和消费者;通过所述Kafka对所述待处理数据进行分类以获取目标数据,并根据所述生产者、所述主题和所述目标数据构建区块链系统;通过所述区块链系统将所述目标数据输入至储存库;通过统一管理网站系统将所述储存库中的目标数据输入至MySQL数据库的缓存区;将所述缓存区中的目标数据转换为超文本标记语言数据,并将所述超文本标记语言数据输入至静态超文本标记语言页面文件。由于采用大数据集群、消息队列服务器、统一管理网站和区划链系统的架构,一方面,通过消息队列服务器中的Kafka系统作为消息队列和结合区块链系统进行分布式数据存储,以多节点并发处理数据的缓存,解耦了系统,减缓同时汇集多个大数据集群的作业记录数据的压,避免多个大数据集群的作业记录数据同时汇集的拥挤,实现高容错、高速缓存、高效和高吞吐量的处理效果;另一方面,通过对输入至MySQL数据库的缓存区的目标数据进行超文本标记语言静态化处理,以增加访问速度和运行速度,以及减轻服务器的负荷;综合上述,本申请可实现低成本、高效率、高准确性和多方位的处理系统并发崩溃问题的效果,因而,本申请能够有效防止和处理多集群作业管理系统并发崩溃的问题。附图说明
[0120] 图1为本申请实施例中处理多集群作业记录的方法的一种流程示意图;
[0121] 图2为本申请实施例中用于处理多集群作业记录的装置的一种结构示意图;
[0122] 图3为本申请实施例中计算机装置的一种结构示意图。
[0123] 本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0124] 应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。本申请的说明书权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。
[0125] 本申请提供一种处理多集群作业记录的方法、装置、设备及存储介质,可用于企业多集群作业管理平台,对多个大数据集群生成的作业运行记录进行管理与查询。
[0126] 为解决上述技术问题,本申请主要提供以下技术方案:
[0127] 相较于现有技术,本申请提供的方案中,通过将多个集群运行任务生成的作业记录数据处理以获取待处理数据;通过消息队列服务器中的分布式消息系统Kafka创建主题、生产者和和消费者;通过所述Kafka对所述待处理数据进行分类以获取目标数据,并根据所述生产者、所述主题和所述目标数据构建区块链系统;通过所述区块链系统将所述目标数据输入至储存库;通过统一管理网站系统将所述储存库中的目标数据输入至MySQL数据库的缓存区;将所述缓存区中的目标数据转换为超文本标记语言数据,并将所述超文本标记语言数据输入至静态超文本标记语言页面文件。由于采用大数据集群、消息队列服务器、统一管理网站和区划链系统的架构,一方面,通过消息队列服务器中的Kafka系统作为消息队列和结合区块链系统进行分布式数据存储,以多节点并发处理数据的缓存,解耦了系统,减缓同时汇集多个大数据集群的作业记录数据的压力,避免多个大数据集群的作业记录数据同时汇集的拥挤,实现高容错、高速缓存、高效和高吞吐量的处理效果;另一方面,通过对输入至MySQL数据库的缓存区的目标数据进行超文本标记语言静态化处理,以增加访问速度和运行速度,以及减轻服务器的负荷;综合上述,本申请可实现低成本、高效率、高准确性和多方位的处理系统并发崩溃问题的效果,因而,本申请能够有效防止和处理多集群作业管理系统并发崩溃的问题。
[0128] 请参照图1,以下对本申请提供一种处理多集群作业记录的方法进行举例说明,该方法包括大数据集群层、消息队列服务器和统一管理网站系统的架构,该方法由计算机设备执行,计算机设备可为服务器或者终端,当图2所示的装置20为应用或者执行程序时,终端为安装图2所示的装置20的终端,本申请不对执行主体的类型作限制,所述方法包括:
[0129] 101、获取多个集群运行任务生成的作业记录数据,以及检测任务的运行状态,当检测到运行状态为预设触发点时,向已创建的触发器发送触发指令,触发器接收触发指令,将作业记录数据的数据格式转换为JSON格式,以获取待处理数据。
[0130] 其中,预设触发点包括多个集群运行任务时的启动或暂停或结束的运行状态。
[0131] 本申请实施例中,采用create trigger trigger_name on{}as sql_statemen的T-SQL语句根据任务的启动、暂停和结束的触发点创建触发器,以使其在检测到大数据集群的任务的运行状态为启动或暂停或结束时,触发执行处理脚本,将作业记录数据的数据格式转换为JSON格式,以获得待处理数据。当检测到任务启动时,获取的待处理数据为运行账号、作业内容、提交时间、启动时间、所属项目和任务操作启动者的数据;当检测到任务暂停时,获取的待处理数据为运行账号、作业内容、提交时间、启动时间、所属项目、任务操作启动者、操作暂停时间和任务操作暂停者的数据;当检测到任务结束时,获取的待处理数据为运行账号、作业内容、提交时间、启动时间、所属项目、任务操作启动者、操作结束时间和运行结果的数据。
[0132] 多个集群运行任务生成的作业记录数据存储在连接着多个集群的MySQL数据库中,将作业记录数据从连接着多个集群的MySQL数据库中读取出来后,将其数据格式转为JSON格式,以便于对结构化数据进行处理。
[0133] 可选的,在本申请的一些实施例中,在解决多集群作业管理系统并发崩溃问题的情况下,为了进一步加强对请求过多和并行处理时的通道拥挤的问题处理,具体操作如下,上述的将作业记录数据的数据格式转换为JSON格式之前,本申请方法还包括:
[0134] 对作业记录数据进行数据压缩;
[0135] 对经过数据压缩的作业记录数据进行状态检测,以获取状态信息,通过缓存一致性协议对状态信息进行分析,以获取第一数据和第二数据,其中,状态信息包括被修改状态、独享状态、共享状态和无效状态,第一数据包括对一致性缓存要求强的作业运行数据;第二数据包括除对一致性缓存要求强之外的作业运行数据;
[0136] 调用Cache本地缓存接口对第一数据生成缓存生成器CacheBuilder对象,并装配第一数据自动装载功能,以及获取第一数据的第一键值对数据;
[0137] 通过CacheBuilder对象和自动装载功能,将第一键值对数据自动加载到物理内存的缓存中;
[0138] 创建CacheLoader子类对象,当检测到get数据操作失败时,通过CacheLoader子类对象将第一键值对数据自动加载到物理内存的缓存中;
[0139] 搭建高速缓存系统Memcached和数据结构服务器Redis的缓存架构组件,其中,缓存架构组件包括缓存服务器;
[0140] 获取缓存架构组件的节点的第一哈希值,以及获取第二数据的第二键值对数据,并获取第二键值对数据的第二哈希值;
[0141] 根据第一哈希值和第二哈希值,通过缓存架构组件将第二键值对数据存储在缓存架构组件的缓存服务器中,以获得最终的作业记录数据。
[0142] 通过对获取的作业记录数据进行数据压缩,以减少作业记录数据在传输或者被转移过程中的数据量;通过对经过数据压缩的作业记录数据进行本地缓存和综合分布缓存,结合分布式缓存的高速缓存、高性能、动态拓展性、高可用性和易用性实现在减缓系统的数据存储压力和通道压力的情况下,降低服务器的读写压力和负载,以及对缓存数据规范化和提高缓存的命中率的功能,从而达到快速而准确地对作业记录数据进行缓存,以防止系统并发崩溃的效果。
[0143] 102、调用消息队列服务器中的分布式消息系统Kafka,当Kafka接收到主题创建命令时,调用主题创建脚本,并通过主题创建脚本创建主题。
[0144] 本申请实施例中,在获取到待处理数据后,调用消息队列服务器中的分布式消息系统Kafka,并发起主题创建命令“bin/kafka-topics.sh--create–zookeeper localhost:--replication-factor N--partitions M–topic running_result”,主题创建命令的内容包括:主题为running_result,有M个分区,每个分区需分配N个副本,调用包含命令行运行部分和后台(controller)逻辑运行部分的主题创建脚本,通过后台(controller)逻辑运行部分监听分布式应用程序协调服务zookeeper下对应的目录节点,命令行运行部分在接收到主题创建命令时创建新的数据节点以触发后台(controller)逻辑运行部分,已创建主题。通过创建主题以便于归纳输入的待处理数据。
[0145] 103、通过Kafka根据待处理数据对应的集群创建生产者,并通过Kafka根据统一管理网站系统创建消费者。
[0146] 本申请实施例中,集群作为待处理数据的提供方,即生产者;统一管理网站系统作为待处理数据的消费方,即消费者。消费者端(统一管理网站系统)自动运行,具备监听Kafka中主题的更新情况的功能。通过Kafka的生产者与消费者方式实现并行处理集群产生的作业记录数据以及均衡系统负载的效果。
[0147] 104、将待处理数据输入至Kafka,并通过Kafka根据主题和生产者对待处理数据进行分类,以获取目标数据。
[0148] 本申请实施例中,通过Kafka根据不同的生产者(即集群),将待处理数据分类成对应不同生产者的待处理数据,在进行生产者分类的待处理数据中,再根据主题对待处理数据进行再分类,以获取目标数据。其中,可通过将数据归纳到主题中以对待处理数据进行分类:将固定顺序的事件分类在同一个主题中,以及使用相同的分区键;对于具备不同实体,且一个实体依赖于另一个实体的事件,将该事件分类在同一个主题中;将事件吞吐量高于第一预设吞吐量阈值的事件分类在不同的主题中,将低于第二预设吞吐量阈值的事件分类在同一个主题中。
[0149] 通过根据主题和生产者对待处理数据进行分类,以便于快速而准确地获取数据和以便于对数据的并发处理。
[0150] 可选的,在本申请的一些实施例中,在解决多集群作业管理系统并发崩溃问题的情况下,为了进一步加强对待处理数据进行分类,具体操作如下,上述的任务包括事件,上述的通过Kafka根据主题和生产者对待处理数据进行分类,以获取目标数据,包括:
[0151] 获取事件的顺序关联度,以及获取事件的吞吐量,以及识别事件的实体类型,并获取实体类型之间的关联度,其中,实体类型用于一个地址对应一个用户;
[0152] 根据顺序关联度、吞吐量和关联度,按照预设归类策略将待处理数据归类到主题,以获得第一分类数据,其中,预设归类策略包括将满足顺序关联度大于第一预设阈值、吞吐量小于第二预设阈值和关联度大于第三预设阈值中的至少一个条件的待处理数据归类到同一个主题;
[0153] 标记第一分类数据,其中,标记的内容包括待处理数据对应的顺序关联度、吞吐量、实体类型、实体类型之间的关联度和主题的名称;
[0154] 在标记的第一分类数据中根据生产者的类型进行分类,并标记标记的第一分类数据的生产者的类型,以获取目标数据。
[0155] 通过按照此规则对待处理数据进行分类,以避免所有任务事件都归类到一个主题里;通过合理归类到多个主题中,以保证在待处理数据的有序和完整的基础上能够获取多个事件以及用户对应的待处理数据。
[0156] 可选的,在本申请的一些实施例中,在解决多集群作业管理系统并发崩溃问题的情况下,为了进一步加强对待处理数据进行分类,具体操作如下,上述的任务包括事件,上述的通过Kafka根据主题和生产者对待处理数据进行分类之后,获取目标数据之前,本申请的方法还包括:
[0157] 对经过分类的待处理数据进行初始化处理,以及根据经过分类的待处理数据的分类类型设置线性散列表的长度;
[0158] 获取经过分类的待处理数据的关键码值,计算经过分类的待处理数据的数据项的词频-逆文本频率指数TF-IDF值,获取TF-IDF值大于第四预设阈值的数据项对应的目标关键码值,其中,待处理数据包括数据项;
[0159] 将目标关键码值被不大于线性散列表的长度的数值除后所得的余数作为线性散列表的地址,以目标关键码值作为线性散列表的表头,以线性散列表的地址作为线性散列表的数量,以获取线性散列表;
[0160] 随机生成预设数量的相同长度的字符串,通过预设字符串函数对线性散列表进行统计与分析,以获取散列分布性信息和平均桶长信息,其中,散列分布性信息包括桶的使用率,平均桶长信息包括所有已使用桶的平均长度;
[0161] 判断散列分布性信息是否满足第一预设条件,以及判断平均桶长信息满足第二预设条件,其中,第一预设条件包括已使用桶的数量与总的桶的数量的比例值为第一预设范围值,第二预设条件包括所有已使用桶的平均长度的值为第二预设范围值;
[0162] 若判断结果均为是,则以判断结果均为是对应的线性散列表作为最终的线性散列表;
[0163] 将目标关键码值填充至最终的线性散列表,并以链表形式输出最终的线性散列表,以获取目标数据。
[0164] 通过根据TF-IDF值对目标关键码值进行排序,以便于快速而准确地对待处理数据进行分类;通过利用线性散列表的访问速度不受访问元素总量影响、适用于数据量超大的数据库和高效率的特性,以提高对作用记录数据的查询速度,进而在解决多集群作业管理系统并发崩溃问题的情况下不影响到对作用记录数据的查询速度的基础下,提高对作用记录数据的查询速度。通过对待处理数据进行线性散列表处理,能够低成本地提升系统的性能和提高系统的扩展性。
[0165] 可选的,在本申请的一些实施例中,在将待处理数据输入至Kafka的情况下,为了进一步加强对多集群作业管理系统并发崩溃问题的解决,具体操作如下,本申请的方法包括传输通道,上述的将待处理数据输入至Kafka,包括:
[0166] 对待处理数据进行数据压缩;
[0167] 判断传输通道的传输状态是否正常;
[0168] 若判断结果为是,则将经过数据压缩的待处理数据输入至Kafka,并将输入至Kafka的待处理数据标记为已发送;
[0169] 若判断结果为否,则将经过数据压缩的待处理数据输入至第一MySQL数据库,并将输入至第一MySQL数据库的待处理数据标记为未发送;
[0170] 调用已创建的轮询脚本,通过轮询脚本按照预设时间对第一MySQL数据库进行轮询检测;
[0171] 当轮询检测到第一MySQL数据库存在标记未发送的待处理数据,以及轮询检测到传输通道的传输状态正常时,将标记为未发送的待处理数据输入至第一MySQL数据库;
[0172] 轮询检测第一MySQL数据库是否接收到标记为未发送的待处理数据;
[0173] 若检测结果为是,则将标记为未发送的待处理数据中的未发送标记替换为已发送标记;
[0174] 若检测结果为否,则不更新标记为未发送的待处理数据中的未发送标记。
[0175] 通过对待处理数据的数据进行标记,以避免对待处理数据进行重复处理,从而增加系统的负荷,进而有利于防止多集群作业管理系统的并发崩溃。
[0176] 可选的,在本申请的一些实施例中,在待处理数据进行分类的情况下,为了进一步加强对多集群作业管理系统并发崩溃问题的解决,具体操作如下,上述的通过Kafka根据主题和生产者对待处理数据进行分类,以获取目标数据,包括:
[0177] 获取待处理数据对应的任务的运行状态的特征信息;
[0178] 根据特征信息对待处理数据进行整理与分类,以获取分类数据,并标记分类数据的分类类型,其中,分类数据的分类类型包括任务启动数据、任务运行数据和任务结束数据;
[0179] 对分类数据按照分类类型分别建立分类数据和主题的对应关系,并标记分类数据的对应关系,以获取目标数据。
[0180] 105、根据生产者和主题对目标数据进行区块划分,以获取多个区块,根据已创建的区划协议链接多个区块,并以链接的多个区块和消费者作为数据储存层。
[0181] 其中,区划协议用于通过链条将每个区块从后向前有序地链接和指向前一个区块,以及将创建的区块链系统链接到Kafka中,以使Kafka运用到区块链系统中。
[0182] 申请实施例中,在消息队列服务器中进行区块划分,以创建区块链系统。以不同的生产者将目标数据划分为不同的区块,一个生产者对应一个区块,以便于根据生产者对区块的数据进行管理。在根据生产者进行区块划分的基础上再进行根据主题进行区块划分,以不同的主题将目标数据划分为不同的区块,一个主题对应一个区块,以便于根据主题对区块的数据进行管理。将链接的多个区块和消费者作为数据储存层,以便于目标数据的存储和消费者对目标数据的获取,以及将区块链系统链接运用到统一管理网站系统中。通过区块划分对目标数据进行分布式节点存储和处理,有效地处理多集群作业管理系统的并发崩溃问题。
[0183] 106、根据区划协议和数据存储层构建区块链系统,并通过区块链系统按照http的请求方式将目标数据输入至储存库,并触发读取指令。
[0184] 其中,Kafka包括储存库,储存库的数量包括多个。
[0185] 本申请实施例中,区块链系统包括应用层,应用层包括统一管理网站系统。http的请求方式有多种请求方法,为根据不同的方法规定不同的操作指定的资源方式,包括GET请求方法、HEAD请求方法、POST请求方法、PUT请求方法、DELETE请求方法、CONNECT请求方法、OPTIONS请求方法、TRACE请求方法和PATCH请求方法,在本申请实施例中,http的请求方式采用PUT请求方法,以便于将指定的目标数据的最新数据传送至消息队列服务器中的储存库。Kafka中设置多个存储库,以分类地存储目标数据,根据目标数据中的生产者和主题分别存储至对应的储存库,从而以便于对目标数据的管理与获取。
[0186] 通过消息队列服务器中的Kafka系统作为消息队列和结合区块链系统进行分布式数据存储,以多节点并发处理数据的缓存,解耦了系统,减缓同时汇集多个大数据集群的作业记录数据的压力,避免多个大数据集群的作业记录数据同时汇集的拥挤,实现高容错、高速缓存、高效和高吞吐量的处理效果。
[0187] 107、当统一管理网站系统接收到读取指令时,通过数据存储层输出储存库中的目标数据,并将目标数据输入至MySQL数据库的缓存区。
[0188] 本申请实施例中,将Kafka系统中的目标数据读取并存入至统一管理网站系统的MySQL数据库的缓存区。通过统一管理网站系统对Kafka系统进行监听,以及时抓取和存储目标数据;通过将抓取的所述目标数据输入至MySQL数据库的缓存区,以便于后续对目标数据的读取和减缓MySQL数据库的存储压力。
[0189] 可选的,在本申请的一些实施例中,在将目标数据输入至MySQL数据库的缓存区之前,设置预设数据消费频率,将目标数据按照预设数据消费频率输入至MySQL数据库的缓存区。通过将目标数据按照预设数据消费频率输入至MySQL数据库的缓存区,以使目标数据的输入具有一定的缓冲,从而减缓MySQL数据的存储压力。
[0190] 可选的,在本申请的一些实施例中,在解决多集群作业管理系统的并发崩溃的问题的情况下,为了进一步加强多集群作业管理系统对作业记录数据的管理效率,具体操作如下,上述的当统一管理网站系统接收到读取指令时,通过数据存储层输出储存库中的目标数据,并将目标数据输入至MySQL数据库的缓存区,包括:
[0191] 统一管理网站系统调用监听程序脚本,通过监听程序脚本检测区块链系统中的应用层是否接收到读取指令;
[0192] 当检测结果为否时,对区块链系统中的应用层进行再检测;
[0193] 当检测结果为是时,通过消费者按照预设抓取数量对从储存库中的目标数据进行抓取,并将抓取的目标数据添加已消费的标签,以获取标记的目标数据;
[0194] 把标记的目标数据转换为JSON对象,将JSON对象解析成第一数据对象;
[0195] 识别MySQL数据库的第二数据对象中是否存在与第一数据对象相同内容的数据对象;
[0196] 若识别结果为是,则在第一数据对象中删除与第二数据对象存在相同内容的数据对象,以获得第一目标数据对象;
[0197] 获取第一目标数据对象的标签中标记的主题和生产者信息;
[0198] 根据主题和生产者信息,将第一目标数据对象填充至MySQL数据库的缓存区;
[0199] 若识别结果为否时,则获取第一数据对象的标签中标记的主题和生产者信息;
[0200] 根据主题和生产者信息,将第一数据对象填充至MySQL数据库的缓存区。
[0201] 通过统一管理网站系统对Kafka监听是否接收更新的目标数据,以降低数据重复抓取和存储的险;通过目标数据进行对象转换,以便于将目标数据存储在MySQL数据库;通过根据主题和生产者信息将分目标数据分别填充至MySQL数据库设置的多个缓存区,以便于对数据的分类管理和获取,综合所述,以提高多集群作业管理系统对作业记录数据的管理效率。
[0202] 可选的,在本申请的一些实施例中,在解决多集群作业管理系统的并发崩溃的问题的情况下,为了进一步加强多集群作业管理系统的安全性和可用性,具体操作如下,上述的将目标数据输入至MySQL数据库的缓存区之后,本申请的方法还包括:
[0203] 发送启动指令给已设置的隐藏系统,隐藏系统接收启动指令,启动隐藏协议,其中,隐藏系统包括隐藏协议,隐藏协议包括涉及故障、破坏删除、人类伦理和道德的协议;
[0204] 当隐藏系统检测到输入的信息有悖于隐藏协议,将MySQL数据库的数据复制备份在隐藏系统中,隐藏系统进入认证状态,其中,信息包括故障指令、破坏删除指令和带有木程序的文件;
[0205] 当进入认证状态的隐藏系统检测到输入的访问请求具备管理权限时,输出密码输入请求;
[0206] 当进入认证状态的隐藏系统检测到输入的密码信息正确,以及检测到输入次数未到限定值时,接受访问请求;
[0207] 当进入认证状态的隐藏系统检测在输入次数已达到限定值时,不接受访问请求,并对复制备份的数据进行永久封存
[0208] 通过对MySQL数据库存储的目标数据进行复制备份在隐藏系统中,并设置隐藏协议,以防止在设备发生故障或黑客入侵或遭到破坏删除时能够获取到目标数据的源数据和保证目标数据的源数据的安全,进而提高多集群作业管理系统的安全性和可用性。
[0209] 108、将缓存区中的目标数据转换为超文本标记语言数据,并将超文本标记语言数据写入至已构建的静态超文本标记语言页面文件。
[0210] 本申请实施例中,将缓存区中的目标数据转换写入至已构建的静态超文本标记语言页面文件,通过对保存在MySQL数据库的缓存区的目标数据进行超文本标记语言静态化处理,以增加访问速度和运行速度,以及减轻服务器负担,从而有效解决多集群作业管理系统并发崩溃的问题。
[0211] 可选的,在本申请的一些实施例中,在将缓存区中的目标数据进行超文本标记语言静态化处理的情况下,为了进一步加强对多集群作业管理系统的并发崩溃问题的解决,具体操作如下,上述的将缓存区中的目标数据转换为超文本标记语言数据之前,本申请的方法还包括:
[0212] 检测MySQL数据库中的数据库事务是否处于执行状态;
[0213] 若是,则获取缓存区的目标数据的初始数据,并通过Locktable语句锁定MySQL数据库,将后续输入至MySQL数据库的缓存区的目标数据的更新数据添加至初始数据,其中,Locktable语句包括具备WRITE关键字的Locktable语句;
[0214] 获取缓存区的目标数据中具备预设字段的数据,并获取具备预设字段的数据的字段大小,其中,预设字段包括用于Join、Where判断和Orderby排序的字段,以及用于MAX()命令、MIN()命令和Orderby命令的字段;
[0215] 根据具备预设字段的数据和具备预设字段的数据的字段大小,按照预设规则创建索引,其中,预设规则包括对相同字段大小的目标数据进行创建索引和对包含重复值不超过第五预设阈值的目标数据进行创建索引;
[0216] 检测MySQL数据库中的数据表的类型是否定义为InnoDB类型;
[0217] 若否,则将类型不是InnoDB类型的数据表中的Createtable语句中加上TYPE=INNODB,以获取InnoDB类型表;
[0218] 若是,则获取类型为InnoDB类型的数据表,并将类型为InnoDB类型的数据表作为InnoDB类型表;
[0219] 通过alter table命令对InnoDB类型表创建外键。
[0220] 通过结合创建锁定表、使用外键和创建索引,以对MySQL数据库进行优化,在维护目标数据的完整性和保证目标数据的关联性上提高数据库性能,达到释放系统的存储数据库和减缓数据库的存储压力,为系统的并发处理提供空间以及速度支撑,从而实现有效防止和处理多集群作业管理系统并发崩溃的问题。
[0221] 可选的,在本申请的一些实施例中,在解决多集群作业管理系统的并发崩溃的问题的情况下,为了进一步加强多集群作业管理系统的安全性和可用性,具体操作如下,上述的将超文本标记语言数据写入至已构建的静态超文本标记语言页面文件之后,本申请的方法还包括:
[0222] 当统一管理网站系统识别到用户输入的登录请求正确时,接受登录请求;
[0223] 当统一管理网站中的服务器接收到用户输入的查询请求时,获取查询请求的特征信息;
[0224] 将特征信息转换为检索语句,通过检索语句对MySQL数据库中的数据进行筛选,以获得与查询请求对应的数据;
[0225] 对查询请求对应的数据进行统计与分析,生成并输出可视化图表。
[0226] 通过根据用户需要输出对应的可视化图表,以便于用户对作业记录数据的读取,以提高多集群作业管理系统的的可用性。
[0227] 与现有机制相比,本申请实施例中,通过将多个集群运行任务生成的作业记录数据处理以获取待处理数据;通过消息队列服务器中的分布式消息系统Kafka创建主题、生产者和和消费者;通过所述Kafka对所述待处理数据进行分类以获取目标数据,并根据所述生产者、所述主题和所述目标数据构建区块链系统;通过所述区块链系统将所述目标数据输入至储存库;通过统一管理网站系统将所述储存库中的目标数据输入至MySQL数据库的缓存区;将所述缓存区中的目标数据转换为超文本标记语言数据,并将所述超文本标记语言数据输入至静态超文本标记语言页面文件。由于采用大数据集群、消息队列服务器、统一管理网站和区划链系统的架构,一方面,通过消息队列服务器中的Kafka系统作为消息队列和结合区块链系统进行分布式数据存储,以多节点并发处理数据的缓存,解耦了系统,减缓同时汇集多个大数据集群的作业记录数据的压力,避免多个大数据集群的作业记录数据同时汇集的拥挤,实现高容错、高速缓存、高效和高吞吐量的处理效果;另一方面,通过对输入至MySQL数据库的缓存区的目标数据进行超文本标记语言静态化处理,以增加访问速度和运行速度,以及减轻服务器的负荷;综合上述,本申请可实现低成本、高效率、高准确性和多方位的处理系统并发崩溃问题的效果,因而,本申请能够有效防止和处理多集群作业管理系统并发崩溃的问题。
[0228] 上述图1对应的实施例或图1对应的实施例中的任一可选实施例或可选实施方式中所提及的技术特征也同样适用于本申请中的图2和图3所对应的实施例,后续类似之处不再赘述。
[0229] 以上对本申请中一种处理多集群作业记录的方法进行说明,以下对执行上述处理多集群作业记录的方法的装置进行描述。
[0230] 如图2所示的一种用于处理多集群作业记录的装置20的结构示意图,其可应用于企业多集群作业管理平台,对多个大数据集群生成的作业运行记录进行管理与查询。本申请实施例中的装置20能够实现对应于上述图1对应的实施例或图1对应的实施例中的任一可选实施例或可选实施方式中所执行的处理多集群作业记录的方法的步骤。装置20实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。装置20可包括收发模块201、检测模块202、调用模块203、分类模块204、划分模块205、构建模块206和接收模块207,收发模块201、检测模块202、调用模块203、分类模块204、划分模块205、构建模块206和接收模块207的功能实现可参考图1对应的实施例或图1对应的实施例中的任一可选实施例或可选实施方式中所执行的操作,此处不作赘述。检测模块202可用于控制收发模块201的收发操作,分类模块204可用于控制检测模块202的获取操作和调用模块203的创建操作,划分模块205可用于控制调用模块203的创建操作和分类模块204的获取操作,构建模块206可用于控制划分模块205的获取操作,接收模块207可用于控制构建模块206的触发操作和输入操作。
[0231] 一些实施方式中,收发模块201,用于接收多个集群运行任务生成的作业记录数据;
[0232] 检测模块202,用于检测任务的运行状态,当检测到运行状态为预设触发点时,向已创建的触发器发送触发指令,触发器接收触发指令,将收发模块201接收的作业记录数据的数据格式转换为JSON格式,以获取待处理数据;
[0233] 调用模型203,用于调用消息队列服务系统中的分布式消息系统Kafka,当Kafka接收到主题创建命令时,调用主题创建脚本,并通过主题创建脚本创建主题;通过Kafka根据待处理数据对应的集群创建生产者,并通过Kafka根据统一管理网站系统创建消费者;
[0234] 分类模块204,用于将检测模块202获取的待处理数据输入至Kafka,并通过Kafka根据调用模型203创建的主题和生产者对待处理数据进行分类,以获取目标数据;
[0235] 划分模块205,用于根据调用模块203创建的生产者和调用模块203创建的主题对分类模块204获取的目标数据进行区块划分,以获取多个区块,根据已创建的区划协议链接多个区块,并以链接的多个区块和消费者作为数据储存层;
[0236] 构建模块206,用于根据区划协议和划分模块205获取的数据存储层构建区块链系统,并通过区块链系统按照http的请求方式将目标数据输入至储存库,并触发读取指令;
[0237] 接收模块207,用于当统一管理网站系统接收到构建模块206触发的读取指令时,通过数据存储层输出构建模块206输入储存库中的目标数据,并将目标数据输入至MySQL数据库的缓存区;将缓存区中的目标数据转换为超文本标记语言数据,通过输出控制函数控制缓存区以获取超文本标记语言数据,并通过已创建的读写函数将超文本标记语言数据输入至已构建的静态超文本标记语言页面文件。
[0238] 其中,预设触发点包括多个集群运行任务时的启动或暂停或结束的运行状态;区划协议用于通过链条将每个区块从后向前有序地链接和指向前一个区块,以及将创建的区块链系统链接到Kafka中,以使Kafka运用到区块链系统中;Kafka包括储存库,储存库的数量包括多个。
[0239] 本申请实施例中,检测模块202通过将收发模块201接收的作业记录数据处理以获取待处理数据;调用模型203通过消息队列服务器中的分布式消息系统Kafka创建主题、生产者和和消费者;分类模块204通过调用模型203调用的Kafka对检测模块202获取的待处理数据进行分类以获取目标数据,构建模块206根据调用模型203创建的生产者、调用模型203创建的主题和目标数据构建区块链系统;通过区块链系统将目标数据输入至储存库;接收模块207通过统一管理网站系统将构建模块206输入的储存库中的目标数据输入至MySQL数据库的缓存区;将缓存区中的目标数据转换为超文本标记语言数据,并将超文本标记语言数据输入至静态超文本标记语言页面文件。由于采用大数据集群、消息队列服务器、统一管理网站和区划链系统的架构,一方面,通过消息队列服务器中的Kafka系统作为消息队列和结合区块链系统进行分布式数据存储,以多节点并发处理数据的缓存,解耦了系统,减缓同时汇集多个大数据集群的作业记录数据的压力,避免多个大数据集群的作业记录数据同时汇集的拥挤,实现高容错、高速缓存、高效和高吞吐量的处理效果;另一方面,通过对输入至MySQL数据库的缓存区的目标数据进行超文本标记语言静态化处理,以增加访问速度和运行速度,以及减轻服务器的负荷;综合上述,本申请可实现低成本、高效率、高准确性和多方位的处理系统并发崩溃问题的效果,因而,本申请能够有效防止和处理多集群作业管理系统并发崩溃的问题。
[0240] 可选的,在本申请的一些实施方式中,上述处理多集群作业记录的方法的任一实施例或实施方式中所提及的技术特征也同样适用于本申请中的对执行上述处理多集群作业记录的方法的装置20,后续类似之处不再赘述。
[0241] 上面从模块化功能实体的度分别介绍了本申请实施例中的装置20,以下从硬件角度介绍一种计算机装置,如图3所示,其包括:处理器、存储器、收发器(也可以是输入输出单元,图3中未标识出)以及存储在所述存储器中并可在所述处理器上运行的计算机程序。例如,该计算机程序可以为图1对应的实施例或图1对应的实施例中的任一可选实施例或可选实施方式中处理多集群作业记录的方法对应的程序。例如,当计算机装置实现如图2所示的装置20的功能时,所述处理器执行所述计算机程序时实现上述图2所对应的实施例中由装置20执行的处理多集群作业记录的方法中的各步骤;或者,所述处理器执行所述计算机程序时实现上述图2所对应的实施例的装置20中各模块的功能。又例如,该计算机程序可以为图1对应的实施例或图1对应的实施例中的任一可选实施例或可选实施方式的方法对应的程序。
[0242] 所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
[0243] 所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0244] 所述收发器也可以用接收器和发送器代替,可以为相同或者不同的物理实体。为相同的物理实体时,可以统称为收发器。该收发器可以为输入输出单元。图2中的收发模块201对应的实体设备可以为图3中的收发器,图2中的检测模块202、调用模块203、分类模块
204、划分模块205、构建模块206和接收模块207对应的实体设备可以为图3中的处理器。
[0245] 所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
[0246] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。
[0247] 上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈