CN116708656A - 打卡方法及打卡系统 - Google Patents
打卡方法及打卡系统 Download PDFInfo
- Publication number
- CN116708656A CN116708656A CN202211465678.8A CN202211465678A CN116708656A CN 116708656 A CN116708656 A CN 116708656A CN 202211465678 A CN202211465678 A CN 202211465678A CN 116708656 A CN116708656 A CN 116708656A
- Authority
- CN
- China
- Prior art keywords
- punching
- data
- card
- card punching
- user terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004080 punching Methods 0.000 title claims abstract description 744
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000001914 filtration Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 description 42
- 230000006854 communication Effects 0.000 description 42
- 230000008569 process Effects 0.000 description 30
- 230000006870 function Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 24
- 239000010410 layer Substances 0.000 description 21
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 210000004027 cell Anatomy 0.000 description 17
- 230000001186 cumulative effect Effects 0.000 description 16
- 238000010295 mobile communication Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 14
- 230000005236 sound signal Effects 0.000 description 12
- 238000003860 storage Methods 0.000 description 12
- 210000000988 bone and bone Anatomy 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000004927 fusion Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C1/00—Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people
- G07C1/10—Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people together with the recording, indicating or registering of other data, e.g. of signs of identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/7243—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality with interactive means for internal management of messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Credit Cards Or The Like (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例涉及智能终端领域,提供了一种打卡方法及打卡系统。所述打卡系统包括m个用户终端,m为大于1的整数,所述方法包括:所述打卡系统中的第一用户终端获取第一打卡数据,所述第一打卡数据根据所述打卡系统中的n个第二用户终端各自采集的第二打卡数据确定,n为大于1的整数、且n小于或等于m;所述第一用户终端根据所述第一打卡数据确定打卡提醒信息的触发条件,所述打卡提醒信息用于提醒所述第一用户终端的用户打卡;当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息。通过本申请实施例中方法,有效解决了由于用户打卡数据稀疏导致的打卡提醒不准确、不可靠的问题,提高了用户体验度。
Description
技术领域
本申请涉及智能终端领域,尤其涉及一种打卡方法及打卡系统。
背景技术
为了维护企业的正常工作秩序,各个企业针对员工均设有考勤制度,用于考察企业员工是否按照规定出勤。目前,通常是利用打卡应用进行上下班打卡的方式来实现考勤统计。为了避免忘打卡、漏打卡情况的发生,用户通常自行设置打卡闹钟。为了适应用户需求,打卡应用增设打卡提醒机制,以提醒用户上下班考勤打卡。
但相关技术中,由于用户个人上下班时间随机性较高,且打卡位置稀疏,因此,无论是基于时间的提醒机制,还是基于打卡位置的提醒机制,均存在打卡提醒不准确、可靠性较低的问题,影响用户体验。
发明内容
本申请提供一种打卡方法及打卡系统,解决了由于用户打卡数据稀疏导致的打卡提醒不准确、不可靠的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种打卡方法,应用于打卡系统,所述打卡系统包括m个用户终端,m为大于1的整数,所述方法包括:
所述打卡系统中的第一用户终端获取第一打卡数据,所述第一打卡数据根据所述打卡系统中的n个第二用户终端各自采集的第二打卡数据确定,n为大于1的整数、且n小于或等于m;
所述第一用户终端根据所述第一打卡数据确定打卡提醒信息的触发条件,所述打卡提醒信息用于提醒所述第一用户终端的用户打卡;
当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息。
本申请实施例中,由于第一打卡数据是根据多个第二用户终端各自采集的第二打卡数据确定的,第一用户终端根据第一打卡数据确定打卡提醒信息的触发条件,相当于根据多个用户的打卡数据确定某个用户的打卡提醒信息的触发条件。与相关技术中仅根据用户个人的打卡数据确定打卡提醒信息的触发条件的方式相比,本申请实施例中的方法,有效解决了因个人打卡数据量不足而导致的打卡提醒不准确的问题,提高了打卡提醒的可靠性,从而提升了用户体验度。
在第一方面的一种实现方式中,所述第一用户终端根据所述第一打卡数据确定打卡提醒信息的触发条件,包括:
所述第一用户终端采集第三打卡数据;
所述第一用户终端根据所述第一打卡数据和所述第三打卡数据确定所述触发条件。
在第一方面的一种实现方式中,所述第一用户终端根据所述第一打卡数据和所述第三打卡数据确定所述触发条件,包括:
计算所述第一打卡数据和所述第三打卡数据的交集数据;
根据所述交集数据确定所述触发条件。
一个实现方式中,第一用户终端根据第一打卡数据和第三打卡数据确定触发条件的一种实现方式包括:
计算第一打卡数据和第三打卡数据的并集数据;根据所述并集数据确定触发条件。
在第一方面的一种实现方式中,所述触发条件包括触发时间段;
所述当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息,包括:
当符合所述触发条件,所述第一用户终端根据所述触发时间段中的起始时刻第一次发送所述打卡提醒信息;
若在所述触发时间段内、第一次发送所述打卡提醒信息之后,未监测到打卡事件,则所述第一用户终端第二次发送所述打卡提醒信息。
本申请实施例中,通过多次提醒,避免因用户错过提醒而导致忘打卡的情况发生,提高了用户体验度。
在第一方面的一种实现方式中,所述触发条件包括触发时间段;
所述当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息,包括:
若符合所述触发条件、且在所述触发时间段内未监测到打卡事件,则所述第一用户终端根据所述触发时间段中的截止时刻执行打卡。
本申请实施例中,在触发时间段截止时刻由终端自动打卡,能够有效减少忘打卡的概率,提高了用户体验度。
在第一方面的一种实现方式中,所述打卡系统还包括服务器,所述第一用户终端获取第一打卡数据包括:
所述第一用户终端向所述服务器发送第一请求;
所述服务器获取与所述第一请求相匹配的所述第一打卡数据;
所述服务器将所述第一打卡数据发送给所述第一用户终端;
所述第一用户终端获取所述第一打卡数据。
本申请实施例的交互流程中,分桶学习的过程在服务器中执行,无需由各个用户终端分别执行,能够有效减少用户终端的数据处理压力和服务器的数据传输压力。
在第一方面的一种实现方式中,所述第一请求携带所述第一用户终端对应的打卡网络;
所述服务器获取与所述第一请求相匹配的所述第一打卡数据,包括:
所述服务器遍历多组第四打卡数据,所述第四打卡数据根据所述n个第二用户终端各自采集的第二打卡数据确定,每组所述第四打卡数据中包括一次打卡事件对应的打卡网络;
对于任意一组所述第四打卡数据,若所述第四打卡数据中的打卡网络与所述第一用户终端对应的打卡网络相匹配,则将所述第四打卡网络确定为所述第一打卡网络。
在第一方面的一种实现方式中,所述打卡系统还包括服务器,所述方法包括:
所述服务器获取所述n个第二用户终端各自的第二打卡数据;
所述服务器根据所述n个第二用户终端各自的第二打卡数据确定第四打卡数据。
本申请实施例中为服务器学习数据的步骤,通过学习数据的过程,将多个用户终端的打卡数据进行整合,从而解决了个人打卡数据量不足的问题。
在第一方面的一种实现方式中,所述服务器根据所述n个第二用户终端各自的第二打卡数据确定第四打卡数据,包括:
所述服务器根据所述n个第二用户终端各自的第二打卡数据进行分类,获得至少一组分类数据,每组所述分类数据中包括至少一组所述第二打卡数据;
所述服务器根据每组所述分类数据学习获得一组所述第四打卡数据。
本申请实施例中,每组第二打卡数据可以包括一次打卡事件对应的打卡时间段、打卡应用名称、打卡城市、打卡位置、打卡网络和打卡类型标签。相应的,每组第四打卡数据中包括打卡城市、打卡应用名称、打卡网络、打卡时间段、打卡位置和打卡类型标签。
本申请实施例中,采用分桶学习的方式。分桶学习的目的是,为了获得相同的打卡城市、相同的打卡应用、以及相同的打卡网络所对应的打卡时间段及打卡位置。通过分桶学习数据的过程,将同一公司、同一城市、同一网络下打卡的多个用户终端的打卡数据进行整合,在保证学习数据准确的基础上,解决了个人打卡数据量不足的问题。
在第一方面的一种实现方式中,每组所述第二打卡数据包括一次打卡事件对应的打卡网络;
所述服务器根据所述n个第二用户终端各自的第二打卡数据进行分类,获得至少一组分类数据,包括:
所述服务器根据所述第二打卡数据中的打卡网络,对所述n个第二用户终端各自的第二打卡数据进行数据过滤,获得过滤数据,所述过滤数据中包括至少一组所述第二打卡数据;
所述服务器根据所述过滤数据进行分类,获得至少一组所述分类数据。
一种实现方式中,若n个第二用户终端各自的第二打卡数据中存在网络名称相同的打卡网络,则删除网络名称相同的打卡网络各自对应的第二打卡数据。
另一种实现方式中,若n个第二用户终端各自的第二打卡数据中存在网络名称相同的打卡网络,则利用SSID区分网络名称相同的打卡网络;若利用SSID无法区分网络名称相同的打卡网络,则删除网络名称相同的打卡网络各自对应的第二打卡数据。
在第一方面的一种实现方式中,每组所述第二打卡数据还包括一次打卡事件对应的打卡城市和打卡应用名称;
所述服务器根据所述过滤数据进行分类,获得至少一组所述分类数据,包括:
所述服务器根据所述第二打卡数据中的打卡城市、打卡应用名称和打卡网络对所述过滤数据进行数据去重,获得去重数据,所述去重数据中包括至少一组所述第二打卡数据;
所述服务器根据所述去重数据进行分类,获得至少一组所述分类数据。
一种实现方式中,去重数据的获取步骤可以包括:若存在打卡城市、打卡应用名称和打卡网络均相同的第二打卡数据(候选打卡数据),则对比候选打卡数据中的打卡时间段和打卡位置;若候选打卡数据中的打卡时间段和打卡位置均相同,则保留任意一个候选打卡数据。
本申请实施中,通过去重处理,能够避免由于学习重复数据增加数据处理量的问题。
在第一方面的一种实现方式中,所述服务器根据所述去重数据进行分类,获得至少一组所述分类数据,包括:
所述服务器根据所述第二打卡数据中的打卡城市、打卡应用名称和打卡网络,对所述去重数据进行分类,获得至少一组所述分类数据。
本申请实施例中,采用分桶学习的方式,获得相同的打卡城市、相同的打卡应用、以及相同的打卡网络所对应的打卡时间段及打卡位置。通过分桶学习数据的过程,将同一公司、同一城市、同一网络下打卡的多个用户终端的打卡数据进行整合,在保证学习数据准确的基础上,解决了个人打卡数据量不足的问题。
在第一方面的一种实现方式中,每组所述第二打卡数据包括一次打卡事件对应的打卡时间段,每组所述第四打卡数据包括打卡时间段;
所述服务器根据每组所述分类数据学习获得一组所述第四打卡数据,包括:
所述服务器统计所述分类数据中每个第一时间段对应的打卡次数,每个所述第一时间段为一组所述第二打卡数据包括的打卡时间段;
所述服务器根据所述分类数据中每个所述第一时间段对应的打卡次数确定所述第四打卡数据中的打卡时间段。
在第一方面的一种实现方式中,所述服务器根据所述分类数据中每个所述第一时间段对应的打卡次数确定所述第四打卡数据中的打卡时间段,包括:
所述服务器根据所述分类数据中每个所述第一时间段对应的打卡次数,从所述分类数据中筛选出第五打卡数据;
所述服务器根据所述第五打卡数据中的打卡时间段确定所述第四打卡数据中的打卡时间段。
一种实现方式中,计算时间连续的第一时间段的累积次数;若累积次数达到预设值,则将累积次数对应的第二打卡数据确定为第五打卡数据。
示例性的,计算累积次数的一种方式为,从分类数据中最早的打卡时间段计算累积次数。
示例性的,计算累积次数的另一种方式为,从分类数据中最大的打卡次数开始计算累积次数。
在第一方面的一种实现方式中,所述打卡系统还包括服务器,所述方法包括:
所述第二用户终端采集多组第六打卡数据;
所述第二用户终端从多组第六打卡数据中筛选出所述第二打卡数据;
所述第二用户终端将所述第二打卡数据上传到所述服务器。
第二方面,提供一种打卡系统,包括服务器和m个用户终端;
所述服务器用于获取与第一用户终端发送的第一请求相匹配的第一打卡数据,将所述第一打卡数据发送给所述打卡系统中的第一用户终端,所述第一打卡数据根据所述打卡系统中的n个第二用户终端各自采集的第二打卡数据确定,n为大于1的整数、且n小于或等于m,m为大于1的整数;
所述第一用户终端获取所述第一打卡数据,根据所述第一打卡数据确定打卡提醒信息的触发条件;并当符合所述触发条件时,发送所述打卡提醒信息;所述打卡提醒信息用于提醒所述第一用户终端的用户打卡。
第三方面,提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在计算机或处理器上运行时,使得计算机或处理器执行如上述第一方面任一种可能的实施方式提供的方法。
第四方面,提供了一种计算机程序产品,当计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行时实现如上述第一方面任一种可能的实施方式提供的方法。
第五方面,提供了一种芯片系统,其特征在于,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述第一方面任一种可能的实施方式提供的方法。
附图说明
图1是本申请实施例提供的用户终端的界面示意图;
图2是本申请实施例提供的打卡时间段的示意图;
图3是本申请实施例提供的打卡cell的分布示意图;
图4是本申请实施例提供的打卡系统的架构示意图;
图5是本申请实施例提供的用户终端的结构示意图;
图6是本申请实施例提供的用户终端42的软件结构框图;
图7是本申请实施例提供的打卡方法交互流程示意图;
图8是本申请实施例提供的服务器学习的流程示意图;
图9是本申请实施例提供的时间段示意图;
图10是本申请实施例提供的打卡方法的流程示意图;
图11是本申请实施提供的打卡位置融合的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了维护企业的正常工作秩序,各个企业针对员工均设有考勤制度,用于考察企业员工是否按照规定出勤。目前,通常是利用打卡应用进行上下班打卡的方式来实现考勤统计。为了避免忘打卡、漏打卡情况的发生,用户通常自行设置打卡闹钟。为了适应用户需求,打卡应用增设打卡提醒机制,以提醒用户上下班考勤打卡。
在一些示例中,打卡应用可以通过播放提醒声音的方式提醒用户,还可以通过在用户终端显示屏上显示提醒信息的方式提醒用户。打卡应用的提醒信息可以显示在用户终端的负一屏,也可以作为通知信息显示在用户终端的主屏幕上。
示例性的,参见图1,是本申请实施例提供的用户终端的界面示意图。如图1所示,为用户终端的主屏幕界面10。主屏幕界面10可以包括状态栏101和通知栏102。其中:
状态栏101,可以包括运营商名称、时间、信号强度和当前剩余电量等信息。
通知栏102,用于显示应用软件的通知信息或缩略信息等。如图1所示的,显示打卡应用的通知信息。通知栏在用户终端界面上的位置、显示方式和显示时长可以由用户自定义设置,在此不做具体限定。用户可以通过通知栏进入打卡应用,如通过点击/长按通知栏所占区域等方式进入打卡应用,从而实现快速打卡。
需要说明的是,上述图1实施例中所述的界面仅为示例,并不用于限定打卡应用的通知界面和用户终端的显示界面。
相关技术中,打卡应用的打卡提醒机制通常分为两种:
一种打卡提醒机制是基于打卡时间的提醒机制。一种实现方式中,根据公司的考勤制度设置上下班打卡时间段,在该时间段内在用户终端上显示提醒信息。但这种方式的弊端是,提醒时间是固定的,无法自适应地调整提醒时间。另一种实现方式中,根据用户的历史打卡记录学习出该用户上下班打卡的时间段,据此设置提醒时间。这种方式虽然能够自适应地调整提醒时间,但由于用户上下班时间随机性较高,仍存在提醒时间不准确的问题。
示例性的,参见图2,是本申请实施例提供的打卡时间段的示意图。如图2所示,学习出的用户A的打卡时间段为a1-a2,学习出的用户B的打卡时间段为b1-b2,学习出的用户C的打卡时间段为c1-c2。若用户A或用户B偶尔提早下班,如用户A在a1之前下班、用户B在b1之前下班,则会出现打卡应用还未提醒的情况。若用户A或用户C偶尔晚下班,如用户A在a2这之后下班、用户C在c2之后下班,则会出现提醒信息已消失,用户错过提醒信息的情况。
另一种打卡提醒机制是基于打卡位置的提醒机制。一种实现方式中,根据用户的历史打卡记录学习出该用户上下班打卡的位置信息,该位置信息可以是打卡时对应的地理坐标点,也可以是包含打卡点的一个小范围,如以打卡点为圆心的一个圆(下述实施例中称为cell)。
示例性的,参见图3,是本申请实施例提供的打卡cell的分布示意图。如图3所示,三角形表示公司位置,每个圆圈表示用户A的一个打卡cell。针对用户个人而言,通常上下班路线比较固定,打卡位置也相对固定,所以采集到的打卡cell的位置相对集中。若用户偶尔换一个不常走的方向(如沿图3中箭头所示方向)来公司,则打卡应用无法识别打卡cell,导致无法提醒。
如上所述,相关技术中,由于用户个人上下班时间随机性较高,且打卡cell稀疏,因此,无论是基于时间的提醒机制,还是基于打卡位置的提醒机制,均存在打卡提醒不准确、可靠性较低的问题,影响用户体验。
本申请实施例中,针对用户个人打卡数据稀疏的问题,提供了一种打卡方法。本申请实施例中,用户终端将打卡数据标识后上传给服务器,服务器根据用户终端连接的网络对用户的打卡数据分类学习,生成同一公司/用户群体的打卡围栏和打卡时间段;然后用户终端根据连接的网络从服务器获取其所属公司/用户群体的打卡围栏和打卡时间段,据此设置打卡提醒。通过本申请实施例提供的方法,可以解决由于用户打卡数据稀疏导致的打卡提醒不准确、不可靠的问题,提高了用户体验度;另外,利用群体打卡数据进行学习,能够提高打卡围栏和打卡时间段的学习效率,缩短打卡应用打卡提醒功能的体验等待时间。
本申请实施例提供的方法通过打卡系统实现。参见图4,是本申请实施例提供的打卡系统的架构示意图。如图4所示,打卡系统包括服务器41和多个用户终端42。服务器分别与每个用户终端通信连接。本申请实施例中不对用户终端的数量做具体限定(图4中仅示出了2个用户终端42的情形)。
本申请实施例中的服务器41可以是一个服务器或多个服务器组成的服务器集群。具体的,服务器41既可以是包含几种存储升级包的服务器,也可以是包含分布式存储升级包、分组配置信息或升级策略信息的分布式架设的服务器集群。例如,分布式服务器可以是由多个服务器组成的服务器集群,集群中可以包括云计算机服务器、内容分发网络(Content Delivery Network,CDN)服务器、网络时间协议(Network Time Protocol,NTP)、域名解析系统(Domain Name System,DNS)服务器等等;其中,服务器集群中的各个服务器之间相互协调,共同完成计算、数据存储、通信等功能。为了方便描述,本申请实施例中将单个服务器、分布式服务器、服务器集群统称为服务器。在图4中,服务器41表现为云服务器。在一些应用场景中,也可以将服务器称为云端或云侧等,在此不作具体限定。
服务器41通过无线网络与各个用户终端42通信连接。无线网络可以是基于第四代的移动信息技术(the 4th generation mobile communication technology,4G)的网络,也可以是第五代的移动信息技术(the 5th generation mobile communicationtechnology,5G)的网络,还可以是基于第六代的移动信息技术(the 6th generationmobile communication technology,6G)的网络,甚至可能适用于未来的通信网络,在此不做具体限定。
本申请实施例中,服务器41通过无线网络接收用户终端42上传的打卡数据,并用户终端连接的网络对用户的打卡数据分类学习,生成同一公司/用户群体的打卡围栏和打卡时间段。用户终端42通过无线网络获取服务器41生成的打卡围栏和打卡时间段,据此设置打卡提醒。
本申请实施例中的用户终端42是一种能够通过安装应用软件,向用户提供相应的考勤打卡、打卡提醒、语音、视频、拍摄、数据连通性等各种服务功能的设备。用户终端(userequipment)又可称为终端设备、电子设备、移动台(mobile station,MS)、移动终端(mobileterminal,MT)等。为了便于描述,本申请实施例中统称为用户终端。例如,用户终端可以为手机、平板电脑、笔记本电脑、掌上电脑、个人计算机、移动互联网设备(mobile Internetdevice,MID)、智能销售终端(point or sale,POS)等等。
示例性的,参见图5,是本申请实施例提供的用户终端的结构示意图。
如图5所示,用户终端42可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是用户终端42的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合闪光灯,使处理器110与闪光灯通过I2C总线接口通信,当需要打卡提醒时,处理器110控制闪光灯闪烁,以实现提醒用户打卡的目的。
I2S接口和PCM接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。例如,当需要打卡提醒时,处理器110控制音频模块170播放提示声音。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。当用户终端在打卡设备的蓝牙信号覆盖范围内,处理器110通过无线通信模块160与打卡设备通信连接,实现蓝牙打卡。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现用户终端42的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现用户终端42的显示功能。例如,当需要显示打卡提醒通知信息时,处理器110通过DSI接口与显示屏194通信,以使显示屏194显示打卡提醒通知信息。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为用户终端充电,也可以用于用户终端与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对用户终端42的结构限定。在本申请另一些实施例中,用户终端42也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过用户终端42的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
用户终端42的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。用户终端42中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在用户终端42上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在用户终端42上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。在一些实施例中,用户终端42可以通过无线通信模块160与打卡设备通信,以实现无线打卡。用户终端42还可以通过无线通信模块160与服务器41通信,以实现打卡数据的传输。
在一些实施例中,用户终端42的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得用户终端42可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
用户终端42通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,用户终端42可以包括1个或N个显示屏194,N为大于1的正整数。在一些实施例中,用户终端42通过显示屏194显示打卡提醒信息。
用户终端42可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,用户终端42可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当用户终端42在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。用户终端42可以支持一种或多种视频编解码器。这样,用户终端42可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现用户终端42的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展用户终端42的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如,用户终端42将用户的打卡数据保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行用户终端42的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如考勤打卡应用等)等。存储数据区可存储用户终端42使用过程中所创建的数据(比如打卡应用中的打卡数据等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
用户终端42可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如打卡提醒、音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。用户终端42可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当用户终端42接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。用户终端42可以设置至少一个麦克风170C。在另一些实施例中,用户终端42可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,用户终端42还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
用户终端42可以通过传感器模块180实现定位功能,如获取打卡位置等。其中,传感器模块180可以包括压力传感器180A、陀螺仪传感器180B、气压传感器180C、磁传感器180D、加速度传感器180E、距离传感器180F、接近光传感器180G、指纹传感器180H、温度传感器180J、触摸传感器180K、环境光传感器180L以及骨传导传感器180M等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。用户终端42根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,用户终端42根据压力传感器180A检测所述触摸操作强度。用户终端42也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定用户终端42的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定用户终端42围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测用户终端42抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消用户终端42的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,用户终端42通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。用户终端42可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当用户终端42是翻盖机时,用户终端42可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测用户终端42在各个方向上(一般为三轴)加速度的大小。当用户终端42静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。用户终端42可以通过红外或激光测量距离。在一些实施例中,拍摄场景,用户终端42可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。用户终端42通过发光二极管向外发射红外光。用户终端42使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定用户终端42附近有物体。当检测到不充分的反射光时,用户终端42可以确定用户终端42附近没有物体。用户终端42可以利用接近光传感器180G检测用户手持用户终端42贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。用户终端42可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测用户终端42是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。用户终端42可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,用户终端42利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,用户终端42执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,用户终端42对电池142加热,以避免低温导致用户终端42异常关机。在其他一些实施例中,当温度低于又一阈值时,用户终端42对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于用户终端42的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。用户终端42可以接收按键输入,产生与用户终端42的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,当需要打卡提醒时,处理器110通过控制马达191产生振动,以实现打卡提醒。不同的应用场景(例如:打卡提醒、接收信息,闹钟,游戏等)可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。例如,当需要打卡提醒时,处理器110通过控制指示器192亮起,以实现打卡提醒。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和用户终端42的接触和分离。用户终端42可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。用户终端42通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,用户终端42采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在用户终端42中,不能和用户终端42分离。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对用户终端42的结构限定。在本申请另一些实施例中,用户终端42也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
可以理解的是,图5仅为用户终端42的结构示例,示出了与本申请实施例所述打卡方法相关的部分模块,本申请实施例示意的结构并不构成对用户终端42的具体限定。在本申请另一些实施例中,用户终端42可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
用户终端42的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性地说明用户终端42的软件结构。
参见图6,是本申请实施例提供的用户终端42的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。如图6所示,在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统库和安卓运行时(Android runtime),以及内核层。
应用程序层可以包括一系列应用程序包。如图6所示,应用程序包可以包括打卡、相机,图库,日历,通话,地图,导航,运动健康,蓝牙,音乐,视频,短信息等应用程序。例如:考勤打卡应用程序能够实现考勤打卡提醒的功能。当用户终端上安装有考勤打卡应用程序时,该用户终端可以通过考勤打卡应用程序对打卡数据进行统计、标识和分析等处理,以实现对用户的打卡提醒。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图6所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括打卡数据、通过传感器模块560获取到的打卡位置信息、视频、图像、音频、拨打和接听的电话、浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供用户终端42的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于打卡提醒、告知下载完成、消息提醒(如出行消息等)等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统层可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面介绍本申请实施例涉及的打卡方法。
本申请实施例中的打卡方法应用于如图4所示的打卡系统,该方法中涉及打卡系统中用户终端与服务器之间的交互。
在一些应用场景中,打卡方法的交互流程可以包括:第一用户终端获取打卡系统中多个其他用户终端各自的第二打卡数据;第一用户终端根据第二打卡数据分桶学习,以确定第一打卡数据,再根据第一打卡数据确定打卡提醒信息的触发条件。
该方式下,由于第一用户终端无法直接与打卡系统中的各个其他用户终端通信,因此,第一用户终端需要通过服务器获取其他各个用户终端的第二打卡数据。具体的,各个用户终端分别将各自采集的第二打卡数据上传给服务器,再由服务器将所有打卡数据下发给第一用户终端。实际应用中,通常打卡系统中的用户终端数量较多,服务器需要收发大量的打卡数据,服务器的数据传输压力较大;另外,从用户终端角度考虑,第一用户终端需要接收大量的第二打卡数据,并对这些第二打卡数据进行数据处理,第一用户终端的数据处理压力也较大,对用户终端的算力性能要求较高。
在另一些应用场景中,参见图7,是本申请实施例提供的打卡方法交互流程示意图。作为示例而非限定,如图7所示,打卡方法涉及的交互流程可以包括以下步骤:
S701,各个用户终端分别向服务器上传自身采集的打卡数据(第二打卡数据)。
S702,服务器根据第二打卡数据分桶学习,获得至少一组学习后的打卡数据(第四打卡数据)。服务器存储学习获得的第四打卡数据。
S703,任意一个用户终端(第一用户终端)向服务器发送请求信息(第一请求)。
S704,服务器监测到第一请求,在存储的第四打卡数据中查找与第一请求匹配的打卡数据(第一打卡数据)。
可选的,第一请求携带第一用户终端对应的打卡网络。相应的,S704包括:
服务器遍历多组第四打卡数据,每组所述第四打卡数据中包括一次打卡事件对应的打卡网络;对于任意一组第四打卡数据,若第四打卡数据中的打卡网络与第一用户终端对应的打卡网络相匹配,则将所述第四打卡网络确定为第一打卡网络。
可选的,第一请求还可以携带更多的信息,如第一用户终端对应的打卡城市、打卡应用名称等。
S705,服务器将第一打卡数据发送给第一用户终端。
S706,第一用户终端根据第一打卡数据确定打卡提醒信息的触发条件。
与第一个应用场景中的交互流程相比,S701-S706所示的交互流程中分桶学习的过程在服务器中执行,无需由各个用户终端分别执行,能够有效减少用户终端的数据处理压力和服务器的数据传输压力。
如上所示的交互流程中可知,打卡方法实质涉及到两个过程,一个为服务器分桶学习的过程,另一个为第一用户终端确定触发条件的过程。下面分别介绍两个过程。
参见图8,是本申请实施例提供的服务器学习的流程示意图。作为示例而非限定,如图8所示,服务器学习过程可以包括以下步骤:
S801,服务器获取打卡系统中的n个第二用户终端各自的第二打卡数据。
n为大于1的整数,且n小于或等于m,m为打卡系统中用户终端的个数。
在一些应场景中,步骤S801中可由服务器主动获取第二用户终端中的第二打卡数据。另一些应用场景中,也可由第二用户终端主动向服务器上报第二打卡数据。
一种实现方式中,第二用户终端向服务器上传第二打卡数据的步骤包括:
第二用户终端采集多组第六打卡数据;第二用户终端从多组第六打卡数据中筛选出第二打卡数据;第二用户终端将所述第二打卡数据上传到服务器。
在一些应用场景中,用户终端可以通过数据中台采集、存储、传输数据。其中,数据中台是一种数据管理体系,用于数据挖掘,其本质是数据库+数据服务中间件。数据中台主要负责数据的采集、存储、打通和使用。
一些应用场景中,用户终端中可能保存有多个打卡网络。例如,用户在公司打卡的打卡网络,以及用户出差在外地打卡的打卡网络。不同情形下打卡时间段和打卡位置可能不同。
一种实现方式中,可以按照网络连接次数筛选第二打卡数据。具体的,按照打卡网络的连接次数从大到小的顺序,对打卡网络排序;将序列中前L个打卡网络对应的第六打卡数据确定为第二打卡数据。
在一些应用场景中,第二用户终端可以在发生打卡行为时向服务器上传自身的第二打卡数据。还可以在预设时间向服务器上传自身的第二打卡数据,例如,每天20:00点向服务器上传自身的第二打卡数据。还可以在满足预设条件时向服务器上传自身的第二打卡数据,例如,每天第一次充电灭屏时向服务器上传自身的第二打卡数据。
可选的,第二用户终端每次向服务器上传第二打卡数据的过程中,采集的第六打卡数据可以为执行上一次的上传动作之后新增的打卡数据,例如,第二用户终端于01月01日上传一次第二打卡数据,第二用户终端在01月05日需要再次上传第二打卡数据,则01月05日上传的第二打卡数据根据01月02日-05日采集到的第六打卡数据确定。第六打卡数据也可以为第一预设时间段内所有的打卡数据,如每次执行上传动作之前最近三天内的所有打卡数据。
本申请实施例中,每组第二打卡数据/第六打卡数据可以包括一次打卡事件对应的打卡时间段、打卡应用名称、打卡城市、打卡位置、打卡网络和打卡类型标签。
为了便于后续服务器学习数据,本申请实施例中采用打卡时间段的数据记录方式。例如,将考勤时间划分为多个时间段,打卡事件对应的时间点所属的时间段记为本次打卡时间对应的打卡时间段。与记录打卡时间点的方式相比,记录打卡时间段更便于后续学习,提高学习效率。
在一些应用场景中,用户仅利用一款固定的打卡应用打卡,则打卡应用名称为该打卡应用的名称。例如,从上一次上传第二打卡数据到本次上传第二打卡数据,用户只利用打卡应用1打卡。此种情况下,第二打卡数据中的打卡应用名称为打卡应用1。在另一些应用场景中,公司可能关联两个打卡应用1和2统计考勤,用户可能利用打卡应用1打卡,也可能利用打卡应用2打卡。此种情况下,第二打卡数据中的打卡应用名称可以为第二预设时间段内使用次数最多的打卡应用的名称。例如,本次上传第二打卡数据之前30天内(第二预设时间段)使用次数最多的为打卡应用1,则本次上传的第二打卡数据中的打卡应用名称为打卡应用1的名称。
打卡位置可以为具体的地理坐标点,可以通过如图5所示的用户终端的传感器模块560和/或无线通信模块540获得。但由于用户终端定位通常存在一定的误差,如果以地理坐标点作为打卡位置,后续打卡位置学习难度较高,可能导致后续学习出的打卡位置不准确。为了解决该问题,打卡位置可以为如图3实施例中所示的cell,即以打卡的地理坐标点为圆心的一个小范围。
打卡网络指用户终端与打卡终端(如打卡机)之间的通信网络。打卡网络可以是蓝牙,可以是局域网,可以是Wi-Fi,还可以是Wi-Fi中的自网络。在一些示例中,可以通过网络的账号名称或服务集标识(Service Set Identifier,SSID)区分打卡网络。另外,打卡网络包括已连接的网络和扫描的网络。
打卡类型标签包括用于表示上班卡的第一标签和用于表示下班卡的第二标签。打卡类型标签可以为字符、数字、字母等表示,在此不作具体限定。
示例性的,用户终端每次打卡后相应的可以采集到多种数据,如下表所示。
/>
示例性,采集数据的代码如下:
采集到上述数据后,根据这些数据生成打卡数据。例如,根据上述数据“cy”可获取打卡城市,根据上述数据“lo”和“lu”可以获取打卡位置,根据上述数据“si”或“bi”可以获取打卡网络,等等。
S802,服务器根据n个第二用户终端各自的第二打卡数据确定第四打卡数据。
该步骤为服务器学习数据的步骤,通过学习数据的过程,将多个用户终端的打卡数据进行整合,从而解决了个人打卡数据量不足的问题。
在一些应用场景中,服务器每接收到一组第二打卡数据,即进行一次学习过程,相应的,更新一次第四打卡数据。但这种方式学习频率较高,数据处理量较大。在另一些应用场景中,可以每隔预设周期,服务器根据当前已接收到的第二打卡数据,进行一次学习过程。在另一些应用场景中,还可以每接收到预设组数的第二打卡数据,进行一次学习过程。本申请实施例中,不对服务器学习的节点做具体限定。
在一些应用场景中,服务器可以通过学习中台学习数据。其中,学习中台为一种数据中台。数据中台是一种数据管理体系,用于数据挖掘,其本质是数据库+数据服务中间件。数据中台主要负责数据的采集、存储、打通和使用。
实际应用中,一个服务器连接的多个用户终端可能分属于不同的公司或部门,不同的公司或部门可能采用不同的打卡应用,且不同公司或部门的打卡网络和打卡城市也可能不同。若将所有用户终端的打卡数据一起学习,学习获得的第四打卡数据可能是不准确的。例如,公司X和公司Y在同一大厦,打卡位置相同,但两个公司的考勤时间段不同(如公司X08:00-09:00上班,公司Y09:00-10:00上班),若将两个公司的打卡数据一起学习,获得的第四打卡数据中的打卡时间段可能为08:00-10:00;对于公司X的员工,可能由于打卡应用提醒时间较晚导致错过打卡;对于公司Y的员工,可能由于打卡应用提醒时间较早而忽略打卡。再例如,公司X在城市e和城市f均有办公场所,考勤时间段也相同,但打卡位置不同;若将公司X的所有打卡数据一起学习,获得的第四打卡数据中的打卡位置可能包括城市e的打卡位置和/或城市f的打卡位置;对于两个城市的员工,可能由于打卡应用对打卡位置的误识别而误打卡或错过打卡。
为了学习出更准确的第四打卡数据,本申请实施例中,采用分桶学习的方式。分桶学习的目的是,为了获得相同的打卡城市、相同的打卡应用、以及相同的打卡网络所对应的打卡时间段及打卡位置。通过分桶学习数据的过程,将同一公司、同一城市、同一网络下打卡的多个用户终端的打卡数据进行整合,在保证学习数据准确的基础上,解决了个人打卡数据量不足的问题。具体步骤如下所述。
在一些实施例中,S802可以包括:
所述服务器根据所述n个第二用户终端各自的第二打卡数据进行分类,获得至少一组分类数据,每组所述分类数据中包括至少一组所述第二打卡数据;所述服务器根据每组所述分类数据学习获得一组所述第四打卡数据。
相应的,学习获得的每组第四打卡数据中包括打卡城市、打卡应用名称、打卡网络、打卡时间段、打卡位置和打卡类型标签。
一些应用场景中,同一大厦中的两个公司的网络名称可能相同。为了保证学习数据的准确性,可选的,上述分类过程可以包括数据过滤,具体的:
服务器根据第二打卡数据中的打卡网络,对n个第二用户终端各自的第二打卡数据进行数据过滤,获得过滤数据,过滤数据中包括至少一组第二打卡数据;
服务器根据过滤数据进行分类,获得至少一组分类数据。
一种实现方式中,若n个第二用户终端各自的第二打卡数据中存在网络名称相同的打卡网络,则删除网络名称相同的打卡网络各自对应的第二打卡数据。
另一种实现方式中,若n个第二用户终端各自的第二打卡数据中存在网络名称相同的打卡网络,则利用SSID区分网络名称相同的打卡网络;若利用SSID无法区分网络名称相同的打卡网络,则删除网络名称相同的打卡网络各自对应的第二打卡数据。
一些应用场景中,如S801中所述,第二用户终端采集第六打卡数据可能存在重复数据。学习重复数据将会增加数据处理量,且对学习结果影响不大。为了避免上述问题,可选的,上述分类过程可以包括数据去重,具体的:
服务器根据第二打卡数据中的打卡城市、打卡应用名称和打卡网络对过滤数据进行数据去重,获得去重数据,去重数据中包括至少一组第二打卡数据;
服务器根据去重数据进行分类,获得至少一组分类数据。
一种实现方式中,去重数据的获取步骤可以包括:若存在打卡城市、打卡应用名称和打卡网络均相同的第二打卡数据(候选打卡数据),则对比候选打卡数据中的打卡时间段和打卡位置;若候选打卡数据中的打卡时间段和打卡位置均相同,则保留任意一个候选打卡数据。
可选的,分类过程可以包括:
1、服务器统计分类数据中每个第一时间段对应的打卡次数,每个第一时间段为一组第二打卡数据包括的打卡时间段。
2、服务器根据分类数据中每个第一时间段对应的打卡次数确定第四打卡数据中的打卡时间段。
本申请实施例中,第一时间段对应的第二打卡数据的组数记为打卡次数。
一个示例中,参见图9,是本申请实施例提供的时间段示意图。如图9所示,横轴表示分类数据中的各个第一时间段,纵轴表示每个第一时间段对应的打卡次数。其中,第一时间段08:00-08:30对应的打卡次数为395,表示该组分类数据中有395组第二打卡数据中的打卡时间段为08:00-08:30。
可选的,上述步骤2可以包括:
服务器根据分类数据中每个第一时间段对应的打卡次数,从分类数据中筛选出第五打卡数据;服务器根据第五打卡数据中的打卡时间段确定第四打卡数据中的打卡时间段。
一种实现方式中,计算时间连续的第一时间段的累积次数;若累积次数达到预设值,则将累积次数对应的第二打卡数据确定为第五打卡数据。
继续图9示例,第一时间段08:00-08:30、08:30-09:00、09:00-09:30、09:30-10:00以及10:00-10:30各自对应的打卡次数之和为395+213+397+217+239=1461。假设1461达到预设值,则将08:00-08:30、08:30-09:00、09:00-09:30、09:30-10:00以及10:00-10:30各自对应第二打卡数据确定为第五打卡数据。相应的,将这5个打卡时间段融合为一个打卡时间段08:00-10:30,该时间段作为第四打卡数据中的打卡时间段。
若两个第五打卡数据的打卡时间段之间间隔大于预设时长,则两个第五打卡数据各自的打卡时间段分别记为第四打卡数据中的打卡时间段。如图9中所示,假设08:00-10:30对应一组第五打卡数据,19:00-22:30对应一组第五打卡数据;但两组数据中打卡时间段之间的间隔(19:00与10:30之间的时间间隔)较大,明显两个打卡时间段分别属于上班打卡和下班打卡,因此,两个打卡时间段不作融合,而是分别作为一组第四打卡数据中的打卡时间段。
上述的预设值可以根据预设的占比值确定。例如,预设的占比值为90%,表示累计次数占分类数据中第二打卡数据的总组数的90%。
计算累积次数的一种方式为,从分类数据中最早的打卡时间段计算累积次数。如图9中所示的,从最早的00:00-00:30开始累积次数。但这种方式明显存在较大误差。
计算累积次数的另一种方式为,从分类数据中最大的打卡次数开始计算累积次数。如图9中所示的,08:00-08:30对应的打卡次数395最大,则从该打卡时间段开始计算累积次数。
如图9所示,全天中分为两次打卡,上班打卡和下班打卡。相应的,在计算累积次数时,可以根据第二打卡数据中的打卡类型标签分别计算累积次数,即计算第一标签对应的第一时间段的累积次数,计算第二标签对应的第一时间段的累积次数。
上述实施例中介绍了将相同的打卡城市、相同的打卡应用、以及相同的打卡网络的多组打卡数据中的打卡时间段进行融合的方式。对于相同的打卡城市、相同的打卡应用、以及相同的打卡网络的多组打卡数据中的打卡位置的融合方式,与打卡时间段的融合方式类似,即经过数据过滤、去重和分类处理后,对打卡位置进行融合。关于打卡位置融合过程中的数据过滤、去重和分类处理,可参加上述实施例中的描述,在此不再赘述。
一些实现方式中,打卡位置融合的方式可以为,若两组第二打卡数据的打卡位置的重合面积达到预设面积,则将两个打卡位置的并集确定为第四打卡数据中的打卡位置。
示例性的,参见图11,是本申请实施提供的打卡位置融合的示意图。如图11中的(a)所示为融合之前的打卡cell,打卡cell分布比较分散,且存在某些方向上的位置空白。如图11中的(b)所示为融合之后的打卡cell,在公司各个方向上分布均匀。
由于预先做了数据分类,因此,每组分类数据对应的打卡城市、打卡应用名称和打卡网络均相同,相应的,由该组分类数据确定出的第四打卡数据中的打卡城市、打卡应用名称和打卡网络与该组分类数据保持一致。
在一些应用场景中,可以分别对上班数据和下班数据进行学习(如通过打卡类别标签区分打卡数据的类型)。对于上班数据,可以学习打卡时间段和打卡位置,也可以只学习打卡时间段或打卡位置。对于下班数据,可以学习打卡时间段和打卡位置,也可以只学习打卡时间段或打卡位置。本申请实施例中不作具体限定,可以根据实际需要选择方案。
一些示例中,可对打卡位置(如打卡cell)进行编号。打卡位置融合之后,第四打卡数据中的打卡位置仅记录打卡cell的编号。这样后续用户终端做数据融合时,只需根据打卡cell的编号计算,便于数据处理,提高处理效率。
上述图8实施例中,采用分桶学习的方式,获得相同的打卡城市、相同的打卡应用、以及相同的打卡网络所对应的打卡时间段及打卡位置。通过分桶学习数据的过程,将同一公司、同一城市、同一网络下打卡的多个用户终端的打卡数据进行整合,在保证学习数据准确的基础上,解决了个人打卡数据量不足的问题。
基于上述的服务器分桶学习的过程,下面介绍第一用户终端确定触发条件的过程。
参见图10,是本申请实施例提供的打卡方法的流程示意图。作为示例而非限定,如图10所示,所述打卡方法可以包括以下步骤:
S1001,第一用户终端获取第一打卡数据,所述第一打卡数据根据n个第二用户终端各自采集的第二打卡数据确定。
n为大于1的整数、且n小于或等于m,m为打卡系统中用户终端的个数。
如图4实施例中所述,打卡系统包括服务器和多个用户终端。打卡系统的多个用户终端中的任意一个用户终端均可作为第一用户终端。
例如,打卡系统中包括用户终端A、用户终端B和用户终端C。当用户终端A需要向用户发送打卡提醒信息,用户终端A可视为第一用户终端,用户终端B和用户终端C均可视为第二用户终端,即由用户终端A执行步骤S701-S703。当用户终端B需要向用户发送打卡提醒信息,用户终端B可视为第一用户终端,用户终端A和用户终端C均可视为第二用户终端,即由用户终端B执行步骤S1001-S1003。
可以理解的是,n个第二用户终端中也可以包括第一用户终端。继续上述示例,当用户终端A需要向用户发送打卡提醒信息,用户终端A可视为第一用户终端,用户终端A、用户终端B和用户终端C均可视为第二用户终端。换言之,第一用户终端自身采集的打卡数据也可以作为第二打卡数据。
可以理解的是,第一用户终端可以获取到至少一组第一打卡数据,第二用户终端可以采集至少一组打卡数据。
S1002,第一用户终端根据第一打卡数据确定打卡提醒信息的触发条件,所述打卡提醒信息用于提醒第一用户终端的用户打卡。
打卡提醒信息可以包括声音信号、振动信号或文字信息。例如,利用如图5实施例中所示的音频模块550发出音乐、提示音等。再例如,利用如图5实施例中所示的马达571发出振动信号。再例如,利用如图5实施例中所示的显示屏574显示提示信息。如图1所示的通知栏102,用户终端应用程序层的打卡应用通过应用框架层的通知管理器在显示屏574上显示提示信息。可以理解的是,打卡提醒信息可以包括上述任一项,也可以包括上述任意多项。例如,在显示屏574通知栏显示提示信息的同时,通过音频模块550发出提示音。
在一些实施例中,S1002的一种实现方式包括:
第一用户终端采集第三打卡数据;第一用户终端根据第一打卡数据和第三打卡数据确定触发条件。
本申请实施例中,第一用户终端采集第三打卡数据的过程,与图8实施例中第二用户终端采集第六打卡数据的过程相同,具体可参见上述实施例中的描述,在此不再赘述。
可选的,第一用户终端根据第一打卡数据和第三打卡数据确定触发条件的一种实现方式包括:
计算第一打卡数据和第三打卡数据的并集数据;根据所述并集数据确定触发条件。
可选的,第一用户终端根据第一打卡数据和第三打卡数据确定触发条件的另一种实现方式包括:
计算第一打卡数据和第三打卡数据的交集数据;根据所述交集数据确定所述触发条件。
由图8实施例可知,第一打卡数据为服务器根据第一用户中的第一请求获取的到的打卡数据,第一请求携带第一用户终端对应的打卡网络,因此,第一打卡数据和第三打卡数据的打卡网络相同。由于经过了服务器的分桶学习,每个打卡网络对应的打卡应用名称和打卡城市唯一,因此,第一打卡数据和第三打卡数据中的打卡应用名称和打卡城市相匹配。故本申请实施例中,第一打卡数据和第三打卡数据的交集数据可以包括打卡时间段的交集(触发时间段)和打卡位置的交集(触发位置)。
如图8实施例中所述,服务器做打卡位置融合时,第四打卡数据中可以仅包括打卡cell的编号。相应的,计算第一打卡数据和第三打卡数据的打卡位置对交集,可以通过计算第一打卡数据中打卡cell的编号和第三打卡数据中打卡cell的编号的交集实现。
S1003,当符合所述触发条件,第一用户终端向用户发送打卡提醒信息。
本申请实施例中,打卡提醒信息的触发条件可以包括触发位置和触发时间段。当打卡应用的打卡提醒机制基于打卡时间,触发条件指触发时间段。当打卡应用的打卡提醒机制基于打卡位置,触发条件指触发位置。当打卡应用的打卡提醒机制基于打卡时间和打卡位置,触发条件指触发位置和触发时间段。
示例性的,在一些应用场景中,上班打卡提醒既要考虑打卡时间、又要考虑打卡位置,则满足触发条件指同时满足触发位置和触发时间段。在另一些应用场景中,下班打卡提醒只需考虑打卡时间,则满足触发条件指满足触发时间段即可。
在一些实施例中,所述触发条件包括触发时间段。相应的,S1003包括:
当符合所述触发条件,所述第一用户终端根据所述触发时间段中的起始时刻第一次发送所述打卡提醒信息;
若在所述触发时间段内、第一次发送所述打卡提醒信息之后,未监测到打卡事件,则所述第一用户终端第二次发送所述打卡提醒信息。
本申请实施例中,通过多次提醒,避免因用户错过提醒而导致忘打卡的情况发生,提高了用户体验度。
在另一些实施例中,S1003包括:
若符合所述触发条件、且在所述触发时间段内未监测到打卡事件,则所述第一用户终端根据所述触发时间段中的截止时刻执行打卡。
本申请实施例中,在触发时间段截止时刻由终端自动打卡,能够有效减少忘打卡的概率,提高了用户体验度。
本申请实施例中,由于第一打卡数据是根据多个第二用户终端各自采集的第二打卡数据确定的,第一用户终端根据第一打卡数据确定打卡提醒信息的触发条件,相当于根据多个用户的打卡数据确定某个用户的打卡提醒信息的触发条件。与相关技术中仅根据用户个人的打卡数据确定打卡提醒信息的触发条件的方式相比,本申请实施例中的方法,有效解决了因个人打卡数据量不足而导致的打卡提醒不准确的问题,提高了打卡提醒的可靠性,从而提升了用户体验度。
本申请实施例还提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在计算机或处理器上运行时,使得计算机或处理器执行如上述各个打卡方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行时实现上述各个打卡方法实施例中的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种芯片系统,其特征在于,芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现上述各个打卡方法实施例中的步骤。芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种打卡方法,其特征在于,应用于打卡系统,所述打卡系统包括m个用户终端,m为大于1的整数,所述方法包括:
所述打卡系统中的第一用户终端获取第一打卡数据,所述第一打卡数据根据所述打卡系统中的n个第二用户终端各自采集的第二打卡数据确定,n为大于1的整数、且n小于或等于m;
所述第一用户终端根据所述第一打卡数据确定打卡提醒信息的触发条件,所述打卡提醒信息用于提醒所述第一用户终端的用户打卡;
当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息。
2.根据权利要求1所述的打卡方法,其特征在于,所述第一用户终端根据所述第一打卡数据确定打卡提醒信息的触发条件,包括:
所述第一用户终端采集第三打卡数据;
所述第一用户终端根据所述第一打卡数据和所述第三打卡数据确定所述触发条件。
3.根据权利要求2所述的打卡方法,其特征在于,所述第一用户终端根据所述第一打卡数据和所述第三打卡数据确定所述触发条件,包括:
计算所述第一打卡数据和所述第三打卡数据的交集数据;
根据所述交集数据确定所述触发条件。
4.根据权利要求1至3任一项所述的打卡方法,其特征在于,所述触发条件包括触发时间段;
所述当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息,包括:
当符合所述触发条件,所述第一用户终端根据所述触发时间段中的起始时刻第一次发送所述打卡提醒信息;
若在所述触发时间段内、第一次发送所述打卡提醒信息之后,未监测到打卡事件,则所述第一用户终端第二次发送所述打卡提醒信息。
5.根据权利要求1至3任一项所述的打卡方法,其特征在于,所述触发条件包括触发时间段;
所述当符合所述触发条件,所述第一用户终端发送所述打卡提醒信息,包括:
若符合所述触发条件、且在所述触发时间段内未监测到打卡事件,则所述第一用户终端根据所述触发时间段中的截止时刻执行打卡。
6.根据权利要求1至5任一项所述的打卡方法,其特征在于,所述打卡系统还包括服务器,所述第一用户终端获取第一打卡数据包括:
所述第一用户终端向所述服务器发送第一请求;
所述服务器获取与所述第一请求相匹配的所述第一打卡数据;
所述服务器将所述第一打卡数据发送给所述第一用户终端;
所述第一用户终端获取所述第一打卡数据。
7.根据权利要求6所述的打卡方法,其特征在于,所述第一请求携带所述第一用户终端对应的打卡网络;
所述服务器获取与所述第一请求相匹配的所述第一打卡数据,包括:
所述服务器遍历多组第四打卡数据,所述第四打卡数据根据所述n个第二用户终端各自采集的第二打卡数据确定,每组所述第四打卡数据中包括一次打卡事件对应的打卡网络;
对于任意一组所述第四打卡数据,若所述第四打卡数据中的打卡网络与所述第一用户终端对应的打卡网络相匹配,则将所述第四打卡网络确定为所述第一打卡网络。
8.根据权利要求1至7任一项所述的打卡方法,其特征在于,所述打卡系统还包括服务器,所述方法包括:
所述服务器获取所述n个第二用户终端各自的第二打卡数据;
所述服务器根据所述n个第二用户终端各自的第二打卡数据确定第四打卡数据。
9.根据权利要求8所述的打卡方法,其特征在于,所述服务器根据所述n个第二用户终端各自的第二打卡数据确定第四打卡数据,包括:
所述服务器根据所述n个第二用户终端各自的第二打卡数据进行分类,获得至少一组分类数据,每组所述分类数据中包括至少一组所述第二打卡数据;
所述服务器根据每组所述分类数据学习获得一组所述第四打卡数据。
10.根据权利要求9所述的打卡方法,其特征在于,每组所述第二打卡数据包括一次打卡事件对应的打卡网络;
所述服务器根据所述n个第二用户终端各自的第二打卡数据进行分类,获得至少一组分类数据,包括:
所述服务器根据所述第二打卡数据中的打卡网络,对所述n个第二用户终端各自的第二打卡数据进行数据过滤,获得过滤数据,所述过滤数据中包括至少一组所述第二打卡数据;
所述服务器根据所述过滤数据进行分类,获得至少一组所述分类数据。
11.根据权利要求10所述的打卡方法,其特征在于,每组所述第二打卡数据还包括一次打卡事件对应的打卡城市和打卡应用名称;
所述服务器根据所述过滤数据进行分类,获得至少一组所述分类数据,包括:
所述服务器根据所述第二打卡数据中的打卡城市、打卡应用名称和打卡网络对所述过滤数据进行数据去重,获得去重数据,所述去重数据中包括至少一组所述第二打卡数据;
所述服务器根据所述去重数据进行分类,获得至少一组所述分类数据。
12.根据权利要求11所述的打卡方法,其特征在于,所述服务器根据所述去重数据进行分类,获得至少一组所述分类数据,包括:
所述服务器根据所述第二打卡数据中的打卡城市、打卡应用名称和打卡网络,对所述去重数据进行分类,获得至少一组所述分类数据。
13.根据权利要求9所述的打卡方法,其特征在于,每组所述第二打卡数据包括一次打卡事件对应的打卡时间段,每组所述第四打卡数据包括打卡时间段;
所述服务器根据每组所述分类数据学习获得一组所述第四打卡数据,包括:
所述服务器统计所述分类数据中每个第一时间段对应的打卡次数,每个所述第一时间段为一组所述第二打卡数据包括的打卡时间段;
所述服务器根据所述分类数据中每个所述第一时间段对应的打卡次数确定所述第四打卡数据中的打卡时间段。
14.根据权利要求13所述的打卡方法,其特征在于,所述服务器根据所述分类数据中每个所述第一时间段对应的打卡次数确定所述第四打卡数据中的打卡时间段,包括:
所述服务器根据所述分类数据中每个所述第一时间段对应的打卡次数,从所述分类数据中筛选出第五打卡数据;
所述服务器根据所述第五打卡数据中的打卡时间段确定所述第四打卡数据中的打卡时间段。
15.根据权利要求1至14任一项所述的打卡方法,其特征在于,所述打卡系统还包括服务器,所述方法包括:
所述第二用户终端采集多组第六打卡数据;
所述第二用户终端从多组第六打卡数据中筛选出所述第二打卡数据;
所述第二用户终端将所述第二打卡数据上传到所述服务器。
16.一种打卡系统,其特征在于,包括服务器和m个用户终端;
所述服务器用于获取与第一用户终端发送的第一请求相匹配的第一打卡数据,将所述第一打卡数据发送给所述打卡系统中的第一用户终端,所述第一打卡数据根据所述打卡系统中的n个第二用户终端各自采集的第二打卡数据确定,n为大于1的整数、且n小于或等于m,m为大于1的整数;
所述第一用户终端获取所述第一打卡数据,根据所述第一打卡数据确定打卡提醒信息的触发条件;并当符合所述触发条件时,发送所述打卡提醒信息;所述打卡提醒信息用于提醒所述第一用户终端的用户打卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211465678.8A CN116708656B (zh) | 2022-11-22 | 2022-11-22 | 打卡方法及打卡系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211465678.8A CN116708656B (zh) | 2022-11-22 | 2022-11-22 | 打卡方法及打卡系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116708656A true CN116708656A (zh) | 2023-09-05 |
CN116708656B CN116708656B (zh) | 2024-05-14 |
Family
ID=87829952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211465678.8A Active CN116708656B (zh) | 2022-11-22 | 2022-11-22 | 打卡方法及打卡系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116708656B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268418A1 (en) * | 2012-04-04 | 2013-10-10 | Accu-Time Systems, Inc. | Methods and apparatus for wireless communication of time and attendance information |
WO2016169259A1 (zh) * | 2015-04-24 | 2016-10-27 | 凯拔(中国)科技有限公司 | 一种考勤计算中规整考勤原始数据和班次数据的方法 |
CN106210308A (zh) * | 2016-07-08 | 2016-12-07 | 深圳市金立通信设备有限公司 | 一种智能提醒的方法及终端 |
CN106780816A (zh) * | 2017-01-16 | 2017-05-31 | 北京恒华伟业科技股份有限公司 | 一种考勤打卡方法及装置 |
CN108038671A (zh) * | 2017-12-26 | 2018-05-15 | 北京邦邦共赢网络科技有限公司 | 一种智能打卡的方法和装置 |
CN111798584A (zh) * | 2020-08-09 | 2020-10-20 | 泉州征之魂智能科技服务有限公司 | 一种基于移动端的异地自动考勤方法 |
CN113962662A (zh) * | 2021-10-27 | 2022-01-21 | 中国银行股份有限公司 | 一种打卡提醒方法、装置、电子设备及存储介质 |
CN114095866A (zh) * | 2021-11-17 | 2022-02-25 | 中国银行股份有限公司 | 提醒用户上下班打卡的方法及装置 |
CN115240290A (zh) * | 2022-07-28 | 2022-10-25 | 深圳和而泰智能控制股份有限公司 | 考勤打卡提醒方法、智能穿戴设备以及考勤打卡系统 |
-
2022
- 2022-11-22 CN CN202211465678.8A patent/CN116708656B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268418A1 (en) * | 2012-04-04 | 2013-10-10 | Accu-Time Systems, Inc. | Methods and apparatus for wireless communication of time and attendance information |
WO2016169259A1 (zh) * | 2015-04-24 | 2016-10-27 | 凯拔(中国)科技有限公司 | 一种考勤计算中规整考勤原始数据和班次数据的方法 |
CN106210308A (zh) * | 2016-07-08 | 2016-12-07 | 深圳市金立通信设备有限公司 | 一种智能提醒的方法及终端 |
CN106780816A (zh) * | 2017-01-16 | 2017-05-31 | 北京恒华伟业科技股份有限公司 | 一种考勤打卡方法及装置 |
CN108038671A (zh) * | 2017-12-26 | 2018-05-15 | 北京邦邦共赢网络科技有限公司 | 一种智能打卡的方法和装置 |
CN111798584A (zh) * | 2020-08-09 | 2020-10-20 | 泉州征之魂智能科技服务有限公司 | 一种基于移动端的异地自动考勤方法 |
CN113962662A (zh) * | 2021-10-27 | 2022-01-21 | 中国银行股份有限公司 | 一种打卡提醒方法、装置、电子设备及存储介质 |
CN114095866A (zh) * | 2021-11-17 | 2022-02-25 | 中国银行股份有限公司 | 提醒用户上下班打卡的方法及装置 |
CN115240290A (zh) * | 2022-07-28 | 2022-10-25 | 深圳和而泰智能控制股份有限公司 | 考勤打卡提醒方法、智能穿戴设备以及考勤打卡系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116708656B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113163470B (zh) | 对特定路线上的特定位置进行识别的方法及电子设备 | |
CN113254409B (zh) | 文件共享方法、系统及相关设备 | |
CN113170019B (zh) | 一种基于应用的来电显示方法和终端设备 | |
CN110618933A (zh) | 性能分析方法与系统、电子设备与存储介质 | |
CN116070035B (zh) | 数据处理方法和电子设备 | |
WO2021223681A1 (zh) | 一种智能提醒方法及设备 | |
CN111249728B (zh) | 一种图像处理方法、装置及存储介质 | |
CN114911400A (zh) | 分享图片的方法和电子设备 | |
CN116389884B (zh) | 缩略图显示方法及终端设备 | |
CN116486500B (zh) | 寄件方法和电子设备 | |
CN114173286B (zh) | 确定测试路径的方法、装置、电子设备及可读存储介质 | |
CN113407300B (zh) | 应用误杀评估方法及相关设备 | |
CN116708656B (zh) | 打卡方法及打卡系统 | |
CN116450259A (zh) | 服务异常提醒方法、电子设备及存储介质 | |
CN116561085A (zh) | 图片分享方法和电子设备 | |
CN116450026B (zh) | 用于识别触控操作的方法和系统 | |
CN114205318B (zh) | 头像显示方法及电子设备 | |
CN116522400B (zh) | 图像处理方法和终端设备 | |
CN117273687B (zh) | 一种打卡推荐方法及电子设备 | |
CN116048831B (zh) | 一种目标信号处理方法和电子设备 | |
CN117251223A (zh) | 一种云函数插件配置、调度方法、系统和电子设备 | |
CN117555700A (zh) | 消息推送方法、终端设备、推送服务器和可读存储介质 | |
CN114372220A (zh) | 处理网页访问行为的方法和装置 | |
CN117631806A (zh) | 通信方法及相关装置 | |
CN116170782A (zh) | 一种投屏方法、相关装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |