1.一种基于规则的分布式推理方法,其特征在于,包括下列步骤:步骤100.服务器接收推理任务,访问服务器上的知识库,判断所述推理任务中的推理步所需要的知识是否存储在所述知识库中,若是,则在服务器上获取所述推理步的取值并执行所述推理步;否则,执行步骤200;步骤200.发生推理步迁移,服务器中断运行涉及所述推理步的推理,并记忆中断的所述推理步的信息,将所述推理步的推理任务下传给具有所述推理步所需要的知识的终端;步骤300.终端接收并执行服务器下传的所述推理步的推理任务,并将下传的所述推理步的推理任务的推理结果上传给所述服务器。
2.根据权利要求1所述的基于规则的分布式推理方法,其特征在于,所述步骤100,包括下列步骤:步骤110.所述推理任务通过服务器的输入/输出单元进入到服务器推理单元的推理机中;步骤120.推理机将所述推理任务划分成多个逻辑上独立的推理步,并对所述推理步进行遍历,调出推理结构并查询服务器的知识库,运行推理任务;其中,所述推理任务有对应的推理结构,所述推理结构为一棵树,每棵树上的节点代表一个推理步,所述推理步中存放着运行所述推理步需要的信息,所述推理步需要的信息包括推理步的信息、推理知识的信息;步骤130.判断所述推理步所需要的知识是否存储在所述服务器的知识库中,若是,则在服务器上获取所述推理步的取值并执行所述推理步;否则,执行步骤200。
3.根据权利要求1所述的基于规则的分布式推理方法,其特征在于,所述步骤200,包括下列步骤:步骤210.服务器中断运行涉及所述推理步的推理,服务器的推理机记录所述推理步的id和推理步名称以及推理知识位置;步骤220.服务器的推理机把记录的信息传送给推理下传单元,推理下传单元根据终端位置,把所述推理步的推理任务发送给相应终端。
4.根据权利要求1所述的基于规则的分布式推理方法,其特征在于,所述步骤300,包括下列步骤:步骤310.终端接收服务器下传的所述推理步的推理任务,并判断所述推理步在终端上是否对应一个推理结构,若是,则执行步骤320;否则执行步骤330;其中,所述推理任务有对应的推理结构,所述推理结构为一棵树,每棵树上的节点代表一个推理步,所述推理步中存放着运行所述推理步需要的信息,所述推理步需要的信息包括推理步的信息、推理知识的信息;步骤320.在所述终端上执行所述推理步对应的推理结构,判断终端负载是否超过阈值,若是,则向服务器上传推理步的部分推理结果,以及所述推理步剩余的推理结构和知识;否则,将所述推理步的推理结果上传给服务器;服务器继续运行涉及所述推理步的推理;步骤330.在所述终端上执行所述推理步的推理任务,并将所述推理步的执行结果上传给服务器,服务器继续运行涉及所述推理步的推理。
5.根据权利要求4所述的基于规则的分布式推理方法,其特征在于,在所述步骤320的所述终端上执行所述推理步对应的推理结构之前还包括下列步骤:步骤311.终端的接收/上传模块接收服务器下传的所述推理步,把所述推理步的信息提交给终端上的推理机;步骤312.所述终端上的推理机调出所述推理步对应的推理结构并查询终端上的知识库。
6.根据权利要求4所述的基于规则的分布式推理方法,其特征在于,所述步骤320,包括下列步骤:步骤321.终端推理单元的诊断单元中的监控资源模块读取终端的资源配置表,获取终端cpu和内存的占用值;步骤322.访问所述推理步对应的推理结构中的推理步信息,获取运行所述推理步需要的cpu和内存的占用值;步骤323.判断所述终端的cpu和内存占用值与运行所述推理步需要的cpu和内存的占用值之和是否超过阈值,若是,则执行步骤324;否则,执行步骤325;步骤324.终端不执行所述推理步,由终端上的终止推理运行模块通知终端的推理机不再进行所述推理步对应的推理结构中当前推理步下一个推理步,并通过终端的接收/上传模块向服务器上传所述推理步对应的推理结构中已执行的推理步的推理结果和所述推理步剩余的推理结构和知识;步骤325.终端执行所述推理步,判断服务器下传的所述推理步对应的推理结构是否执行完毕,若是,则将服务器下传的所述推理步的推理结果上传给服务器,服务器继续运行涉及所述推理步所属的推理任务;否则,所述终端移至所述推理步对应的推理结构中当前推理步的下一个推理步,返回步骤321。
7.一种基于规则的分布式推理系统,其特征在于,所述系统包括分别部署有不同推理单元的服务器和终端,其中:部署在服务器上的推理单元,用于接收推理任务并执行其中所需知识存储在服务器上的推理任务,中断所需知识存储在终端上的推理任务,将所需知识存储在终端上的推理任务分配给对应终端,等待对应终端返回推理结果后继续执行所述推理任务;部署在终端上的推理单元,用于接收并执行服务器分配的推理任务,并将所述分配的推理任务的推理结果上传给所述服务器。
8.根据权利要求7所述的基于规则的分布式推理系统,其特征在于,所述部署在服务器上的推理单元,包括:输入/输出单元,用于接收/发送推理任务;推理下传单元,用于根据由服务器上的推理机下传的推理步的信息,把下传的推理步的推理任务发送给相应终端;推理机,用于对接收到的推理任务中的推理步进行遍历,获得推理结构并查询服务器上的知识库,运行所述推理任务中所需知识存储在服务器的知识库中的推理步;记录所述推理任务中所需知识未存储在服务器的知识库中的推理步的信息,将所述信息传送给所述推理下传单元;其中,所述推理任务有对应的推理结构,所述推理结构为一棵树,每棵树上的节点代表一个推理步,所述推理步中存放着运行所述推理步需要的信息,所述推理步需要的信息包括推理步的信息、推理知识的信息;知识库,用于存储部分或全部推理步所需要的知识;推理接收单元,用于接收由终端上传的推理结果。
9.根据权利要求8所述的基于规则的分布式推理系统,其特征在于,所述部署在终端上的推理单元,包括:接收/上传模块,用于接收所述下传的推理步的推理任务并将下传的推理步的推理任务的信息提交给终端上的推理机;上传所述下传的推理步的推理任务的推理结果;推理机,用于根据所述下传的推理步的推理任务的信息调出对应的推理结构并查询终端上的数据库,将所述下传的推理步的推理任务的推理结果传输给终端上的接收/上传模块;知识库,用于存储部分或全部推理步所需要的知识;诊断单元,用于判断所述终端的cpu和内存占用值与运行所述下传的推理步需要的cpu和内存的占用值之和是否超过阈值,若超过,则通知终端的推理机停止执行所述下传的推理步的推理任务;若未超过,则继续执行所述下传的推理步的推理任务。
10.根据权利要求8-9任一项所述的基于规则的分布式推理系统,其特征在于,所述推理结果,包括以下两种情况:一是所述下传的推理步的推理任务全部执行后得到的结果;二是所述下传的推理步的推理任务没能全部执行完的情况下,部分推理结果及剩余推理任务的结构和知识。
展开