发明名称 基于射频识别的供应链路径构建方法
摘要 本发明公开了一种基于射频识别的供应链路径构建方法,主要解决现有技术不能满足实际供应链大规模数据处理需要的问题。其实现步骤是:(1)获取射频识别的原始数据;(2)对原始数据进行去重和乱序处理;(3)在事件序列中取抽样序列,并对抽样序列进行路径构建;(4)取观察序列中的一个eb事件,不断找搜索点,使最终的搜索点在目标区间内,构建观察序列的一条路径;(5)对观察序列中的其它eb事件,重复步骤(4),直到构建出观察序列的所有路径;(6)重复步骤(3)~步骤(5),完成整个事件序列的路径构建。本发明能对大规模数据构建供应链路,满足实际供应链大规模数据处理的需要,可用于对货物运输的跟踪。
申请公布号 CN102096792B 申请公布日期 2013.06.26
申请号 CN201110001575.1 申请日期 2011.01.06
申请人 西安电子科技大学 发明人 刘静;焦李成;王鹏;公茂果;刘若辰;马文萍;李阳阳;尚荣华
分类号 G06K7/00(2006.01)I;G06Q10/08(2012.01)I;G06Q50/28(2012.01)I 主分类号 G06K7/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;朱红星
主权项 1.一种基于射频识别的大规模数据处理供应链路径构建方法,包括如下步骤:1)使用射频识别RFID阅读器读取RFID标签获得原始数据;2)对原始数据进行去重和乱序处理:2a)阅读器每阅读一个RFID标签就得到一个具有时间属性的原始事件,由所有的原始事件组成的序列构成原始事件序列,称为第一个事件序列;2b)新建空白事件序列,称为第二个事件序列;2c)判断第一个事件序列是否为空以及是否遇到外部暂停或终止命令,如果第一个事件序列不为空且未遇到外部命令,则转到步骤2d),否则终止退出,此时的第二个事件序列即为经过去重和乱序处理得到的最终事件序列;2d)从第一个事件序列取出一个事件,在第二个事件序列中查询是否已经存在该取出的事件,如果已经存在则抛弃该事件,然后重复步骤2d),否则执行步骤2e);2e)将步骤2d)中从第一个事件序列取出的事件按时间属性值有序插入到第二个事件序列中,转到步骤2c);3)按如下步骤对经过去重和乱序处理后的数据进行路径构建:3a)只针对供应链某一运输环节,不同地点的RFID阅读器读取同一货物的标签时产生两类事件,分别为e<sub>a</sub>事件和e<sub>b</sub>事件,即从步骤(2)得到的事件序列只含有e<sub>a</sub>和e<sub>b</sub>两类事件,将该事件看作为构成路径的结点;3b)从事件序列中抽取一段事件序列,即抽样序列,找出抽样序列里的所有e<sub>b</sub>事件,假设这些事件的个数为n,即被抽出的事件为<img file="FDA00002962822400011.GIF" wi="73" he="55" />i=1,…,n,找出与e<sub>b</sub>事件对应的e<sub>a</sub>事件:<img file="FDA00002962822400012.GIF" wi="77" he="56" />i=1,…,n,把<img file="FDA00002962822400013.GIF" wi="50" he="56" />和<img file="FDA00002962822400014.GIF" wi="48" he="55" />事件对应的结点连接起来形成抽样序列的路径;3c)计算出货物运输时间T<sub>i</sub>(a→b),运输时间的平均值<img file="FDA00002962822400015.GIF" wi="151" he="59" />e<sub>a</sub>与e<sub>b</sub>事件的间隔L<sub>i</sub>(a→b),距离调整因子<img file="FDA00002962822400016.GIF" wi="139" he="61" />和事件发生的平均速率<img file="FDA00002962822400017.GIF" wi="131" he="61" /><maths num="0001"><![CDATA[<math><mrow><msub><mi>T</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>a</mi><mo>&RightArrow;</mo><mi>b</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>T</mi><msub><mi>b</mi><mi>i</mi></msub></msub><mo>-</mo><msub><mi>T</mi><msub><mi>a</mi><mi>i</mi></msub></msub><mo>-</mo><mo>-</mo><mo>-</mo><mo>&lt;</mo><mn>1</mn><mo>></mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>a</mi><mo>&RightArrow;</mo><mi>b</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>T</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>a</mi><mo>&RightArrow;</mo><mi>b</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mo>&lt;</mo><mn>2</mn><mo>></mo></mrow></math>]]></maths>L<sub>i</sub>(a→b)=Posb<sub>i</sub>-Posa<sub>i</sub>           &lt;3&gt;<maths num="0003"><![CDATA[<math><mrow><msub><mover><mi>L</mi><mo>&OverBar;</mo></mover><mn>0</mn></msub><mrow><mo>(</mo><mi>a</mi><mo>&RightArrow;</mo><mi>b</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>L</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>a</mi><mo>&RightArrow;</mo><mi>b</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mo>&lt;</mo><mn>4</mn><mo>></mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mover><mi>V</mi><mo>&OverBar;</mo></mover><mi>stream</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>Posa</mi><mi>n</mi></msub><mo>-</mo><msub><mi>Posa</mi><mn>1</mn></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><msub><mi>T</mi><msub><mi>a</mi><mi>n</mi></msub></msub><mo>-</mo><msub><mi>T</mi><msub><mi>a</mi><mn>1</mn></msub></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mo>&lt;</mo><mn>5</mn><mo>></mo></mrow></math>]]></maths>其中<img file="FDA00002962822400024.GIF" wi="47" he="63" />代表第i个e<sub>b</sub>事件的发生时间,<img file="FDA00002962822400025.GIF" wi="50" he="62" />代表第i个e<sub>a</sub>事件的发生时间,<img file="FDA00002962822400026.GIF" wi="49" he="59" />代表第n个e<sub>a</sub>事件的发生时间,<img file="FDA00002962822400027.GIF" wi="46" he="59" />代表第1个e<sub>a</sub>事件的发生时间,Posb<sub>i</sub>代表第i个e<sub>b</sub>事件在事件序列中的位置,Posa<sub>i</sub>代表第i个e<sub>a</sub>事件在事件序列中的位置,Posa<sub>n</sub>代表第n个e<sub>a</sub>事件在事件序列中的位置,Posa<sub>1</sub>代表第1个e<sub>a</sub>事件在事件序列中的位置;3d)取抽样序列右端的一段事件序列,即观察序列,找出观察序列里的所有e<sub>b</sub>事件,假设这些事件的个数为m个,取一个e<sub>b</sub>事件,计算该e<sub>b</sub>事件对应的e<sub>a</sub>事件的理论发生时间T′<sub>a</sub>:<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>T</mi><mi>a</mi><mo>&prime;</mo></msubsup><mo>=</mo><msub><mi>T</mi><mi>b</mi></msub><mo>-</mo><mover><mi>T</mi><mo>&OverBar;</mo></mover><mrow><mo>(</mo><mi>a</mi><mo>&RightArrow;</mo><mi>b</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mo>&lt;</mo><mn>6</mn><mo>></mo></mrow></math>]]></maths>其中T<sub>b</sub>为e<sub>b</sub>事件的发生时间,<img file="FDA00002962822400029.GIF" wi="107" he="49" />为货物运输时间的平均值;3e)新建位置指针p,令p指向e<sub>b</sub>事件所在的位置,将指针p逆事件序列方向移动<img file="FDA000029628224000210.GIF" wi="140" he="61" />个位置,指向新的搜索位置s<sub>0</sub>;3f)选取e<sub>a</sub>事件的时间调整因子T<sub>δ</sub>,10ms≤T<sub>δ</sub>≤100ms,如果<img file="FDA000029628224000211.GIF" wi="663" he="63" />则在此范围内可搜索到e<sub>a</sub>事件,然后形成观察序列的一条路径,其中T′<sub>a</sub>为理论时间,<img file="FDA000029628224000212.GIF" wi="47" he="60" />为搜索位置s<sub>0</sub>对应事件的发生时间,<img file="FDA000029628224000213.GIF" wi="47" he="60" />所处区间[T′<sub>a</sub>-T<sub>δ</sub>,T′<sub>a</sub>+T<sub>δ</sub>]称为目标区间,区间两端分别称为左端子和右端子;3g)如果<img file="FDA00002962822400031.GIF" wi="331" he="62" />则选择新的距离调整因子<img file="FDA00002962822400032.GIF" wi="158" he="61" />并将指针p按照事件序列方向移动<img file="FDA00002962822400033.GIF" wi="136" he="62" />个位置,指向新的搜索位置s<sub>1</sub>,距离调整因子<img file="FDA00002962822400034.GIF" wi="136" he="62" />由式&lt;7&gt;求得,<img file="FDA00002962822400035.GIF" wi="1339" he="88" />其中<img file="FDA00002962822400036.GIF" wi="69" he="65" />为下取整符号,T′<sub>a</sub>为理论时间,T<sub>δ</sub>为e<sub>a</sub>事件在时间上的调整因子,<img file="FDA00002962822400037.GIF" wi="47" he="59" />为位置s<sub>0</sub>对应事件的发生时间,<img file="FDA00002962822400038.GIF" wi="108" he="61" />为事件发生的平均速率;3h)如果<maths num="0006"><![CDATA[<math><mrow><msub><mi>T</mi><msub><mi>s</mi><mn>0</mn></msub></msub><mo>></mo><msubsup><mi>T</mi><mi>a</mi><mo>&prime;</mo></msubsup><mo>+</mo><msub><mi>T</mi><mi>&delta;</mi></msub><mo>,</mo></mrow></math>]]></maths>则选择新的距离调整因子<img file="FDA000029628224000310.GIF" wi="157" he="61" />并将指针p按照逆事件序列方向移动<img file="FDA000029628224000311.GIF" wi="136" he="61" />个位置,指向新的搜索位置s<sub>1</sub>,距离调整因子<img file="FDA000029628224000312.GIF" wi="136" he="61" />由式&lt;8&gt;求得,<img file="FDA000029628224000313.GIF" wi="1341" he="88" />其中<img file="FDA000029628224000314.GIF" wi="69" he="65" />为下取整符号,T′<sub>a</sub>为理论时间,T<sub>δ</sub>为e<sub>a</sub>事件在时间上的调整因子,<img file="FDA000029628224000315.GIF" wi="47" he="60" />为位置s<sub>0</sub>对应事件的发生时间,<img file="FDA000029628224000316.GIF" wi="108" he="61" />为事件发生的平均速率;3i)对于步骤3g)或步骤3h)得到的新的搜索位置s<sub>1</sub>,如果其发生时间<img file="FDA000029628224000317.GIF" wi="43" he="60" />落在目标区间内,则在此范围内可搜索到e<sub>a</sub>事件,然后形成观察序列的一条路径,否则执行步骤3g)或步骤3h)不断求出新的搜索点,直到该搜索点的发生时间,落入目标区间内,在目标区间内搜索e<sub>a</sub>事件,然后形成观察序列的一条路径;3j)标记已形成路径的事件,开始对观察序列中其它e<sub>b</sub>事件搜索路径,重复步骤3d)~步骤3i),直到找出观察序列内所有e<sub>b</sub>事件对应的e<sub>a</sub>事件,连接观察序列中每个e<sub>b</sub>事件及其对应的e<sub>a</sub>事件的结点形成观察序列的路径;3k)对于抽样序列和观察序列右侧的事件序列,重复步骤3b)~步骤3j),直到完成整个事件序列的路径构建。
地址 710071 陕西省西安市太白南路2号