[发明专利]比特位序列、数据搜索方法、搜索系统、社会网络分析系统、舆情监控系统有效
申请号: | 201811112027.4 | 申请日: | 2018-09-21 |
公开(公告)号: | CN109376281B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 张志宏;郭磊;刘佳 | 申请(专利权)人: | 长沙学院 |
主分类号: | G06F16/9032 | 分类号: | G06F16/9032 |
代理公司: | 北京君泊知识产权代理有限公司 11496 | 代理人: | 王程远 |
地址: | 410003 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 比特 序列 数据 搜索 方法 系统 社会 网络分析 舆情 监控 | ||
1.舆情监控系统,具有实时数据分析系统,数据为文本数据,其特征在于:采用搜索数据的方法处理实时文本;
搜索数据的方法的特征具体如下:
用于计算机数据的搜索处理,依赖数字计算机而实现;以下的母串(bei-str)为实时文本,以下的子串为实时文本(xu-str);
用于向被搜索的母串(bei-str)中获取需搜索的子串(xu-str)的匹配位置,母串(bei-str) 长度(bei-size)大于或等于子串(xu-str)的长度(xu-size),母串元素的取值范围固定,母串元素的取值范围在母串加载之前可以预见,子串元素的取值范围固定,子串元素的取值范围在子串加载之前可以预见;
分配比特位序列表[][],第一维度的最大序号为256,第二维度的最大序号为比特位序列用于投票的比特位的数量;比特位序列表所包含的比特位序列单元均具有以下特征:用于储存数据串匹配状况投票,比特位序列用于投票的比特位数小于或等于所应用计算机一次处理数据的比特位数;比特位序列用于储存数据串的元素对整个数据串各个位置与需搜索的子串的匹配状况的支持权限或否决权限,比特位序列整体对应一个数据串,比特位序列中各个比特位各自单独对应数据串的一个元素,比特位序列中比特位与数据串元素的对应方式是按序对应,比特位序列中比特位以1代表支持,以零代表否决,比特位序列中比特位与数据串元素的对应方式是同序对应,即比特位序列中第一个比特位对应数据串的第一个元素,比特位序列中第二个比特位对应数据串的第二个元素,比特位序列中第三个比特位对应数据串的第三个元素,依此类推;
分配比特位序列变量n1、n2;
预处理:
D1、采用一种构建比特位序列表的方法构建比特位序列表biao[][];具体步骤如下:
构建比特位序列表biao[][]的方法,如下:
步骤D1.1、构建比特位序列表模板;
构建比特位序列表模板的方法如下:
步骤D1.1.1,为比特位序列表模板(wei_zhuan jm[8])分配内存,比特位序列表模板具有比特位序列单元,比特位序列表模板中比特位序列单元的数量等于比特位序列用于投票的比特位的数量;比特位序列表模板具有比特位序列单元的序号从零开始计算;
步骤D1.1.2、对比特位序列表模板(wei_zhuan jm[8])中各个比特位序列单元进行赋值;赋值操作如下:
步骤D1.1.2.1、先将比特位序列表模板(wei_zhuan jm[8])中各个比特位序列单元的所有用于投票的比特位赋值为1;
步骤D1.1.2.2、将各个比特位序列单元的所有用于投票的比特位进行位移操作,位移操作的位数为各个比特位序列单元在比特位序列表模板(wei_zhuan jm[8])的序号与1的和;
步骤D1.2、载入比特位序列表模板(jm)到比特位序列表第一维(biao[0][])中,其方法如下:
步骤D1.2.1、将比特位序列表模板(jm)的数据按序复制到比特位序列表中;
步骤D1.3、对比特位序列表第一维(biao[0][])中各个比特位序列单元各自的没有否决权的比特位赋值为1,具体如下:
步骤D1.3.1、分配一个变量,称之为第九变量(n9),第九变量(n9)的比特位数量等于比特位序列的比特位数量;
步骤D1.3.2、将第九变量(n9)的每个比特位均赋值为1;
步骤D1.3.3、对第九变量进行右移位移操作,右移位数为比特位序列单元的最大序号减去当前处理的比特位序列单元的序号,再加上需搜索字符串中字符的最大序号(size),字符串中字符的第一个序号为零,即字符串中字符的下标从零开始;
步骤D1.3.4、将当前比特位序列单元的值与第九变量(n9)进行位或操作,并将位或操作的结果赋予给当前比特位序列单元;
步骤D1.4、将比特位序列表第一维(biao[0][])中各个比特位序列单元以同样的顺序,复制到比特位序列表的其他维度中;
步骤D1.5、对比特位序列表中各个比特位序列单元进行投票信息赋值,具体方法如下:
步骤D1.5.1、构建第一计次循环,第一计次循环中具有第一计次变量
(j),第一计次变量的初始值为比特位序列用于投票的比特位数,第一计次循环每循环一次则第一计次变量减少1,当第一计次变量小于零时循环停止;第一计次循环的每次循环都包含如下操作过程:
步骤D1.5.1.1、分配kr变量(kr);
步骤D1.5.1.2、将第一计次变量(j)的值赋予给kr变量;
步骤D1.5.1.3、如果第一计次变量(j)大于需搜索字符串中字符的最大序号(size)则将需搜索字符串中字符的最大序号(size)赋予给kr 变量;
步骤D1.5.1.4、构建第二计次循环,第二计次循环中具有第二计次变量(k),第二计次变量(k)的初始值为kr变量的值,第一计次循环每循环一次则第二计次变量(k)减少1,当第二计次变量(k) 小于零时循环停止;第二计次变量(k)的每次循环都包含如下操作过程:
步骤D1.5.1.4.1、分配一个变量,称之为第十变量(n10),第十变量(n10)的比特位数量等于比特位序列的比特位数量;
步骤D1.5.1.4.2、将第十变量(n10)赋值为1;
步骤D1.5.1.4.3、对第十变量(n10)进行左移位移操作,左移操作的位数的数量为第一计次变量(j)减去第二计次变量(k) 所得的值,将左移位移操作所得的值赋予给第十变量(n10);
步骤D1.5.1.4.4、分配ca变量;
步骤D1.5.1.4.5、获取需搜索字符串(xu-str)中序号为第二计次变量(k)的字符(xu-str[k]),并将获得的字符(xu-str[k]) 赋予给ca变量;
步骤D1.5.1.4.6、对比特位序列表的第一维度序号等于ca 变量的值,第二维度序号等于第一计次变量(j)的值的单元 (biao[ca][j])进行赋值操作,赋值操作的方式是:先将该单元的值和第十变量(n10)进行位或操作,然后将位或操作所得的值赋予给该单元;
步骤D1.6,结束;
搜索操作流程如下:
D2.1、分配无符号整数型变量sp、hr;
D2.2、分配字符指针sty;
D2.3、分配比特位序指针kp;
D2.4、对D1步骤所构造的直观结果实例(jieguo)的有效长度数值(sn.shu)赋值为零;
D2.5、分配无符号整数型变量b_size;并将母串长度(bei-size)值赋予给b_size;
D2.6、判断需搜索的子串(xu-str)的长度(xu-size)是否大于比特位序列用于投票的比特位的数量,如果大于比特位序列用于投票的比特位的数量则退出流程,向操作者返回为空的信息;如果不大于比特位序列用于投票的比特位的数量则进入下一步;
D2.7、对母串(bei-str)的长度(bei-size)和子串(xu-str)的长度(xu-size) 进行比较,如果母串(bei-str)的长度(bei-size)小于子串(xu-str)的长度(xu- size)则退出流程,向操作者返回为空的信息;否则进入下一步;
D2.8、分配无符号整数型变量ks;并将变量b_size减去比特位序列用于投票的比特位的数量所得的值赋予给变量ks;
D2.9、分配无符号整数型变量bc,并将变量bc赋值为零;
D2.10、分配有符号整数型变量i,并将变量i赋值为零;
D2.11、分配有符号整数型变量ket,并将比特位序列用于投票的比特位的数量加一后减去子串(xu-str)的长度(xu-size);
D2.12、对比特位序列变量n1的所有用于投票的比特位均赋值为1;
D2.13、构造第三循环,用于循环的条件变量为i,i的计次初始值为0,当i大于ks时不再继续执行循环;
第三计次循环的循环体内具有如下流程:
D2.13.0、判断bc是否大于零,如果不大于零则进入步骤D2.13.6,如果大于零则进入D2.13.1;
D2.13.1、将变量n1位移右移操作,右移操作的位数的值为bc的值,并将位移操作后所得的值赋予给n1;
D2.13.2、将变量n2的所有用于比特位序列的每一个比特位都赋值为1;
D2.13.3、将比特位序列用于投票的比特位的数量减去bc所得的结果赋予给bc;
D2.13.4、将n2进行左移位移操作,左移操作位数的数量为bc,并将左移位移操作所得的值赋予给n2;
D2.13.5、将n1和n2进行位或操作,并将位或操作的结果赋予给n1;
D2.13.6、将sty指向母串(bei-str)的序号与变量i的值相等的字符;
D2.13.7、构建第四计次循环,用于循环的条件变量为j,j的计次初始值为bc,每循环一次j的值增加1,当j大于等于比特位序列用于投票的比特位的数量时不再继续执行循环;
第四计次循环的循环体内具有如下流程:
D2.13.7.1、分配变量ca,并将母串中以sty为开端的数据串中序号等于j的数值的单元的值赋予给ca;
D2.13.7.2、获取比特位序列表中第一维度序号为ca,第二维度序号为j的比特位序列单元的值,并将该值赋予给n2;
D2.13.7.3、将n1和n2进行位与操作,并将位于位与操作所得的值赋予给n1;
D2.13.8、判断n1的值是否不为零;如果不为零则进入步骤D2.13.9;否则进入步骤D2.13.10;
D2.13.9、本步骤包含以下子步骤:
D2.13.9.1、将n2的各个比特位赋值为1;
D2.13.9.2、对n2进行右移位移操作,右移位移操作的位数为子串(xu-str)的长度(xu-size)减1;将位移操作所得的值赋予给n2;
D2.13.9.3、将n2与n1进行位与操作,将操作所得值赋予给n2;
D2.13.9.4、判断n2是否不为零,如果n2不为零则进入D2.13.9.5,如果n2为零则进入D2.13.9.6;
D2.13.9.5、变量n2中为1的比特位指示了匹配位置,对n2进行解析;解析规则是:如果n2中第n个比特位为1,则母串(bei-str)中i+n的位置为子串匹配位置;
D2.13.9.6、将n2的各个比特位赋值为1;
D2.13.9.7、对n2进行左移位移操作,左移位移操作的位数为ket的值;将位移操作所得的值赋予给n2;
D2.13.9.8、将n2与n1进行位与操作,将操作所得值赋予给n2;
D2.13.9.9、判断n2是否不为零,如果n2不为零则进入D2.13.9.10,如果n2为零则进入D2.13.9.11;
D2.13.9.10、变量n2中为1的比特位指示了滑动步长,对n2进行解析;解析规则是:按顺序判断,遇到第一个为1的比特位是最小滑动步长,如果第一个为1的序号为nx,则将i的值增加nx,并将nx赋予给bc,跳到第三循环的尾部;
D2.13.9.11、将i的值自增比特位序列用于投票的比特位的数量;
D2.13.9.12、将bc赋值为零;
D2.13.9.13、将n1的各个比特位赋值为1;
D2.13.9.14、跳到第三循环的尾部;
D2.13.10、本步骤包含以下子步骤:
D2.13.10.1、将i的值自增比特位序列用于投票的比特位的数量;
D2.13.10.2、将bc赋值为零;
D2.13.10.3、将n1的各个比特位赋值为1;
D2.13.10.4、跳到第三循环的尾部;
D2.14、判断i是否位于母串长度(bei-size)减去比特位序列用于投票的比特位的数量所得值与母串长度(bei-size)减去子串长度(xu-size)所得值的区间内;如果在区间内则进入D2.15,如果不在区间内则进入D2.16;
D2.15、本步骤包含以下子步骤:
D2.15.1、分配无符号整数型变量hr;并将母串长度减去i所得值赋予给hr;
D2.15.2、判断bc是否等于零,如果等于零,则进入D2.15.3,如果不等于零,则进入D2.15.4;
D2.15.3、将n1的所有比特位赋值为1;
D2.15.4、判断bc是否大于零,如果bc大于零则进入D2.15.5,否则进入D2.15.6;
D2.15.5、本步骤包含以下子步骤:
D2.15.5.0、判断bc是否大于零,如果不大于零则进入步骤D2.15.5.6,如果大于零则进入D2.15.5.1;
D2.15.5.1、将变量n1位移右移操作,右移操作的位数的值为bc的值,并将位移操作后所得的值赋予给n1;
D2.15.5.2、将变量n2的所有用于比特位序列的每一个比特位都赋值为1;
D2.15.5.3、将比特位序列用于投票的比特位的数量减去bc所得的结果赋予给bc;
D2.15.5.4、将n2进行左移位移操作,左移操作位数的数量为bc,并将左移位移操作所得的值赋予给n2;
D2.15.5.5、将n1和n2进行位或操作,并将位或操作的结果赋予给n1;
D2.15.6、将sty指向母串(bei-str)的序号与变量i的值相等的字符;
D2.15.7、构建第五计次循环,用于循环的条件变量为jr,jr的计次初始值为bc,每循环一次 jr的值增加1,当jr的大于等于hr的值时不再继续执行循环;
第五计次循环的循环体内具有如下流程:
D2.13.7.1、分配变量ca,并将母串中以sty为开端的数据串中序号等于jr 的数值的单元的值赋予给ca;
D2.13.7.2、获取比特位序列表中第一维度序号为ca第二维度序号为jr的比特位序列单元的值,并将该值赋予给n2;
D2.13.7.3、将n1和n2进行位与操作,并将位于位与操作所得的值赋予给n1;
D2.15.8、判断n1的值是否不为零;如果不为零则进入步骤D2.15.9;否则进入步骤D2.15.10;
D2.15.9、本步骤包含以下子步骤:
D2.15.9.1、将n2的各个比特位赋值为1;
D2.15.9.2、对n2进行右移位移操作,右移位移操作的位数为子串(xu-str)的长度(xu-size)减1再减去hr的值再加上子串长度(xu-size);将位移操作所得的值赋予给n2;
D2.15.9.3、将n2与n1进行位与操作,将操作所得值赋予给n2;
D2.15.9.4、判断n2是否不为零,如果n2不为零则进入D2.15.9.5,如果n2为零则进入D2.15.10;
D2.15.9.5、变量n2中为1的比特位指示了匹配位置,对n2进行解析;解析规则是:如果n2中第n个比特位为1,则母串(bei-str)中i+n的位置为子串匹配位置;
D2.15.10、进入D2.16;
D2.16、结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙学院,未经长沙学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811112027.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置