CN106293798B - 电子装置的自我修复方法、系统及服务器 - Google Patents
电子装置的自我修复方法、系统及服务器 Download PDFInfo
- Publication number
- CN106293798B CN106293798B CN201510332937.3A CN201510332937A CN106293798B CN 106293798 B CN106293798 B CN 106293798B CN 201510332937 A CN201510332937 A CN 201510332937A CN 106293798 B CN106293798 B CN 106293798B
- Authority
- CN
- China
- Prior art keywords
- electronic device
- policy
- update
- module
- self
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003745 diagnosis Methods 0.000 claims abstract description 43
- 238000004092 self-diagnosis Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 56
- 239000013598 vector Substances 0.000 claims description 42
- 238000010801 machine learning Methods 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 230000010076 replication Effects 0.000 claims 2
- 230000003362 replicative effect Effects 0.000 claims 2
- 230000004044 response Effects 0.000 claims 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000012423 maintenance Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 210000000467 autonomic pathway Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例公开了一种电子装置的自我修复方法、系统及服务器。此方法依序呼叫并检查安装在电子装置上的元件,以对各个元件执行更新。接着,对更新后的电子装置执行自我诊断以产生诊断结果,并将诊断结果传送至服务器。由服务器分析诊断结果,据以制定用以修复电子装置的至少一项政策,并将此政策回传至电子装置。最后,电子装置将此政策转换为其适用的规则,并据以执行自我修复。
Description
技术领域
本发明是有关于一种更新方法及系统,且特别是有关于一种在电子装置更新时执行自我修复的方法、系统及服务器。
背景技术
为了满足企业员工或用户的使用需求,企业内部的电脑数量会随着企业规模的成长不断地增加。而面对日新月异的恶意软体,企业的网管人员为了确保信息安全及服务品质,必须适时地修改或更新电脑系统。受惠于先进的网络技术,网管人员在对企业内部电脑执行更新时,已不再需要亲自前往,只需通过网络即可在远端控制每一台电脑,并进行更新。
然而,每台电脑的规格及运行环境均不相同,若执行完更新后发生问题,由于电脑并无智能可以自动排除问题,此时只能仰赖网管人员修复错误。而对为数众多的电脑进行更新及修复将成为网管人员沈重的负担。
发明内容
本发明提供一种电子装置的自我修复方法、系统及服务器,通过远端服务器分析电子装置执行更新后所产生的缺陷(bug)或安全漏洞(security hole),据以制定修复政策(policy)提供给电子装置,可实现电子装置的自我修复。
本发明的电子装置的自我修复方法,适于在更新于电子装置中的至少一个元件时执行自我修复。此方法依序呼叫并检查这些元件,以对各个元件执行更新,接着对更新后的电子装置执行自我诊断以产生诊断结果,并将诊断结果传送至服务器。由服务器分析诊断结果,据以制定用以修复电子装置的至少一项政策(policy),并将政策回传至电子装置。电子装置即可将此政策转换为其适用的至少一个规则,并据以执行自我修复。
在本发明的一实施例中,上述依序呼叫并检查元件,以对各个元件执行更新的步骤包括取得电子装置所安装的元件的复制(clone),依序呼叫复制中的元件,以检查各个元件是否具有更新。若具有更新,将此元件的上下文(context)推送至堆迭,对此元件执行更新,自此堆迭提取并修改上下文,使用此复制对更新后的元件及修改后的上下文进行模拟,以确认修改后的元件及上下文的健全性(sanity)。若修改后的元件及上下文具有健全性,使用此复制更新电子装置中对应的元件。最后,继续呼叫下一个元件以进行更新,直到所有元件均更新完毕为止。
在本发明的一实施例中,上述对元件执行更新的步骤包括修改元件的文件标头(header)、程序标头、文件内容的相对偏移量(offset)或程序内容的绝对偏移量。
在本发明的一实施例中,上述依序呼叫复制中的元件的步骤包括依照各个元件的参数排序这些元件,以依序呼叫这些元件,所述参数包括风险层级(risk level)、严重性(severity)或优先级(priority)。
在本发明的一实施例中,上述自堆迭提取修改后的上下文的步骤还包括比较修改前后的上下文,以转换修改后的上下文的暂存器、堆积变数(heap variables)、驱动程序介面(driver interface)、函式库相依(library dependencies)、环境变数(environmentvariables)其中之一或其组合。
在本发明的一实施例中,上述由服务器分析诊断结果,据以制定用以修复电子装置的政策的步骤包括由服务器对诊断结果执行异常检测,以找出多个异常(outlier),接着摘取(extract)这些异常中的多个特征以产生特征向量,然后以样本(sample)跟分类(label)的特征向量作为联合特征函数(joint feature function)的输入执行结构预测(structured prediction)演算法,以预测用以修复电子装置的政策。
在本发明的一实施例中,上述以特征向量作为输入执行结构预测演算法,以预测用以修复电子装置的政策的步骤包括使用半监督式学习法建立机器学习模型,将样本跟分类的特征向量输入此机器学习模型,以获得多个预测输出的特征向量。然后,将所输入的特征向量及所获得的预测输出的特征向量结合以产生联合特征函数。最后,将联合特征函数回馈至机器学习模型,以训练机器学习模型,并预测用以修复电子装置的政策。
在本发明的一实施例中,上述将政策转换为电子装置适用的规则,并据以执行自我修复的步骤包括将这些规则融合于对应元件的函数(function)、将这些规则覆盖于对应元件的函数,或是将对应元件的函数移除后加入这些规则。
本发明的电子装置的自我修复系统包括电子装置及服务器。此电子装置包括第一通信模组、元件更新模组、自我诊断模组及自我修复模组。其中,第一通信模组是用以连接网络;元件更新模组是用以依序呼叫并检查安装于电子装置中的至少一个元件,以对各个元件执行更新;自我诊断模组是用以对更新后的电子装置执行自我诊断以产生诊断结果,并通过第一通信模组传送诊断结果。服务器包括第二通信模组及政策制定模组。其中,第二通信模组是用以连接网络并通过网络接收第一通信模组传送的诊断结果;政策制定模组则用以分析诊断结果,据以制定用以修复电子装置的至少一项政策,并通过第二通信模组将此政策回传至电子装置。其中,电子装置的自我修复模组会将此政策转换为电子装置适用的规则,并据以执行电子装置的自我修复。
在本发明的一实施例中,上述的元件更新模组包括取得电子装置所安装的元件的复制,依序呼叫复制中的元件,以检查各个元件是否具有更新,将具有更新的元件的上下文推送至堆迭,对此元件执行更新,自堆迭提取并修改上下文,然后使用复制对更新后的元件及修改后的上下文进行模拟,以确认修改后的元件及上下文的健全性。在修改后的元件及上下文具有健全性时,使用复制更新电子装置中对应的元件,并继续呼叫下一个元件以进行更新,直到所有元件均更新完毕为止。
在本发明的一实施例中,上述的元件更新模组包括修改元件的文件标头、程序标头、文件内容的相对偏移量或程序内容的绝对偏移量。
在本发明的一实施例中,上述的元件更新模组包括依照各个元件的参数排序元件,以依序呼叫元件,所述参数包括风险层级、严重性或优先级。
在本发明的一实施例中,上述的元件更新模组包括在自堆迭提取上下文时,比较修改前后的上下文,以转换修改后的上下文的暂存器、堆积变数(heap variables)、驱动程序介面(driver interface)、函式库相依(library dependencies)、环境变数(environment variables)其中之一或其组合。
在本发明的一实施例中,上述的政策制定模组包括异常检测模组、特征摘取模组及结构预测模组。其中,异常检测模组是用以对诊断结果执行异常检测,以找出多个异常;特征摘取模组是用以摘取异常中的多个特征以产生特征向量;结构预测模组则是用以以样本跟分类的特征向量做为联合特征函数的输入执行结构预测演算法,以预测用以修复电子装置的政策。
在本发明的一实施例中,上述的结构预测模组包括使用半监督式学习法建立机器学习模型,将样本跟分类的特征向量输入此机器学习模型,获得多个预测输出的特征向量,将所输入的特征向量及所获得的预测输出的特征向量结合以产生联合特征函数,以及将此联合特征函数回馈至机器学习模型,以训练机器学习模型,并预测用以修复电子装置的政策。
在本发明的一实施例中,上述的自我修复模组包括将规则融合于对应元件的函数、将规则覆盖于对应元件的函数,或是将对应元件的函数移除后加入规则。
本发明的服务器包括通信模组及政策制定模组。其中,通信模组是用以连接网络并通过网络接收电子装置上传的诊断结果,此诊断结果是由电子装置对所安装的元件执行更新后执行自我诊断所产生的;政策制定模组是用以分析诊断结果,据以制定用以修复电子装置的至少一项政策,并通过通信模组将政策回传至电子装置,使得电子装置可据以执行自我修复。
基于上述,本发明的电子装置的自我修复方法、系统及服务器,通过电子装置在执行更新后进行自我维护,若无法自行维护元件良好地运行,则将自我诊断的结果传送至服务器上,由服务器利用机器学习模型制定自我修复的政策并提供给电子装置,而由电子装置据此进行自我修复。藉此,可减轻网管人员维护的负担,并可提供稳定的服务品质。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1是依照本发明一实施例所示出的电子装置的自我修复系统的示意图。
图2是依照本发明一实施例所示出的电子装置的自我修复系统的方块图。
图3是依据本发明一实施例所示出的电子装置的自我修复方法的流程图。
图4是依照本发明一实施例所示出的元件更新方法的流程图。
图5是依照本发明一实施例所示出的政策制定模组的方块图。
图6是依照本发明一实施例所示出的政策制定方法的流程图。
图7是依照本发明一实施例所示出的结构预测方法的流程图。
其中,附图标记说明如下:
10、20:自我修复系统
12、14、22:电子装置
16:更新服务器
18:云端服务器
222、242:通信模组
224:元件更新模组
226:自我诊断模组
228:自我修复模组
24:服务器
244:政策制定模组
2442:异常检测模组
2444:特征摘取模组
2446:结构预测模组
S302~S308、S402~S420、S602~S606、S702~S708:步骤。
具体实施方式
参考服务层级协议(Service Level Agreement,SLA)的规定,为了在电脑更新元件时保持服务品质(Quality of Service,QoS),本发明是采用渐近式(incremental)更新的方式,依序更新元件,避免更新影响服务的运行。若在更新后发现无法自行维护,则由云端服务器利用机器学习模型(machine learning model,MLM)分析电子装置的自我诊断信息并制定可供电子装置自我修复的政策,交由电子装置转化为本身适用的规则后据以实施。藉此,可在不影响电子装置服务运行的情况下,确保服务的良好运行。
图1是依照本发明一实施例所示出的电子装置的自我修复系统的示意图。请参照图1,本实施例的自我修复系统10包括通过网络连接的电子装置12、14、更新服务器16及云端服务器18。电子装置12、14例如是位于企业内部的电脑、工作站或服务器,其可服务企业员工或用户。
以电子装置12为例,其中安装有类似人体自律神经的管理程序,其可呼叫电子装置12中的元件,并通过网络连线至更新服务器16,以检查其中的更新仓储(respiratory)是否有新版的元件。若有,则进行更新。其中,电子装置12例如是采用应用拦截(applicationhook)或预设时间或预设条件等主动式更新的方式进行更新;电子装置12亦可采用例外处理(exception handler)等被动式更新的方式进行更新,本实施例并不限制更新方式。
管理程序例如是采用渐近式更新的方式,只下载元件的新增部分并附加到现有的元件文件上,不需要下载整个元件文件,藉此可降低更新元件所需的频宽。此更新只会约略延迟电子装置12的服务,并不会造成服务中断,也无需重新启动电子装置12。
在更新完成后,管理程序会进一步检查更新后的软体是否有缺陷(bug)或安全漏洞(security hole),并尝试自我维护(self-maintain)。若无法自行维护元件良好地运行,管理程序就会发挥自我诊断的功能,发出一个健康失调的诊断结果给云端服务器18。云端服务器18将会使用机器学习模型分析电子装置12提供的诊断结果,并产生用以修复电子装置12的政策,下达给电子装置12的代理人程序(agent)。此代理人程序会将政策转换为电子装置12适用的多个规则,并套用在原本的函式(function)上,最终实现电子装置12的自体修复。
详细来说,图2是依照本发明一实施例所示出的电子装置的自我修复系统的方块图。请参照图2,本实施例的自我修复系统20包括电子装置22及服务器24。其中,电子装置22例如是具有运算能力的服务器、工作站或个人电脑等计算机装置,或是手机、平板电脑等行动装置;服务器24例如是具有强大运算能力的工作群组级服务器,部门级服务器或企业级服务器,其可用以管理资源并通过网络对外部用户提供服务,但本实施例不限于此。
电子装置22包括通信模组222、元件更新模组224、自我诊断模组226与自我修复模组228。服务器24包括通信模组242与政策制定模组244。在本实施例中,这些模组例如是储存在电子装置22或服务器24的储存装置(未示出)中的程序或软体,其可载入电子装置22或服务器24的处理器(未示出),而由处理器执行,以实现本发明实施例的自我修复方法。另一方面,在另一实施例中,这些模组亦可以实做为具有这些模组的功能的实体电路或是软硬体的组合,而可实现本发明实施例的自我修复方法。
所述的储存装置例如是任何型态的固定或可移动随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)或类似元件或上述元件的组合。需说明的是,本实施例中所述储存单元并未限制是单一存储器元件,上述模组亦可以分开储存在两个或两个以上相同或不同型态的存储器元件中。
所述的处理器连接储存装置,其例如是具有单核心或多核心的中央处理单元(Central Processing Unit,CPU),或是其他可程序化的一般用途或特殊用途的微处理器(Microprocessor)、数位信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(Application Specific Integrated Circuit,ASIC)或其他类似元件或上述元件的组合。在本实施例中,处理器用以存取并执行储存装置中记录的模组,从而实现本发明实施例的自我修复方法。本实施例中所述处理单元并未限制是单一处理元件,也可以是由两个或两个以上的处理元件共同执行。
图3是依据本发明一实施例所示出的电子装置的自我修复方法的流程图。请同时参照图2与图3,本实施例的方法适用于图2的自我修复系统20。以下即搭配自我修复系统20中的各项元件,说明本实施例自我修复方法的详细流程。
首先,由电子装置22的元件更新模组224依序呼叫并检查安装于电子装置22中的元件,以对各个元件执行更新(步骤S302)。所述的元件包括电子装置22的应用程序、核心(kernel)、驱动程序、基本输入输出系统(Basic Input and Output System,BIOS)中的所有二进制数据(binaries),例如程序(process)、执行档(executable)和韧体(firmware),但本实施例不限于此。
详言之,图4是依照本发明一实施例所示出的元件更新方法的流程图。请同时参照图2及图4,在电子装置执行元件更新时,元件更新模组224例如会先取得电子装置所安装的元件的复制(clone)(步骤S402)。此复制例如是电子装置中与该元件相关的数据的可读写快照(snapshot),其可提供元件更新模组224对所更新的元件预先进行模拟及测试,待确认无误后,再把结果生效到电子装置上,藉此可避免直接更新所可能造成的错误。
接着,元件更新模组224会依序呼叫此复制中的元件,并判断是否还有其他元件未呼叫(步骤S404)。其中,元件更新模组224例如会依照各个元件的风险层级(risk level)、严重性(severity)、优先级(priority)或其他参数对这些元件进行排序,并依照顺序呼叫这些元件,而逐一进行更新。
若元件更新模组224判断仍有元件未呼叫,则在呼叫此元件后,会检查此元件是否具有更新(步骤S406)。其中,元件更新模组224例如会通过通信模组222连结至网络上的更新服务器,检查是否有新版的元件可供更新。其中,若此元件不具有更新,则会回到步骤S404,继续由元件更新模组224依序呼叫下一个元件;反之,若此元件具有更新,则元件更新模组224会先将复制中的元件的上下文(context)推送至堆迭(步骤S408),并对此元件执行更新(步骤S410)。其中,元件更新模组224例如会修改元件的文件标头(header)、程序标头、文件内容的相对偏移量(offset)或程序内容的绝对偏移量,但本实施例不限于此。
然后,元件更新模组224自此堆迭提取并修改上下文(步骤S412)。其中,若采用上下文感知(context aware)的做法,提取回来的上下文可以在新版的元件中继续使用;然而,若上下文在更新中有所改变,则需要做进一步的转换。此时,元件更新模组224在自堆迭提取上下文之后,会比较修改前后的上下文,例如会检查上下文中使用的暂存器是否改变,而据以转换修改后的上下文的暂存器、堆积变数(heap variables)、驱动程序介面(driverinterface)、函式库相依(library dependencies)、环境变数(environment variables)其中之一或其组合。
在修改完成后,元件更新模组224会使用复制对更新后的元件及修改后的上下文进行模拟(步骤S414),以确认更新后的元件及上下文是否具有健全性(sanity)(步骤S416)。其中,若元件更新模组224在进行模拟时发现更新后的元件及上下文具有缺陷(bug)或安全漏洞(security hole),即认定此更新后的元件及上下文不具有健全性,而结束更新(步骤S420)。
若元件更新模组224确认更新后的元件及其上下文具有健全性,则会使用复制更新电子装置中对应的元件(步骤S418),并回到步骤S404,
继续呼叫下一个元件以进行更新。其中,元件更新模组224在使用复制更新元件时,例如会先暂停(suspend)电子装置运行中的程序,待更新元件后,再回复正常操作,藉此避免更新过程所可能造成的数据错误。直到所有元件均更新完毕时,意即,在步骤S404中,元件更新模组224判断没有元件未被呼叫时,元件更新模组224将会结束更新(步骤S420)。
本实施例通过上述依序更新元件的渐近式修补(incremental patch)方式,取代完整修补(full patch)方式,因此更新只会约略延迟电子装置22的服务,不会造成服务中断。藉此,电子装置22在更新的过程中仍可维持服务的运行。此外,电子装置22还可利用计时器定时触发元件更新模组224检查电子装置22中的元件是否具有更新,并据以执行元件更新及本实施例的自我修复方法。藉此,可确保电子装置22的服务品质(Quality ofService,QoS)。
需说明的是,在上述实施例中,对于所更新元件的模拟及测试均是在电子装置22的内部执行。然而,在其他实施例中,在网络频宽允许的情况下,亦可由网络上的其他电子装置(例如图1中的电子装置14)或是云端服务器(例如图1中的云端服务器18)代为执行。意即,由其他装置或是云端服务器取得复制并进行更新及模拟,待模拟结束后,再将修改后的复制回传电子装置22,以更新电子装置22中对应的元件,同样可达到元件更新的效果。
回到图3的流程,在元件更新模组224完成元件的更新后,电子装置22的自我诊断模组226即会对更新后的电子装置22执行自我诊断以产生诊断结果,并通过通信模组222将此诊断结果传送至服务器24(步骤S304)。其中,自我诊断模组226例如是安装在电子装置22上类似防毒软体的管理程序,其会检查更新后的电子装置22是否存在缺陷或安全漏洞,若发现有缺陷或安全漏洞,则会先尝试自我维护。若无法自我维护,则自我诊断模组226即会发挥自我诊断(self-diagnose)的功能,将所发现的问题、症状(syndrome)连同电子装置22的环境参数做为诊断结果发送至服务器24。
服务器24是由通信模组242接收电子装置22传送的诊断结果,而由政策制定模组244对此诊断结果进行分析,并据以制定用以修复电子装置22的政策,然后再通过通信模组242将此政策回传至电子装置22(步骤S306)。其中,政策制定模组244例如是通过训练一个使用半监督式学习法(semi-supervised learning)所建立的机器学习模型来产生可用以修复电子装置22的政策。
详言之,图5是依照本发明一实施例所示出的政策制定模组的方块图。图6是依照本发明一实施例所示出的政策制定方法的流程图。请同时参照图5及图6,本实施例说明图2中政策制定模组244的细部构件及其功能。其中,政策制定模组244包括异常检测模组2442、特征摘取模组2444及结构预测模组2446。以下即搭配上述元件,说明本实施例政策制定方法的详细流程。
首先,由异常检测模组2442对所接收的诊断结果执行异常检测,以找出多个异常(outlier)(步骤S602)。此异常例如包括在诊断结果中与其他数据集合有显著不同的总体异常(global outlier)、根据数据的特定上下文所得到的内容异常(contextualoutlier),以及发生在特定子集合上的集合异常(collective outlier)。
接着,由特征摘取模组2444摘取所检测的异常中的多个特征以产生特征向量(步骤S604)。此特征摘取是特征选取的延伸,其是将资料集合由高维度的空间投影到低维度的空间,其与特征选取最大的不同在于挑选出的集合可以由原本的特征经过线性或非线性的运算组合而成。其中,若将每一个资料的每一个特征视为是这笔数据的坐标,则全部的资料即可视为是一群分布在高维度空间中的点,而每笔资料的特征數目即为此笔资料的维度。
最后,由结构预测模组2446以样本(sample)跟分类(label)的特征向量做为联合特征函数(joint feature function)的输入执行结构预测演算法,以预测用以修复电子装置的政策(步骤S606)。其中,结构预测模组2446是通过训练一个使用半监督式学习法所建立的机器学习模型来产生可用以修复电子装置22的政策。
详言之,图7是依照本发明一实施例所示出的结构预测方法的流程图。请同时参照图5、图6及图7,本实施例是进一步说明图6中步骤S606的详细步骤。
首先,结构预测模组2446会使用半监督式学习法建立一个机器学习模型(步骤S702)。此半监督式学习法是同时使用少量的已标记数据(labeled)及大量的未标记(unlabeled)数据来训练机器学习模型(例如是一个函数),并根据此模型预测新的数据。由于半监督式学习法不需要花费太多时间去标记数据,而且可以得到更高的分类正确性。因此,通过采用半监督式学习法,本实施例仅需提供少量样本,即可得到较佳的预测结果。
接着,结构预测模组2446会将特征摘取模组2444所摘取的样本跟分类的特征向量输入上述的机器学习模型,以获得多个预测输出的特征向量(步骤S704)。其中,结构预测模组2446例如会观察一些训练数据(包括输入物件和预期输出)后,去预测这个模型(函数)对任何可能出现的输入值的输出。机器学习模型的准确度与输入的物件如何表示有很大的关联,本实施例是将输入的物件转化成一个特征向量,其中包含了许多关于描述物件的特征。
然后,结构预测模组2446会将所输入的特征向量及所获得的预测输出的特征向量结合以产生联合特征函数(步骤S706)。其中,结构预测模组2446例如是将训练样本(即特征向量)x与候选预测(candidate prediction)y映射到长度为n的向量上,此x、y可以采用任何结构,n则是依问题而定,但对于每个模型而言是固定的。
最后,结构预测模组2446会将此联合特征函数做为训练数据回馈至机器学习模型,藉此训练机器学习模型,最终并可预测用以修复电子装置22的政策(步骤S708)。上述政策中例如包含多个线索(hint),这些线索定义装置中的特定物件应执行的动作,而可供电子装置22据以实施。
通过上述的半监督式学习法,本实施例仅需通过少量的训练数据来预测机器学习模型,并使用大量的未标记数据来训练机器学习模型。藉此,本实施例仅需提供少量样本(即上述的特征向量),即可得到较佳的预测结果。
回到图3的流程,最后,当电子装置22经由通信模组222接收到服务器21回传的政策时,自我修复模组228即会将此政策转换为电子装置22适用的规则,并据以执行自我修复(步骤S308)。其中,电子装置22转换规则的方式可区分两种:一种是将上述的规则融合于对应元件的函数(function);另一种则是先将对应元件的函数移除后再加入所述规则,本实施例并不限于此。
详言之,自我修复模组228例如是将原始的函数与套用规则来修改的函数并排(side by side)在一起比较,若差异不大,则自我修复模组228会将此差异部分融合于原始函数;反之,若差异较大,则可以直接以所述规则覆盖对应元件的函数,或是将对应元件的函数移除后再加入所述规则。
通过上述的自我修复方法,电子装置可避免元件的更新影响到服务的运行,而通过服务器协助分析更新结果并制定修复政策,电子装置即可自我修复更新后的缺陷或安全漏洞,从而提供较佳且安全的服务。
以下以电脑更新核心/驱动程序为例,说明上述的自我修复方法。本实施例的电脑是采用Linux作业系统,此作业系统具有一个更新服务程序(update daemon),其会定时到更新服务器上的更新仓储检查更新。当此服务程序发现有更新但却无法确保更新后系统的健全性时,就会寻求云端服务器的协助,而将电脑的自我诊断数据传送至云端服务器,由云端服务器上的机器学习模型进行分析。此诊断数据包括电脑的环境参数、问题、症状等数据,但不限于此。
云端服务器将会利用机器学习模型分析诊断数据,而制定用以修复电脑的政策,并传送至电脑。此政策中例如包括核心/驱动程序的相依关是(dependencies)、硬体相容表列(hardware compatibility list)等信息。此时,电脑上的代理人程序(agent)会将此政策转换为函数符号表(function symbol table)、文件异动(file diff)等规则,并尝试将此规则融入核心/驱动程序的二进制数据(例如ELF执行档)的函数中,或是将原始函数移除后再加入套用此规则的函数。藉此,本实施例的电脑即可在更新的同时修复更新所可能造成的程序缺陷或安全漏洞。
综上所述,本发明的电子装置的自我修复方法、系统及服务器采用渐近式修补的方式主动或被动地对安装在电子装置上的元件进行更新,而不影响电子装置服务的运行。电子装置在执行完更新后若无法自行维护元件良好运行,则会自动将自我诊断的结果传送至服务器上,由服务器利用机器学习模型产生自我修复的政策并提供给电子装置。最后,电子装置只需将此政策转换为本身适用的规则,即可实现自我修复。藉此,可减轻网管人员维护的负担,并可提供稳定的服务品质。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (17)
1.一种电子装置的自我修复方法,适于在更新于一电子装置中的至少一元件时执行自我修复,该方法包括下列步骤:
依序呼叫并检查所述元件,以对各所述元件执行更新;
执行自我诊断于更新后的该电子装置以产生一诊断结果,并传送该诊断结果至一服务器;
由该服务器分析该诊断结果,据以制定用以修复该电子装置的至少一政策,并回传该至少一政策至该电子装置;以及
转换该至少一政策为该电子装置适用的至少一规则,并据以执行自我修复,其中,由该服务器分析该诊断结果,据以制定用以修复该电子装置的该至少一政策的步骤包括:
该服务器对该诊断结果执行异常检测,以找出多个异常;
摘取所述异常中的多个特征以产生特征向量;以及
以样本跟分类的该特征向量做为一联合特征函数的输入执行一结构预测演算法,以预测用以修复该电子装置的该至少一政策。
2.如权利要求1所述的方法,其特征在于,依序呼叫并检查所述元件,以对各所述元件执行更新的步骤包括:
取得该电子装置所安装的所述元件的一复制;
依序呼叫该复制中的所述元件,以检查各所述元件是否具有一更新;
若具有该更新,推送该元件的上下文至一堆迭,对该元件执行该更新,自该堆迭提取并修改该上下文;
使用该复制对修改后的上下文及该更新进行模拟,以确认该修改后的上下文及该更新的健全性;
若该修改后的上下文及该更新具有该健全性,使用该复制更新该电子装置中对应的该元件;以及
继续呼叫下一所述元件以进行更新,直到所述元件均更新完毕为止。
3.如权利要求2所述的方法,其特征在于,对该元件执行该更新的步骤包括:
修改该元件的文件标头、程序标头、文件内容的相对偏移量或程序内容的绝对偏移量。
4.如权利要求2所述的方法,其特征在于,依序呼叫该复制中的所述元件的步骤包括:
依照各所述元件的至少一参数排序所述元件,以依序呼叫所述元件,所述参数包括风险层级、严重性或优先级。
5.如权利要求2所述的方法,其特征在于,自该堆迭提取修改后的该上下文的步骤还包括:
比较修改前后的该上下文,转换修改后的该上下文的至少一暂存器、堆积变数、驱动程序介面、函式库相依、环境变数其中之一或其组合。
6.如权利要求1所述的方法,其特征在于,以样本跟分类的该特征向量做为该联合特征函数的输入执行该结构预测演算法,以预测用以修复该电子装置的该至少一政策的步骤包括:
使用半监督式学习法建立一机器学习模型;
输入样本跟分类的该特征向量于该机器学习模型,获得多个预测输出的特征向量;
结合所输入的该特征向量及所获得的所述预测输出的特征向量以产生该联合特征函数;以及
回馈该联合特征函数至该机器学习模型,以训练该机器学习模型,并预测用以修复该电子装置的该至少一政策。
7.如权利要求1所述的方法,其特征在于,转换该至少一政策为该电子装置适用的所述规则,并据以执行自我修复的步骤包括:
融合所述规则于对应的该元件的函数、覆盖所述规则于对应的该元件的函数,或是移除对应的该元件的函数后加入所述规则。
8.一种电子装置的自我修复系统,包括:
一电子装置,包括:
一第一通信模组,连接网络;
一元件更新模组,依序呼叫于该电子装置中的至少一元件,以对各所述元件执行更新;
一自我诊断模组,执行自我诊断于更新后的该电子装置以产生一诊断结果,并通过该第一通信模组传送该诊断结果;以及
一自我修复模组;以及
一服务器,包括:
一第二通信模组,连接该网络,并通过该网络接收该第一通信模组传送的该诊断结果;以及
一政策制定模组,分析该诊断结果,据以制定用以修复该电子装置的至少一政策,并通过该第二通信模组回传该至少一政策至该电子装置,其中
该电子装置的该自我修复模组转换该至少一政策为该电子装置适用的至少一规则,并据以执行该电子装置的自我修复,其中,该政策制定模组包括:
一异常检测模组,对该诊断结果执行异常检测,以找出多个异常;
一特征摘取模组,摘取所述异常中的多个特征以产生特征向量;以及
一结构预测模组,以样本跟分类的该特征向量做为一联合特征函数的输入执行一结构预测演算法,以预测用以修复该电子装置的该至少一政策。
9.如权利要求8所述的系统,其特征在于,该元件更新模组包括取得该电子装置所安装的所述元件的一复制,依序呼叫该复制中的所述元件,以检查各所述元件是否具有一更新,推送具有该更新的该元件的上下文至一堆迭,对该元件执行该更新,自该堆迭提取并修改上下文,使用该复制对修改后的上下文及该更新进行模拟,以确认该修改后的上下文及该更新的健全性,并在该修改后的上下文及该更新具有该健全性时,使用该复制更新该电子装置中对应的该元件,并继续呼叫下一所述元件以进行更新,直到所述元件均更新完毕为止。
10.如权利要求9所述的系统,其特征在于,该元件更新模组包括修改该元件的文件标头、程序标头、文件内容的相对偏移量或程序内容的绝对偏移量。
11.如权利要求9所述的系统,其特征在于,该元件更新模组包括依照各所述元件的至少一参数排序所述元件,以依序呼叫所述元件,所述参数包括风险层级、严重性或优先级。
12.如权利要求9所述的系统,其特征在于,该元件更新模组包括在自该堆迭提取修改后的该上下文时,比较修改前后的该上下文,以转换修改后的该上下文的至少一暂存器、堆积变数、驱动程序介面、函式库相依、环境变数其中之一或其组合。
13.如权利要求8所述的系统,其特征在于,该结构预测模组包括使用半监督式学习法建立一机器学习模型,将样本跟分类的该特征向量输入该机器学习模型,获得多个预测输出的特征向量,结合所输入的该特征向量及所获得的所述预测输出的特征向量以产生该联合特征函数,以及将该联合特征函数回馈至该机器学习模型,以训练该机器学习模型,并预测用以修复该电子装置的该至少一政策。
14.如权利要求8所述的系统,其特征在于,该自我修复模组包括融合所述规则于对应的该元件的函数、覆盖所述规则于对应的该元件的函数,或是移除对应的该元件的函数后加入所述规则。
15.一种服务器,包括:
一通信模组,连接网络并通过该网络接收一电子装置上传的一诊断结果,其中该诊断结果是由该电子装置对所安装的至少一元件执行更新后执行自我诊断所产生的;以及
一政策制定模组,分析该诊断结果,据以制定用以修复该电子装置的至少一政策,并通过该通信模组回传该至少一政策至该电子装置,使得该电子装置据以执行自我修复,其中该政策制定模组包括:
一异常检测模组,对该诊断结果执行异常检测,以找出多个异常;
一特征摘取模组,摘取所述异常中的多个特征以产生特征向量;以及
一结构预测模组,以样本跟分类的该特征向量做为一联合特征函数的输入执行一结构预测演算法,以预测用以修复该电子装置的该至少一政策。
16.如权利要求15所述的服务器,其中该结构预测模组包括使用半监督式学习法建立一机器学习模型,将样本跟分类的该特征向量输入该机器学习模型,获得多个预测输出的特征向量,结合所输入的该特征向量及所获得的所述预测输出的特征向量以产生该联合特征函数,以及将该联合特征函数回馈至该机器学习模型,以训练该机器学习模型,并预测用以修复该电子装置的该至少一政策。
17.一种电子装置,包括:
一通信模组;
一处理器,被设置用于:
取得该电子装置中所安装的元件的一复制;
针对该复制中的各元件:
响应于具有更新的该复制中的元件,执行对该复制中的元件的更新;以及
响应于确认该更新的健全性,通过使用该复制更新与该电子装置中对应的元件;
执行自我诊断于更新后的该电子装置以产生一诊断结果;
通过该通信模组基于该诊断结果取得用于修复该电子装置的至少一政策;以及
转换该至少一政策为该电子装置适用的至少一规则,并根据该规则执行自我修复。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104117810A TWI557594B (zh) | 2015-06-02 | 2015-06-02 | 電子裝置的自我修復方法、系統及伺服器 |
TW104117810 | 2015-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106293798A CN106293798A (zh) | 2017-01-04 |
CN106293798B true CN106293798B (zh) | 2020-02-11 |
Family
ID=57452440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510332937.3A Active CN106293798B (zh) | 2015-06-02 | 2015-06-16 | 电子装置的自我修复方法、系统及服务器 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10075477B2 (zh) |
CN (1) | CN106293798B (zh) |
TW (1) | TWI557594B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI578262B (zh) * | 2015-08-07 | 2017-04-11 | 緯創資通股份有限公司 | 風險評估系統及資料處理方法 |
US9906551B2 (en) * | 2016-02-09 | 2018-02-27 | International Business Machines Corporation | Forecasting and classifying cyber-attacks using crossover neural embeddings |
KR102617992B1 (ko) * | 2016-12-27 | 2023-12-26 | 한화비전 주식회사 | 예측 진단 장치 및 감시 시스템 |
TWI705387B (zh) * | 2018-12-25 | 2020-09-21 | 翁慶昌 | 強化學習系統及其伺服裝置與強化學習方法 |
CN111367781B (zh) * | 2020-05-26 | 2020-11-27 | 浙江大学 | 一种实例处理方法及其装置 |
US11735447B2 (en) * | 2020-10-20 | 2023-08-22 | Applied Materials, Inc. | Enhanced process and hardware architecture to detect and correct realtime product substrates |
TWI763169B (zh) * | 2020-12-10 | 2022-05-01 | 中華電信股份有限公司 | 雲端資料中心的事件種類的預測系統和預測方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855160A (zh) * | 2012-08-22 | 2013-01-02 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
CN103136072A (zh) * | 2011-12-05 | 2013-06-05 | 技嘉科技股份有限公司 | 自动修复系统及其自动修复方法 |
CN103365645A (zh) * | 2012-03-30 | 2013-10-23 | 伊姆西公司 | 用于维护软件系统的方法和设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2290890B (en) | 1994-06-29 | 1999-03-24 | Mitsubishi Electric Corp | Information processing system |
TW498228B (en) * | 1999-11-24 | 2002-08-11 | Elegent Technologies Inc | Self-contained network browser with diagnostic abilities |
US7225245B2 (en) * | 2001-08-09 | 2007-05-29 | Intel Corporation | Remote diagnostics system |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
US7580994B1 (en) * | 2004-01-21 | 2009-08-25 | Nortel Networks Limited | Method and apparatus for enabling dynamic self-healing of multi-media services |
US20060112061A1 (en) * | 2004-06-24 | 2006-05-25 | Masurkar Vijay B | Rule based engines for diagnosing grid-based computing systems |
US7899760B2 (en) * | 2004-12-07 | 2011-03-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Systems, methods and apparatus for quiesence of autonomic systems with self action |
US7523340B2 (en) * | 2006-05-31 | 2009-04-21 | Microsoft Corporation | Support self-heal tool |
US20070288405A1 (en) * | 2006-06-07 | 2007-12-13 | Motorola, Inc. | Problem solving mechanism selection facilitation apparatus and method |
US7739207B2 (en) * | 2006-07-11 | 2010-06-15 | International Business Machines Corporation | Network autonomous learning system that allows computers to share learned knowledge such that errors and potential problems are identified and resolved |
US20090037496A1 (en) * | 2007-08-01 | 2009-02-05 | Chong Benedict T | Diagnostic Virtual Appliance |
KR20110080583A (ko) * | 2010-01-06 | 2011-07-13 | 삼성전자주식회사 | 원격 운영체제 복구 가능한 컴퓨터 시스템 및 그 방법 |
US8904162B2 (en) | 2012-08-01 | 2014-12-02 | Intel Corporation | Methods and apparatus for performing secure BIOS upgrade |
JP6111757B2 (ja) * | 2013-03-14 | 2017-04-12 | 株式会社リコー | 通信システム、通信端末、および端末プログラム |
US9292402B2 (en) * | 2013-04-15 | 2016-03-22 | Century Link Intellectual Property LLC | Autonomous service management |
US10102082B2 (en) * | 2014-07-31 | 2018-10-16 | Intuit Inc. | Method and system for providing automated self-healing virtual assets |
US10303538B2 (en) * | 2015-03-16 | 2019-05-28 | Microsoft Technology Licensing, Llc | Computing system issue detection and resolution |
-
2015
- 2015-06-02 TW TW104117810A patent/TWI557594B/zh active
- 2015-06-16 CN CN201510332937.3A patent/CN106293798B/zh active Active
- 2015-10-28 US US14/924,722 patent/US10075477B2/en active Active
-
2018
- 2018-07-31 US US16/049,820 patent/US10397281B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136072A (zh) * | 2011-12-05 | 2013-06-05 | 技嘉科技股份有限公司 | 自动修复系统及其自动修复方法 |
CN103365645A (zh) * | 2012-03-30 | 2013-10-23 | 伊姆西公司 | 用于维护软件系统的方法和设备 |
CN102855160A (zh) * | 2012-08-22 | 2013-01-02 | 北京奇虎科技有限公司 | 软件修复方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180337959A1 (en) | 2018-11-22 |
TWI557594B (zh) | 2016-11-11 |
US10397281B2 (en) | 2019-08-27 |
US20160359923A1 (en) | 2016-12-08 |
TW201643766A (zh) | 2016-12-16 |
US10075477B2 (en) | 2018-09-11 |
CN106293798A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106293798B (zh) | 电子装置的自我修复方法、系统及服务器 | |
US11494295B1 (en) | Automated software bug discovery and assessment | |
US11263005B2 (en) | Techniques to deploy an application as a cloud computing service | |
US8549478B2 (en) | Graphical user interface input element identification | |
US20150347923A1 (en) | Error classification in a computing system | |
JP2018045403A (ja) | 異常検知システム及び異常検知方法 | |
US8813025B1 (en) | Customer impact predictive model and combinatorial analysis | |
US20230305813A1 (en) | Continuous integration and development of code in a secure environment | |
CN110062926B (zh) | 设备驱动器遥测 | |
US9524204B2 (en) | Methods and apparatus for customizing and using a reusable database framework for fault processing applications | |
KR102111392B1 (ko) | 테스트 통합 관리시스템 및 그 제어방법 | |
US20220066917A1 (en) | Candidate program release evaluation | |
Lavoie et al. | A case study of TTCN-3 test scripts clone analysis in an industrial telecommunication setting | |
Imtiaz et al. | Predicting vulnerability for requirements | |
US11314631B2 (en) | Method for automatically validating COTS and device for implementing the method | |
US11119898B1 (en) | Automatic code coverage file recommendation | |
US20180165141A1 (en) | Device driver verification | |
CN114385398A (zh) | 一种请求响应状态确定方法、装置、设备和存储介质 | |
WO2016189721A1 (ja) | ソースコード評価装置及びソースコード評価方法及びソースコード評価プログラム | |
CN114510409A (zh) | 一种应用程序代码检测方法和计算机可读存储介质 | |
US11797388B1 (en) | Systems and methods for lossless network restoration and syncing | |
US11681609B1 (en) | Identifying feature modification in software builds using baseline data | |
EP4432095A1 (en) | Unit testing generation method and apparatus, and related device | |
US20220245274A1 (en) | System and method for detection of patterns in application for application transformation and applying those patterns for automated application transformation | |
JP2018121245A (ja) | 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |