(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 112965877 A
(43)申请公布日 2021.06.15
(21)申请号 CN202110265850.4
(22)申请日 2021.03.11
(71)申请人 南京伟思医疗科技股份有限公司
    地址 210000 江苏省南京市雨花台区宁双路19号9栋
(72)发明人 宋廷宇 黄河
(74)专利代理机构 32426 南京冠誉至恒知识产权代理有限公司
    代理人 黄成萍
(51)Int.CI
      G06F11/30(20060101)
      G06F16/2455(20190101)
      G06F16/2458(20190101)
      G06F16/25(20190101)
      G06F16/28(20190101)
      G06F16/903(20190101)
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      一种基于数据库配置的Qt桌面埋点系统、方法和装置
(57)摘要
      本发明公开了一种基于数据库配置的Qt桌面埋点系统、方法和装置,通过继承QApplication并覆盖重写notify函数以添加事件过滤器来监听Qt的所有事件,并根据配置在数据库中的基于正则表达式的监听规则来筛选用户行为相关事件,记录相应的操作、界面访问和其他用户行为。通过该方法和装置,大大降低了Qt桌面应用程序的埋点开发和使用成本,提高了用户行为监控的灵活性,同时规则配置在具有访问控制机制的数据库中,提高了安全性。
法律状态
法律状态公告日
法律状态信息
正则匹配省法律状态
2021-06-15
公开
公开
2021-07-02
实质审查的生效
实质审查的生效
权 利 要 求 说 明 书
1.一种基于数据库配置的Qt桌面埋点系统,其特征在于:包括事件过滤器、规则映射模块、目标匹配模块、行为记录模块、用户行为数据库、用户行为分析模块和配置导入模块;所述事件过滤器添加在Qt桌面应用程序的全局事件处理函数中,通过调用规则映射模块对所有事件进行过滤;所述规则映射模块通过判断是否存在与事件相对应的匹配规则确定事件是否为需要监听的用户行为相关事件;目标匹配模块通过对事件的行为类型和事件触发对象的属性进行规则匹配来对需要监听的用户行为相关事件进行过滤,事件触发对象属性的过滤规则采用正则表达式定义;行为记录模块将满足过滤规则的事件保存为对应行为类型的用户行为记录;不同行为类型的用户行为记录保存在用户行为数据库不同行为类型的用户行为记录表中,用户行为数据库中同时存储有埋点配置信息;用户行为分析模块通过读取用户行为数据库中的用户行为记录来分析用户行为;配置导入模块在Qt桌面应用程序启动时,从用户行为数据库中导入埋点配置信息,埋点配置信息包括需要监听的用户行为、与用户行为对应的行为类型、用户行为相关事件、与事件对应的匹配规则、事件与匹配规则之间的映射关系。
2.根据权利要求1所述的基于数据库配置的Qt桌面埋点系统,其特征在于:Qt桌面应用程序的全局事件处理函数是QApplication的notify函数,添加事件过滤器时需要继承QApplication并覆盖重写notify函数,在重写的notify函
数中添加事件过滤器。
3.根据权利要求1所述的基于数据库配置的Qt桌面埋点系统,其特征在于:事件与匹配规则之间通过Hash算法建立映射关系。
4.根据权利要求1所述的基于数据库配置的Qt桌面埋点系统,其特征在于:匹配规则包括行为类型及对应的过滤规则,行为类型包括用户操作与界面访问,过滤规则采用正则表达式定义,过滤规则包括基于事件触发对象名的正则表达式和/或基于事件触发对象类型名的正则表达式。
5.根据权利要求1所述的基于数据库配置的Qt桌面埋点系统,其特征在于:用户行为数据库采用具有访问控制机制的关系数据库。
6.根据权利要求1所述的基于数据库配置的Qt桌面埋点系统,其特征在于:用户行为分析模块对用户行为进行事后分析。
7.根据权利要求1所述的基于数据库配置的Qt桌面埋点系统,其特征在于:配置导入模块在Qt桌面应用程序启动时,从用户行为数据库中导入埋点配置信息,埋点配置信息导入后常驻内存。
8.一种基于数据库配置的Qt桌面埋点方法,其特征在于:包括如下步骤:
(1)在用户行为数据库中写入埋点配置信息,埋点配置信息包括需要监听的用户行为、与用户行为对应的行为类型、用户行为相关事件、与事件对应的匹配规则、事件与匹配规则之间的映射关系;
(2)配置导入模块在Qt桌面应用程序启动时,从用户行为数据库中导入埋点配置信息,埋点配置信息导入后常驻内存中;
(3)用户行为触发事件,事件过滤器调用规则映射模块对所有事件进行过滤;
(4)规则映射模块通过判断是否存在与事件相对应的匹配规则:若不存在与事件相对应的匹配规则,则确定事件不是需要监听的用户行为相关事件,直接将事件传递给下一级事件过滤器;若存在与事件相对应的匹配规则,则确定事件是需要监听的用户行为相关事件,将对应的事件触发对象和匹配规则发送给目标匹配模块进行匹配;
(5)目标匹配模块采用匹配规则对事件触发对象进行目标匹配,匹配规则包括行为类型及对应的过滤规则:若事件触发对象满足过滤规则,则认为目标匹配成功,将匹配结果发送给行为记录模块,将事件传递给下一级事件过滤器;若事件触发对象不满足过滤规则,则认为目标匹配失败,将事件传递给下一级事件过滤器;
(6)行为记录模块对匹配结果进行记录,将不同行为类型的用户行为记录存储在用户行为数据库中不同行为类型对应的用户行为记录表中;
(7)用户行为分析模块从用户行为数据库中读取用户行为记录,对用户行为进行事后分析。
9.一种基于数据库配置的Qt桌面埋点装置,其特征在于:包括存储器、处理器和存储在存储器上并能够在处理器上运行的计算机程序,所述计算机程序用于执行权利要求8所述的基于数据库配置的Qt桌面埋点方法。
说  明  书
<p>技术领域
本发明涉及一种基于数据库配置的Qt桌面埋点系统、方法和装置,属于信息处理技术。
背景技术
用户行为统计(UserBehaviorStatistics,UBS)俗称埋点,是互联网产品研发过程中非常重要的环节;通过埋点可以获取用户行为数据,并以此来整体验证产品的业务逻辑是否流畅。
现有技术中,通常在网页的Web程序和移动终端的APP(Application,应用程序)程序中进行埋点,用于分析网络用户的行为,网页和移动端通常基于界面的树状控件关系进行分析和埋点。如CN110674017A提出基于事件
添加Hook处理程序,通过XPath对以树状结构组织的控件进行标识,以对特定的控件进行用户行为监控,但是XPath不能处理非树状结构界面控件,也不能处理非界面的用户行为。在PC桌面应用程序中,缺乏清晰的控件树状关系,在需要埋点时还是通常由开发人员在应用程序开发时,将埋点代码插入到每个界面控件的业务代码中,业务代码和埋点代码混杂,费时费力,人工成本过高,同时控件额外添加特定的点击事件监听,可能存在影响控件自身响应逻辑的风险。CN107436832B提出的运行于IOS系统的动态埋点方法,采用配置文件来配置埋点处理逻辑,但配置文件无访问控制机制,存在安全隐患。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。