[0038] 传感器节点在给定的车联网拓扑上进行汇聚传输数据时,采用以路侧节点为根的树型结构进行路由和汇聚。当所有传感器节点到路侧节点存在有效路径时,即可建立树型结构。对于有效路径和路由汇聚树,本发明在一个车联网拓扑图G上选择u和v为G上的节点,e1,e2,···,ek为G上的边,t1,t2,···,tk为k个时刻,当节点u和节点v之间存在一条路径Puv=(u,e1,v1,e2,···,ek,v)且存在t1,t2,···,tk,使得t1∈f(e1),t2∈f(e2),···,tk∈f(ek),使得t1
[0039] 路侧节点规划所有传感器节点的数据发送时间,使得在时限内路侧节点能收集到最多的汇聚信息。因此节点与
父节点的链路的连通时刻集合为该节点传输时隙的候选时刻集合。即对于路由汇聚树T=(V,E,f)的任一节点i属于V,节点i与其父节点pi的链路的连通时刻集合f(e(i,pi))为节点i的候选时刻集合RTi。
[0040] 在节点的候选传输时隙集合上根据汇聚树规划所有节点的发送数据的时刻集合,这样的一次规划就是一个汇聚传输路径。如果对于任一节点i(i∈V)满足 则s是一个汇聚传输路径。
[0041] 在初始时刻,每个传感器节点产生一个感知数据,即为原始数据。假设一个原始数据的信息量为常量Ψ。然后节点在传输数据的过程中通过汇聚操作得到汇聚数据。汇聚得到的一个汇聚数据的信息量是参与该汇聚数据计算的原始数据的信息量之和。一个节点上截止到t时刻的累积汇聚信息量为该节点原始数据的信息量和该节点接收到的所有汇聚数据的信息量之和:
[0042] Ms(i,t)=Ψ+Σj∈CiMs(j,k)
[0043] 其中Ci为节点i在T上的孩
子节点集,s是汇聚传输路径,任一节点i上的原始数据的信息量为Ψ,节点i上的原始数据的信息量和节点i在汇聚传输路径s下截止到时刻t收到的汇聚数据的信息量总和称为节点i在汇聚传输路径s下截止到t时刻的累积汇聚信息量,k为s(i)中小于t的最大元素。
[0044] 数据汇聚传输规划问题是已知n个车载节点和1个路侧节点构成的车联网拓扑G,以路侧节点为根的路由汇聚树T,在0时刻车载节点i产生感知数据di,时限D,求解汇聚传输路径s,使得满足数据传输无干涉的情况下在截止时刻D前最大化路侧节点收集的汇聚信息量Max(Ms(AP,D))。
[0045] 并且存在约束:
[0046]
[0047]
[0048] Ci为节点i的孩子节点集;Ni为节点i的兄弟节点集; 表示节点i和节点j不同时发送数据。任一个非AP的节点i与其任一孩子节点k不同时发送数据。对于任一节点i,它的任意两个兄弟节点i和j不同时发送数据。
[0049] 在汇聚树上,同一层或相邻层的节点协同规划其传输时隙,从而避免直接干涉。对于一个节点的孩子节点和它的其他非孩子节点之间,首先处理这些节点的候选时刻集合,使得他们的候选时刻集合之间不相交,从而避免将他们规划到同一时刻发送数据产生非直接干涉。
[0050] 本发明提出了求解该问题的算法,基本思想就是分别处理两种干涉。首先过滤节点的候选时刻集合,使得可能发生非直接干涉的节点的候选时刻集合不相交,从而保证节点的传输时隙规划不会产生非直接干涉。然后在从远到近按层规划节点的孩子节点与候选传输时隙的优化匹配,使得同一父节点的孩子节点们传输时不产生干涉。
[0051] PTSDP算法分为三步如下。
[0052] 步骤1.构造非直接干涉图。
[0053] 步骤2.候选时刻集合过滤算法,输出新的路由汇聚树T′。
[0054] 步骤3.在树T′上规划无干涉数据传输时隙,
输出节点的汇聚传输时隙。
[0055] 首先构造非直接干涉图。在由节点之间存在过的无线链路的节点对组成的边集E中,对于 构造节点Ci与节点j之间的边和节点Cj与节点i之间的边形成边集E′,含有相同元素的节点进行合并形成节点集V′,将图GV=(V′,E′)称为非直接干涉图。
[0056] 所述非直接干涉图描述了传输路径中可能的非直接干涉,即当不同子树上的节点之间存在无线链路时,一个节点向它的父节点发送数据时,另一个节点不能接收孩子节点的数据,即此时另一个节点的孩子节点不能发送数据。非直接干涉图中节点之间存在边表示两个节点的候选时刻集合之间不能重叠。因此,根据非直接干涉图的结构将边的两个端点中节点的候选时刻集合中相交的部分进行划分,对相交的部分在一个端点的节点的候选时刻集合中保留,在另一个端点的节点的候选时刻集合中去除,最终使得交集为空,即达到了避免非直接干涉的目的。因此,避免可能的非直接干涉部分需要两个步骤,首先构造非直接干涉树,然后根据干涉图得到节点的候选时刻集合。首先根据在车联网拓扑G上而不在路由汇聚树T上的边e(u,v),构造非直接干涉图GV上的两条边,边e(u,v)的存在会导致两个干涉,节点u和Cv中的节点不能同时传输,节点v和Cu中的节点不能同时传输。
[0057] 构造得到非直接干涉图后,通过非直接干涉图可以获得不同子树上的节点的干涉信息,以下将干涉的候选时刻集合划分开,使得可能干涉的节点的候选时刻集合之间没有交集。不同的划分规则就决定了不同的节点上的候选时刻集合,进而影响传输时隙的规划。
[0058] 首先根据非直接干涉图划分干涉子集使得子集的个数最少。然后将整个时间段根据子集个数进行划分,形成不重叠的时刻子集。最后将干涉子集与时刻子集进行匹配。具体包括以下步骤:
[0059] 步骤1:输入非直接干涉图GV,路由汇聚树T=(V,E,f)
[0060] 步骤2:划分干涉子集,对非直接干涉图GV进行
顶点着色;
[0061] 步骤3:划分时刻子集;
[0062] 步骤4:构造
颜色和时刻子集的二部图,计算权值wij;
[0063] 步骤5:求最大权二部图匹配;
[0064] 步骤6:过滤路由汇聚树T中的f得到f′:只有与时刻子集TSi匹配的干涉子集中的节点j的f(e(j,pj))中可以保留与该时刻子集相同的元素;
[0065] 步骤7:返回新路由汇聚树T′=(V,E,f′)
[0066] 对于步骤2干涉子集的划分,本发明对非直接干涉图进行顶点着色。同一颜色的节点组成一个干涉子集。首先根据节点的度进行从大到小排序,第一个颜色对应第一个节点着色,并按照节点排列的次节点对与前面着色点不邻接的每个点着相同颜色,重复上述步骤直至所有顶点着色完成,设共用了CN个颜色。
[0067] 在步骤3时刻子集的划分中,将时刻集合TS={1,2,···,D}划分形成的CN个子集TS1,TS2,···,TSCN,需要满足如下两个条件:
[0068] 1.∪i∈[1,CN]TSi=TS
[0069] 2.
[0070] 优选地,将该时刻集合TS等分为CN个子集,得到{1,2,···,[|TS|/CN]},{[|TS|/CN]+1,[|TS|/CN]+2,···,2[|TS|/CN]},···,{(CN-1)[|TS|/CN]+1,(CN-1)[|TS|/CN]+2,···}。每个节点被分配一段可用时间,如果节点的候选时刻集合和这段时间匹配,则该节点可在这段时间内规划传输时隙,当超过这段时间时,该节点失去传输机会。然后将时刻集合TS中的时刻进行抽取分为CN个子集,得到{1,CN+1,···,[|TS|/CN]CN+1},{2,CN+2,···,[|TS|/CN]CN+2},···,{CN,2CN,···},让节点在各个时间段内都有传输的机会,但在每个时间段内可用时刻减少。
[0071] 对于步骤5干涉子集与时刻子集的匹配,非直接干涉图中的每个节点属于一个干涉子集,该节点本身包含多个传感器节点,每个传感器节点有候选时刻集合。当建立时刻子集与干涉子集的匹配时,该时刻子集中的时刻可以在该干涉子集的节点的候选时刻集合中。节点的候选时刻集合决定了传输时隙规划的解空间。本发明考虑影响节点优化传输时隙的三个因素,节点在汇聚树上的位置、节点之间的关系以及节点和父节点的链路的连通时刻集合。
[0072] 1.将节点与根节点的距离作为建立映射的权值。设节点i距离根节点的距离为hi,非直接干涉图GV=(V′,E′)中涂j颜色的节点集为V′j={v′j1,v′j2,···,v′jbn},定义j颜色的节点平均高度为hj
[0073] hj=Σv′∈Vj′;v∈v′hv/|V′j|
[0074] 2.设节点i的孩子节点个数为ci,该图中涂j颜色的节点集为V′j={v′j1,v′j2,···,v′jbn}, v′jk={v(1),v(2),···,v(m)}, 定义j颜色的平均孩子数为cj。
[0075] cj=Σv′∈Vj′;v∈v′cv/|V′j|
[0076] 3.设该图中涂j颜色的节点集为V′j={v′j1,v′j2,···,v′jbn}, v′jk={v(1),v(2),···,v(m)}, 节点v与父节点pv的链路连通时刻集合为f(e(v,pv))。计算j颜色的节点的连通时刻集合与时刻子集TSi的匹配度mij:
[0077] mij=Σv′∈Vj′;v∈v′|f(e(v,pv))∩TSi|/Σv′∈Vj′;v∈v′|f(e(v,pv))|[0078] 下面确定干涉子集j对应时刻子集TSi的权值wij,其中α,β,γ为比例因子。
[0079] wij=α/hj+βcj+γmij
[0080] 时刻子集TSi找出所有干涉子集的wij值最大的,将该时刻子集匹配该干涉子集,重复此过程,直至所有时刻子集均匹配。
[0081] 对于以上所述的车联网服务挖掘与归并,一方面,本发明车联网平台对其形式化描述后,构建车联网业务库,通过车联网业务分解机制,形成子业务库;另一方面,车联网服务提供端在平台上注册自己的服务,经平台形式化描述后形成服务库。当处理中心接收到子业务需求时,进入车联网服务挖掘环节,链接车联网服务库,计算配对出一系列与业务关联的车联网业务。
[0082] 在服务建模时引入本体,结合业务流程和情境,建立领域
知识库,实现智能归并,满足客户的个性化需求。引入本体后可以进行基于描述逻辑的本体推理,即从显示上下文中推导出更多的隐式上下文,同时,本体为上下文信息提供明确的语义描述。车联网服务是服务化的车联网资源,有其自身的功能属性集和非功能属性集,包括Qos属性和上下文属性。本发明将其定义如下:
[0083] 车联网服务VCS可以用五元组来表示,形如:
[0084] VCS={Category,ServiceProfile,ServiceModel,ServiceGrouding,Resource]:
[0085] Category表示该服务所属的类别。
[0086] ServiceProfile表示服务的基本信息,对基本信息的配对是实现服务配对的重要部分,可以用5元组表示:
[0087] ServiceProfile={GeneralInfo,Functional,Qos,Resource,State},其中:
[0088] GeneralInfo用来描述车联网服务的基本信息;
[0089] Functional用来描述车联网服务的功能性信息,如车联网服务的输入、输出、执行条件以及结果;
[0090] Qos用来描述车联网服务的服务
质量。在车联网平台中服务质量的衡量是可变的,定义Qos的形式化描述为可扩展的模型:
[0091] Qos={Time,Cost,Reputation,Reliability,…}
[0092] 其中,Time表示该服务的执行时间,Cost表示服务的成本,Reputation表示该服务的信誉度,通过用户的评价进行统计采用分级的方式对信誉度进行管理;Reliability表示该服务的可靠性,通过一段时间内的成功执行率来衡量。
[0093] Resource用来描述车联网资源,定义了车联网资源的所有
属性信息。state用来描述车联网服务目前的状态,包括在用和空闲。ServiceModel描述车联网服务的服务过程,即车联网服务的服务实现细节。ServiceGrouding用来描述车联网服务提供者的
访问方法,包括访问地址、消息格式、访问端口。Resource表示该Category提供的车联网服务所对应的车联网资源。
[0094] 车联网服务挖掘流程基于以上形式化描述。在形成车联网业务上下文信息后,进入语义上下文配对阶段,这一阶段分为三个步骤,在每个步骤均需要计算相似度,并且都设置相应的
阈值,将不满足阈值的服务过滤,不参与相似度计算。
[0095] 在车联网服务中,结合车联网服务的描述,从语义上下文层面上针对车联网服务和车联网业务进行服务配对。针对Web服务的输入信息,提取语义描述,判断其所属概念与描述中的配对项。按程度不同将配对结果划分为完全配对、插入配对、包含配对和配对失败。在车联网平台中,对于车联网服务A和B的配对程度可以用相似度算法进行计算,其相似度配对的基本模型如下:
[0096] sf(A,B)=(ω1sf(A1,B1)+ω2sf(A2,B2)—+ωnsf(An,Bn))
[0097] 其中,Ai,Bi表示车联网服务的第i项子业务,ωi表示第i项子业务在配对函数中所占的权重。具体地:
[0098]
[0099] 其中dis(Ai,Bi)表示本体Ai,Bi的语义距离,α为调节因子。本发明优选地将语义距离表示为两个概念在本体图中节点最
短路径长度的差值。
[0100] 整个服务挖掘过程首先对服务需求端的服务进行语义解析,从而得到该服务的服务类型。将语义解析、本体推理、基于语义的配对整合在一起,最终达到服务挖掘。具体过程如下:
[0101] (1).从解析器中提取Category、ServiceProfile、ServiceModel、ServiceGrouding、Resource、ServiceAttributes相关信息;
[0102] (2).提取所有服务的ServiceProfile;继而提取ServiceProfile中的类别和属性相关信息;
[0103] (3).使用Category配对算法对服务类型进行配对,过滤掉不满足条件的服务。
[0104] (4).采用关键字精确配对。在进行配对时,构造相似度函数sf以语义距离dis()为基础,计算概念之间的相似度。
[0105] (5)使用服务质量服务的服务质量进行配对,输出配对度最优的服务。
[0106] 在车联网服务挖掘过程中,将需求端的需求即车联网业务为
重心,寻找相似的车联网服务,形成聚类簇,然后再在簇中并行运行服务质量综合匹配算法,从而得出结果。
[0107] 具体地,使用MapReduce模型来实现每个元素到重心距离的计算,即在每一次
迭代时启动一个MapReduce过程。在映射阶段中构建初始重心,然后设计样本为文件的每行,从中提取有用数据,以键值对
形式表示,然后计算样本到初始重心的距离,根据距离的大小,将样本分配到距离最小的重心类中,并标记样本为新聚类的类别,以键值对的输出形式。其中K1是最小距离簇的ID。V1是当前记录的各维坐标值。[0108] 在映射之后插入一个对中间结果进行本地化规约处理的合并操作。合并操作是对所处节点内的映射结果预处理,即对具有同一K1的V1处理,得到局部聚类结果,然后输出。合并函数的解析记录的各维坐标值,相加后得到局部聚类结果的累加和,同时计算总样本数,输出,其中K2是聚类类别ID,V2是上述累加和加上记录总数。
[0109] 规约阶段通过汇总局部聚类结果,得出新的聚类中心,用于下一轮迭代。以作为输入,首先计算每个节点输出的局部聚类的样本数,并解析各维坐标值,然后将对应的各维累加值对应相加,再除以刚计算出来的样本数,得到新的聚类中心坐标,以键值对形式并输出,其中,K3表示聚类类别ID,V3表示得到的新聚类中心。
[0110] 针对车联网感知数据的结构特征及类型不同,需要进行将关系型数据到结构化文档的转换和存储。首先将传感节点感知的数据以格式表示,其中si为传感器ID,t为时间戳,D为感知的动态数据内容。首先将采集的原始数据进行预处理,再采用预定义标准进行封装,感知的静态数据首先通过XML到关系型数据转换,再进行标准化封装。其中,预处理过程包括:
[0111]
[0112] 将原始感知的数据转换为资源k的数量信息IQ(si,t,k),其中r表示读取功能,0表示单个读取,1表示多个读取;Ut(k)代表ID为Si的传感器在感知范围内是否感知到资源k,0表示无感知,1表示感知;C为常数,表示资源的计算量纲。
[0113] 在事件关联分析和匹配运算中,确定关键监控环节的信息为关键事件,将挖掘的关键事件与原始事件的关系生成基于XML的多层事件描述文件,根据关联模型进行事件匹配处理,结合关键事件及其匹配模板的构成,实现基于模板匹配的过程关键事件处理,最终得到关联结果。选择模板匹配作为关键事件处理中对数据流的处理方案,模板以XML格式文档储存于知识库中,结合模板匹配和关键事件处理技术对过程事件进行处理。将多层次事件实例的处理当作业务。根据设定的业务优先级进行关键事件模式匹配,从而缩短关键事件处理时间。具体操作为:
[0114] 将关键事件模式库中的关键事件模式映射为
有向图并保存在内存数据库中,其中,有向图的节点、中间节点、根节点分别对应为原子事件、中间模式、关键事件模式,相同节点合并。
[0115] 当产生原子事件时,子节点进行关键事件关联配对并将处理结果传送至父节点。当对应的父节点检测到子节点事件实例的输入时,搜索相应节点中的匹配模式并执行关联处理。若配对成功,则中间节点输出处理后的关键事件实例到父节点以待后续的关联处理,根节点输出最终输出感知处理的关键事件;若匹配未成功,则根据语义判断存储或丢弃相应的事件实例。
[0116] 结合车联网服务挖掘机制,将车联网服务归并流程分为三个阶段:第一阶段是根据服务挖掘的结果,将一系列与子业务关联的车联网业务按子业务归类形成不同的服务簇;第二阶段为协商阶段,是根据车联网服务属性设置约束条件,筛选不满足基本功能要求的服务,从每个服务簇中随机选择一个车联网服务所组成的归并方案完成车联网业务;第三阶段为优化阶段,针对筛选后的服务归并初始方案,设置目标函数,求出最优归并方案。
[0117] 为了筛选服务簇中不能满足车联网业务需求的服务,执行两步协商过程。第一步协商删除掉那些不能满足车联网服务实例运行条件的服务;
[0118] 假设现有服务集VCS={vcs1,vcs2,…,vcsn],其上下文分别是csci,i=l,2,…,n;系统中存在m个车联网资源,记为vsx,上下文分别是vscx=l,2,…,m,车联网服务需求上下文为ldc。设计车联网服务与车联网资源的上下文协商的约束条件为:车联网资源上下文属性集合包含服务需求上下文属性集合,且类型相同,所需要的车联网资源的属性值不小于服务需求上下文的属性值,表示如下:
[0119] {ldci.paj,j∈N}∈{lscx.pak,k∈N}∧ldci.paj=lscx.paj
[0120] ldci.vaj≤lscx.paj j∈N
[0121] 其中paj表示属性集合中的第j个属性,vaj表示的第j个属性的属性值,当车联网资源在同一个时点有多个服务实例在运行时,这些业务属性值的总和不大于该车联网资源的属性值。
[0122] 当某项子业务与其有前序关系的子业务分别需要使用不同的车联网资源时,设分别使用资源lsl和lsp,那么还应当满足如下的约束条件:
[0123] te(ldci.vate,ldcj.vate)
[0124] 其中,vate表示通信业务的属性值,te(x,y)是用来计算通信业务值的成本函数。
[0125] 第二步协商,从每个服务簇中,随机选择出一个服务组成一个服务归并方案,使得每个服务之间能满足时刻表触发的特点。前一个服务的最迟结束时间必须在紧邻下一个服务的最早开始时间之前,满足按时刻表触发的特点。
[0126] 对云计算环境下车联网服务归并的多目标问题,本发明对蚁群算法进行改进。首先设置数据为
键值对,Ki是整型数,它是第i个子种群的数字标签,而Vi表示第i个子种群的数据结构,其实质是该种群中所有个体的数组。在进行个体迁移时,k-v作为输入个体替换。总业务被映射函数的并行操作分解,并分配给集群运行,同时产生的中间数据直接汇入分布式文件系统。在分布式文件系统中写入m个空文件,对应m个子种群,然后根据键值对,向空文件中添加初始化个体,这时,MapReduce将总业务分为m个映射并行业务,分配到各个数据节点并行计算,然后把添加了个体的子种群保存到分布式文件系统上的初始文件中;第二步,并行化运行迭代多次的进化,进行个体迁移,从而得到最优解。首先根据k值,读出对应子种群以及需要迁移的个体,然后种群进化g代,g为预设阈值。这时,MapReduce将每个子种群的进化业务对应一个映射业务,分配到数据节点上并行计算,g代进化完成后,在各个子种群间进行个体迁移,采用优差模式替换,并把新形成的子种群写入分布式文件系统中子种群文件中。迁移完成后,进行下一次迭代,重复运行。这样经过多次进化、迁移的操作后,最终得到最优解。[0127] 为平衡种群多样性和收敛速度,变异策略改进为:
[0128] C=F1Gbest+(1-F1)xi
[0129] 式中,F1是0到1之间的随机数,i是本代相应的个体,Gbest是最优个体。
[0130] 综上所述,本发明提出了一种基于物联网的异构信息处理方法,针对车联网系统感知数据的海量性和异构多变性特点,通过系统的手段实现车联网服务描述、服务封装、服务挖掘和服务归并,采用统一的数据接口对异构信息综合感知及处理,实现信息的无缝交互和不同应用系统数据之间的标准化共享。
[0131] 显然,本领域的技术人员应该理解,上述的本发明的各模
块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和
软件结合。
[0132] 应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。