应用程序分类方法及组态软件服务系统与流程

    专利2022-07-08  104


    本发明涉及软件技术领域,具体而言,涉及一种应用程序分类方法及组态软件服务系统。



    背景技术:

    在工业控制领域,容器、虚拟化、云组态结合可以组成一套共享应用程序的组态开发系统。在该系统中,有开发者,用户(开发者用组态为用户开发应用程序)。开发者已经开发完成的应用程序可以为不同的用户所使用(类似组态应用程序市场)。

    上述系统面临应用程序分类的问题,因为用户需要根据分类来选择所需要使用的应用。分类方式或是手工,或是根据用户的使用后的描述或标签进行分类。上述分类方式可能存在声明与实际应用场景不符,或恶意刷数据的情况,造成分类结果不准确。

    针对相关技术中组态软件的应用程序分类方式不够客观准确的问题,目前尚未提出有效地解决方案。



    技术实现要素:

    本发明提供了一种应用程序分类方法及组态软件服务系统,以至少解决现有技术中的问题。

    为解决上述技术问题,根据本发明实施例的一个方面,提供了一种应用程序分类方法,包括:获取各类应用程序的输入端数据和输出端数据,形成训练数据集;对训练数据集进行分类训练,得到应用程序的分类算法;根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别。

    进一步地,获取各类应用程序的输入端数据和输出端数据,形成训练数据集,包括:从每类应用程序中随机抽取第一预设个数样本;对于每个样本,采集第二预设个数扫描周期的输入端数据和输出端数据,形成训练数据集。

    进一步地,对训练数据集进行分类训练,得到应用程序的分类算法,包括:将训练数据集划分训练集和测试集;按照机器学习算法,训练训练集和测试集,得到分类算法。

    进一步地,根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别,包括:采集待分类的应用程序的第三预设个数扫描周期的输入端数据和输出端数据;根据分类算法对第三预设个数扫描周期的输入端数据和输出端数据进行分类,确定待分类的应用程序的类别。

    进一步地,采集待分类的应用程序的第三预设个数扫描周期的输入端数据和输出端数据,包括:采集待分类的应用程序在仿真环境中运行时第三预设个数扫描周期的输入端数据和输出端数据,和/或,采集待分类的应用程序在生产环境中运行时第三预设个数扫描周期的输入端数据和输出端数据。

    根据本发明实施例的另一方面,提供了一种组态软件服务系统,包括:云计算节点,用于为用户提供应用程序的分类服务,包括:第一数字孪生模块,用于获取各类应用程序的输入端数据和输出端数据;分类算法训练模块,用于将输入端数据和输出端数据形成训练数据集,对训练数据集进行分类训练,得到应用程序的分类算法;分类模块,用于根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别。

    进一步地,系统还包括:端节点,用于运行应用程序,并采集输入端数据和输出端数据,上传至云计算节点。

    进一步地,端节点包括:应用程序运行模块,用于运行应用程序;输入端口采样模块,用于采集应用程序运行时每个扫描周期的输入端数据;输出端口采样模块,用于采集应用程序运行时每个扫描周期的输出端数据;第二数字孪生模块,用于与第一数字孪生模块通信,将输入端数据和输出端数据发送至第一数字孪生模块。

    进一步地,云计算节点还包括:应用组态模块,用于为用户提供应用程序的组态设计服务;应用仿真模块,用于为用户提供仿真服务。

    进一步地,云计算节点还用于为用户提供应用实例的推荐和选择服务。

    进一步地,系统还包括:边缘计算节点;边缘计算节点包括:仿真边缘计算节点,用于执行仿真服务;生产边缘计算节点,用于部署应用实例的推荐和选择服务。

    进一步地,边缘计算节点包括:运行调度模块,用于根据端节点的资源,对应用程序的运行进行调度。

    进一步地,边缘计算节点还包括:第三数字孪生模块,用于与第一数字孪生模块和第二数字孪生模块通信,同步云计算节点、边缘计算节点和端节点的数据。

    根据本发明实施例的又一方面,提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述的应用程序分类方法。

    在本发明中,提供了一种应用程序的分类方法,根据应用程序的输入端口上输入、输出端口上的输出所对应的信号数据,使用机器学习训练分类算法,之后使用训练好的分类算法完成待分类应用程序的分类。基于可测量信号数据(即输入端数据和输出端数据)的分类,具有更高的准确性、客观性和可信度,避免了恶意刷数据的影响因素,更避免所声明与实际使用不符的情况,更适合于工业控制场合。

    附图说明

    图1是根据本发明实施例的应用程序分类方法的一种可选的流程图;

    图2是根据本发明实施例的组态软件服务系统的一种可选的结构框图;

    图3是根据本发明实施例的云计算节点的一种可选的结构框图;

    图4是根据本发明实施例的端节点的一种可选的结构框图;

    图5是根据本发明实施例的边缘计算节点的一种可选的结构框图。

    具体实施方式

    这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

    实施例1

    在本发明优选的实施例1中提供了一种应用程序分类方法,具体来说,图1示出该应用程序分类方法的一种可选的流程图,如图1所示,该方法包括如下步骤s102-s106:

    s102:获取各类应用程序的输入端数据和输出端数据,形成训练数据集;

    s104:对训练数据集进行分类训练,得到应用程序的分类算法;

    s106:根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别。

    工业组态软件的应用程序都是如下的处理方式:程序具有固定的扫描周期。每个扫描周期从输入端口读取输入,执行逻辑处理,然后将输出送至输出端口。如此循环执行。这类应用程序有个明确的边界和接口,在边界是可测量的。

    基于此,在上述实施方式中,提供了一种应用程序的分类方法,根据应用程序的输入端口上输入、输出端口上的输出所对应的信号数据,使用机器学习训练分类算法,之后使用训练好的分类算法完成待分类应用程序的分类。基于可测量信号数据(即输入端数据和输出端数据)的分类,具有更高的准确性、客观性和可信度,避免了恶意刷数据的影响因素,更避免所声明与实际使用不符的情况,更适合于工业控制场合。

    获取各类应用程序的输入端数据和输出端数据,形成训练数据集,包括:从每类应用程序中随机抽取第一预设个数样本;对于每个样本,采集第二预设个数扫描周期的输入端数据和输出端数据,形成训练数据集。可选的,从已知的每类应用程序中随机抽取n个样本,每个样本采集很多个扫描周期的输入端口上的输入信号、输出端口上输出信号特征,形成m条特征数据记录。最后得到cn(分类数)*n(样本数)*m(特征数据记录数)条训练数据集。

    在确定训练数据集之后,对训练数据集进行分类训练,得到应用程序的分类算法,包括:将训练数据集划分训练集和测试集;按照机器学习算法,训练训练集和测试集,得到分类算法。分类算法,比如k-最近邻,支持向量机、决策树、或是深度学习都可以完成分类训练。

    完成分类训练后,根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别,包括:采集待分类的应用程序的第三预设个数扫描周期的输入端数据和输出端数据;根据分类算法对第三预设个数扫描周期的输入端数据和输出端数据进行分类,确定待分类的应用程序的类别。

    其中,系统收集新提交应用程序的仿真/生产环境中运行时的多个扫描周期内的输入端口的输入信号、输出端口上输出数据,即,采集待分类的应用程序的第三预设个数扫描周期的输入端数据和输出端数据,包括:采集待分类的应用程序在仿真环境中运行时第三预设个数扫描周期的输入端数据和输出端数据,和/或,采集待分类的应用程序在生产环境中运行时第三预设个数扫描周期的输入端数据和输出端数据。

    此外,可以根据更多的训练数据,继续训练改善分类算法,提供了算法的演化能力。

    实施例2

    在本发明优选的实施例2中提供了一种组态软件服务系统。具体来说,图2示出该系统的一种可选的结构示意图,如图2所示,整个系统由3层组成,第一层为云计算节点l1;第二层为边缘计算节点l2,包括仿真边缘计算节点、生产边缘计算节点(用于生产环境);第三层为端节点l3,包括plc、hmi、apc等工业控制单元。

    l1:为开发者、用户提供应用程序组态服务(编码、测试、仿真等)、应用实例浏览推荐和选择服务。

    l2:执行服务功能。仿真边缘节点执行仿真功能、生产边缘节点用于部署生产环境中的实例。

    l3:运行应用实例,执行应用实例的功能,执行虚拟仿真、实际硬件仿真等功能。

    图3示出该系统的云计算节点一种可选的结构示意图,如图3所示,云计算节点包括:

    第一数字孪生模块,用于获取各类应用程序的输入端数据和输出端数据;

    分类算法训练模块,用于将输入端数据和输出端数据形成训练数据集,对训练数据集进行分类训练,得到应用程序的分类算法;根据第一数字孪生模块准备的训练数据,执行分类算法训练功能。另外,在分类算法的演化中,向训练数据集中纳入更新的训练数据。

    分类模块,用于根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别。

    在上述实施方式中,提供了一种应用程序的分类方法,根据应用程序的输入端口上输入、输出端口上的输出所对应的信号数据,使用机器学习训练分类算法,之后使用训练好的分类算法完成待分类应用程序的分类。基于可测量信号数据(即输入端数据和输出端数据)的分类,具有更高的准确性、客观性和可信度,避免了恶意刷数据的影响因素,更避免所声明与实际使用不符的情况,更适合于工业控制场合。

    此外,云计算节点还包括:

    应用组态模块,用于为用户提供应用程序的组态设计服务;组态设计服务包括编码、测试等。

    应用仿真模块,用于为用户提供仿真服务。为开发者提供仿真服务,仿真功能直接运行于仿真边缘节点。仿真模块包括虚拟仿真、实际硬件仿真等。仿真边缘节点分别承担虚拟仿真节点角色、实机仿真节点角色。

    如图2所示,系统还包括:端节点,用于运行应用程序,并采集输入端数据和输出端数据,上传至云计算节点。图4示出该系统的端节点一种可选的结构示意图,如图4所示,端节点包括:

    应用程序运行模块,用于运行应用程序;

    输入端口采样模块,用于采集应用程序运行时每个扫描周期的输入端数据;

    输出端口采样模块,用于采集应用程序运行时每个扫描周期的输出端数据;

    第二数字孪生模块,用于与第一数字孪生模块通信,将输入端数据和输出端数据发送至第一数字孪生模块。

    如图2所示,系统还包括:边缘计算节点,边缘计算节点包括:

    仿真边缘计算节点,用于执行仿真服务;

    生产边缘计算节点,用于部署应用实例的推荐和选择服务。

    图5示出该系统的边缘计算节点一种可选的结构示意图,如图5所示,边缘计算节点包括:运行调度模块,用于根据端节点的资源,对应用程序的运行进行调度。应用程序运行的调度至少包括资源的起停、迁移。

    边缘计算节点还包括:第三数字孪生模块,用于与第一数字孪生模块和第二数字孪生模块通信,同步云计算节点、边缘计算节点和端节点的数据。第一数字孪生模块、第二数字孪生模块和第三数字孪生模块用于同步云-边-端应用实例容器的状态(资源配置、输入端口数据、输出端口数据)。

    基于可测量信号数据的分类,具有更高的准确性、客观可信度,避免了恶意刷数据的影响因素,更避免所声明与实际使用不符的情况,更适合于工业控制场合。

    实施例3

    基于上述实施例1中提供的应用程序分类方法,在本发明优选的实施例3中还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述的应用程序分类方法。

    在上述实施方式中,提供了一种应用程序的分类方法,根据应用程序的输入端口上输入、输出端口上的输出所对应的信号数据,使用机器学习训练分类算法,之后使用训练好的分类算法完成待分类应用程序的分类。基于可测量信号数据(即输入端数据和输出端数据)的分类,具有更高的准确性、客观性和可信度,避免了恶意刷数据的影响因素,更避免所声明与实际使用不符的情况,更适合于工业控制场合。

    本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

    应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。


    技术特征:

    1.一种应用程序分类方法,其特征在于,包括:

    获取各类应用程序的输入端数据和输出端数据,形成训练数据集;

    对所述训练数据集进行分类训练,得到所述应用程序的分类算法;

    根据所述分类算法对待分类的应用程序进行分类,确定所述待分类的应用程序的类别。

    2.根据权利要求1所述的方法,其特征在于,所述获取各类应用程序的输入端数据和输出端数据,形成训练数据集,包括:

    从每类所述应用程序中随机抽取第一预设个数样本;

    对于每个样本,采集第二预设个数扫描周期的所述输入端数据和所述输出端数据,形成训练数据集。

    3.根据权利要求1所述的方法,其特征在于,所述对所述训练数据集进行分类训练,得到所述应用程序的分类算法,包括:

    将所述训练数据集划分训练集和测试集;

    按照机器学习算法,训练所述训练集和所述测试集,得到所述分类算法。

    4.根据权利要求1所述的方法,其特征在于,所述根据所述分类算法对待分类的应用程序进行分类,确定所述待分类的应用程序的类别,包括:

    采集所述待分类的应用程序的第三预设个数扫描周期的所述输入端数据和所述输出端数据;

    根据所述分类算法对所述第三预设个数扫描周期的所述输入端数据和所述输出端数据进行分类,确定所述待分类的应用程序的类别。

    5.根据权利要求4所述的方法,其特征在于,采集所述待分类的应用程序的第三预设个数扫描周期的所述输入端数据和所述输出端数据,包括:

    采集所述待分类的应用程序在仿真环境中运行时所述第三预设个数扫描周期的所述输入端数据和所述输出端数据,和/或,

    采集所述待分类的应用程序在生产环境中运行时所述第三预设个数扫描周期的所述输入端数据和所述输出端数据。

    6.一种组态软件服务系统,其特征在于,包括:

    云计算节点,用于为用户提供应用程序的分类服务,包括:

    第一数字孪生模块,用于获取各类应用程序的输入端数据和输出端数据;

    分类算法训练模块,用于将所述输入端数据和所述输出端数据形成训练数据集,对所述训练数据集进行分类训练,得到所述应用程序的分类算法;

    分类模块,用于根据所述分类算法对待分类的应用程序进行分类,确定所述待分类的应用程序的类别。

    7.根据权利要求6所述的系统,其特征在于,所述系统还包括:

    端节点,用于运行所述应用程序,并采集所述输入端数据和所述输出端数据,上传至所述云计算节点。

    8.根据权利要求7所述的系统,其特征在于,所述端节点包括:

    应用程序运行模块,用于运行所述应用程序;

    输入端口采样模块,用于采集所述应用程序运行时每个扫描周期的输入端数据;

    输出端口采样模块,用于采集所述应用程序运行时每个扫描周期的输出端数据;

    第二数字孪生模块,用于与所述第一数字孪生模块通信,将所述输入端数据和所述输出端数据发送至所述第一数字孪生模块。

    9.根据权利要求6所述的系统,其特征在于,所述云计算节点还包括:

    应用组态模块,用于为所述用户提供所述应用程序的组态设计服务;

    应用仿真模块,用于为所述用户提供仿真服务。

    10.根据权利要求8所述的系统,其特征在于,所述云计算节点还用于为用户提供应用实例的推荐和选择服务。

    11.根据权利要求10所述的系统,其特征在于,所述系统还包括:边缘计算节点;所述边缘计算节点包括:

    仿真边缘计算节点,用于执行所述仿真服务;

    生产边缘计算节点,用于部署所述应用实例的推荐和选择服务。

    12.根据权利要求11所述的系统,其特征在于,所述边缘计算节点包括:

    运行调度模块,用于根据所述端节点的资源,对所述应用程序的运行进行调度。

    13.根据权利要求11所述的系统,其特征在于,所述边缘计算节点还包括:

    第三数字孪生模块,用于与所述第一数字孪生模块和所述第二数字孪生模块通信,同步所述云计算节点、所述边缘计算节点和所述端节点的数据。

    14.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1至5中任一项所述的应用程序分类方法。

    技术总结
    本发明公开了一种应用程序分类方法及组态软件服务系统,其中,该方法包括:获取各类应用程序的输入端数据和输出端数据,形成训练数据集;对训练数据集进行分类训练,得到应用程序的分类算法;根据分类算法对待分类的应用程序进行分类,确定待分类的应用程序的类别。本发明解决了现有技术中组态软件的应用程序分类方式不够客观准确的问题,提高了应用程序分类方式的准确性、客观性和可信度。

    技术研发人员:王灵军;刘鑫;李杰;夏元仕
    受保护的技术使用者:珠海格力电器股份有限公司
    技术研发日:2020.11.06
    技术公布日:2021.03.12

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

    最新回复(0)