CN109816536B - 清单去重方法、装置和计算机设备 - Google Patents
清单去重方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN109816536B CN109816536B CN201811532143.1A CN201811532143A CN109816536B CN 109816536 B CN109816536 B CN 109816536B CN 201811532143 A CN201811532143 A CN 201811532143A CN 109816536 B CN109816536 B CN 109816536B
- Authority
- CN
- China
- Prior art keywords
- storage space
- processed
- insurance
- value
- integer value
- 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.)
- Active
Links
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提出了一种清单去重方法、装置和计算机设备,其中,上述清单去重方法包括:将待处理的保险清单中所有字段对应的字段值进行拼接;依次获取拼接获得的字符串中每个字符的第一整数值;将所述第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加;使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值;当所述存储空间中所述第二整数值所指示位置的比特值为1时,确定所述存储空间中存在所述待处理的保险清单,对所述待处理的保险清单进行去重处理。本申请可以实现减少保险清单的存储空间,提高清单去重的处理效率,降低了对机器的性能要求。
Description
【技术领域】
本申请涉及数据处理技术领域,尤其涉及一种清单去重方法、装置和计算机设备。
【背景技术】
现有相关技术中,在对保险清单进行去重处理时,在数据量较少(例如:500以内)的情况下,一般采用直接对保险清单进行比较的方式,但这种方式耗时比较长,因此,在数据量较大时(例如:500~5000),一般都是使用MD5加哈希(hash)的方式进行保险清单去重。
但这两种对保险清单进行去重处理的方式,对于存储和时间的消耗都是比较大的,对于保险清单数据量较大的情形,这两种方式消耗惊人,已经不是一般机器能支持得起的了。
【发明内容】
本申请实施例提供了一种清单去重方法、装置和计算机设备,以实现减少保险清单的存储空间,提高清单去重的处理效率。
第一方面,本申请实施例提供了一种清单去重方法,包括:将待处理的保险清单中所有字段对应的字段值进行拼接;依次获取拼接获得的字符串中每个字符的第一整数值;将所述第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加;使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值;当所述存储空间中所述第二整数值所指示位置的比特值为1时,确定所述存储空间中存在所述待处理的保险清单,对所述待处理的保险清单进行去重处理。
其中在一种可能的实现方式中,所述生成第二整数值之后,还包括:当所述存储空间中所述第二整数值所指示的至少一个位置的比特值为0时,确定所述存储空间中不存在所述待处理的保险清单;将所述待处理的保险清单存入所述存储空间,并将所述存储空间中所述第二整数值所指示位置的比特值均设为1。
其中在一种可能的实现方式中,所述将待处理的保险清单中所有字段对应的字段值进行拼接之前,还包括:初始化存储空间,将所述存储空间所具有的比特位的值设为0。
其中在一种可能的实现方式中,所述预先选择的质数的数量为预定数量;所述将所述第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加包括:依次将所述第一整数值与预定数量的质数中的每个质数相乘,并分别将与每个质数相乘获得的乘积相加。
其中在一种可能的实现方式中,所述第二整数值的数量为所述预定数量。
其中在一种可能的实现方式中,所述对所述待处理的保险清单进行去重处理包括:拒绝将所述待处理的保险清单存入所述存储空间,提醒对所述待处理的保险清单中的信息进行检查。
第二方面,本申请实施例提供一种清单去重装置,包括:拼接模块,用于将待处理的保险清单中所有字段对应的字段值进行拼接;获取模块,用于依次获取拼接获得的字符串中每个字符的第一整数值;计算模块,用于将所述获取模块获取的第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加;以及使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值;确定模块,用于当所述存储空间中所述计算模块生成的第二整数值所指示位置的比特值为1时,确定所述存储空间中存在所述待处理的保险清单;去重模块,用于对所述待处理的保险清单进行去重处理。
其中在一种可能的实现方式中,所述装置还包括:存储模块和设置模块;所述确定模块,还用于所述计算模块生成第二整数值之后,当所述存储空间中所述第二整数值所指示的至少一个位置的比特值为0时,确定所述存储空间中不存在所述待处理的保险清单;所述存储模块,用于将所述待处理的保险清单存入所述存储空间;所述设置模块,用于将所述存储空间中所述第二整数值所指示位置的比特值均设为1。
其中在一种可能的实现方式中,所述装置还包括:设置模块;所述设置模块,还用于在所述拼接模块将待处理的保险清单的所有字段拼接之前,初始化存储空间,将所述存储空间所具有的比特位的值设为0。
其中在一种可能的实现方式中,所述预先选择的质数的数量为预定数量;所述计算模块,具体用于依次将所述第一整数值与预定数量的质数中的每个质数相乘,并分别将与每个质数相乘获得的乘积相加。
其中在一种可能的实现方式中,所述第二整数值的数量为所述预定数量。
其中在一种可能的实现方式中,所述去重模块,具体用于拒绝将所述待处理的保险清单存入所述存储空间,提醒对所述待处理的保险清单中的信息进行检查。
第三方面,本申请实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上所述的方法。
第四方面,本申请实施例提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
以上技术方案中,将待处理的保险清单中所有字段对应的字段值进行拼接,依次获取拼接获得的字符串中每个字符的第一整数值,将第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加,使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值,当上述存储空间中第二整数值所指示位置的比特值为1时,确定上述存储空间中存在上述待处理的保险清单,对上述待处理的保险清单进行去重处理,从而可以实现减少保险清单的存储空间,提高清单去重的处理效率,降低了对机器的性能要求。
【附图说明】
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请清单去重方法一个实施例的流程图;
图2为本申请清单去重方法另一个实施例的流程图;
图3为本申请清单去重方法再一个实施例的流程图;
图4为本申请清单去重方法再一个实施例的流程图;
图5为本申请清单去重装置一个实施例的结构示意图;
图6为本申请清单去重装置另一个实施例的结构示意图;
图7为本申请计算机设备一个实施例的结构示意图。
【具体实施方式】
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本申请清单去重方法一个实施例的流程图,如图1所示,上述清单去重方法可以包括:
步骤101,将待处理的保险清单中所有字段对应的字段值进行拼接。
其中,上述待处理的保险清单可以为需要保存的保险清单。举例来说,一个农户为自己养殖的10头猪买了一份保险,那么在农户购买的这份保险的保单中就包括10份保险清单,每份保险清单中的字段可以包括:标的名称、被保险人、养殖方式、畜龄和养殖地点等字段,这样,上述字段对应的字段值分别为:猪、农户姓名、圈养、3个月和农户养猪的地点,在这个例子中,在需要保存这10份保险清单时,当前需要保存的保险清单即为待处理的保险清单。
具体地,将待处理的保险清单中所有字段对应的字段值进行拼接时,对于上述字段值中的汉字,可以将汉字转换为对应的ASCII码,再与上述字段值中的数字和/字母进行拼接,获得一串字符串。
步骤102,依次获取拼接获得的字符串中每个字符的第一整数值。
其中,上述第一整数值即为每个字符的int值。也就是说,本实施例中,依次将拼接获得的字符串中的每个字符转换为整数,然后获取每个字符转换的第一整数值,假设拼接获得的字符串包括4个字符“abcd”,那需要依次获取字符“a”的第一整数值、字符“b”的第一整数值、字符“c”的第一整数值和字符“d”的第一整数值。
步骤103,将上述第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加。
具体地,在获取每个字符的第一整数值之后,需要依次将每个字符的第一整数值与预先选择的质数相乘,然后将相乘获得的乘积相加。
步骤104,使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值。
举例来说,假设预先初始化的存储空间为8M,那么该存储空间一共具有67108864比特位,上述存储空间所具有比特位的数量的值即为67108864,这里就使用67108864与相加获得的和值进行逻辑与(&)运算,生成一个int数,即为第二整数值,第二整数值就是待处理的保险清单和预先选择的质数生成的hash位置。
步骤105,当上述存储空间中第二整数值所指示位置的比特值为1时,确定上述存储空间中存在上述待处理的保险清单,对上述待处理的保险清单进行去重处理。
也就是说,当上述存储空间中第二整数值所指示位置的比特值为1时,说明上述存储空间中已存在上述待处理的保险清单,这时,需要对上述待处理的保险清单进行去重处理。
具体地,对上述待处理的保险清单进行去重处理可以为:拒绝将上述待处理的保险清单存入上述存储空间,提醒对上述待处理的保险清单中的信息进行检查。本实施例中,当上述存储空间中已存在与上述待处理的保险清单重复的清单时,上述待处理的保险清单将被拒绝存入上述存储空间,并且将会提醒用户对上述待处理的保险清单中的信息进行检查,查看是否有输入错误的信息,以避免上述存储空间中出现重复的保险清单。
上述清单去重方法中,将待处理的保险清单中所有字段对应的字段值进行拼接,依次获取拼接获得的字符串中每个字符的第一整数值,将第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加,然后使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值,当上述存储空间中第二整数值所指示位置的比特值为1时,确定上述存储空间中存在上述待处理的保险清单,对上述待处理的保险清单进行去重处理,从而可以实现减少保险清单的存储空间,提高保险清单去重的处理效率,降低了对机器的性能要求。
图2为本申请清单去重方法另一个实施例的流程图,如图2所示,本申请图1所示实施例中,步骤104之后,还可以包括:
步骤201,当上述存储空间中上述第二整数值所指示的至少一个位置的比特值为0时,确定上述存储空间中不存在上述待处理的保险清单。
本实施例中,上述第二整数值所指示位置可以包括至少两个位置,这时,上述第二整数值所指示位置的比特值为0可以为上述第二整数值所指示的至少一个位置的比特值为0。
也就是说,当上述第二整数值所指示的至少一个位置的比特值为0时,可以确定上述存储空间中不存在上述待处理的保险清单。
步骤202,将上述待处理的保险清单存入上述存储空间,并将上述存储空间中上述第二整数值所指示位置的比特值均设为1。
具体地,在确定上述存储空间中不存在上述待处理的保险清单之后,就可以将上述待处理的保险清单存入上述存储空间,然后需要将上述存储空间中上述第二整数值所指示位置的比特值均设为1。这样,后续再将保险清单存入上述存储空间时,如果后续需要存入上述存储空间的保险清单与已存入的保险清单是重复清单,就可以发现上述第二整数值所指示位置的比特值均为1,于是将拒绝保存后续需要存入上述存储空间的保险清单,避免了上述存储空间中的保险清单出现重复。
图3为本申请清单去重方法再一个实施例的流程图,如图3所示,本申请图1所示实施例中,步骤101之前,还可以包括:
步骤301,初始化存储空间,将上述存储空间所具有的比特位的值设为0。
举例来说,可以初始化一段8M大小的存储空间,一共包括67108864比特位,初始化所有的比特位为0。
图4为本申请清单去重方法再一个实施例的流程图,如图4所示,本申请图1所示实施例中,预先选择的质数的数量为预定数量;其中,上述预定数量的大小可以在具体实现时根据系统性能和/或实现需求等自行设定,本实施例对上述预定数量的大小不作限定,举例来说,上述预定数量可以为8,选取的8个质数可以为【7,19,31,43,59,67,71,83】。
这样,步骤103可以为:
步骤401,依次将上述第一整数值与预定数量的质数中的每个质数相乘,并分别将与每个质数相乘获得的乘积相加。
也就是说,对于上述8个质数中的每个质数,都进行相同的操作,先将第一整数值与质数相乘,再将每个字符的第一整数值与质数相乘获得的乘积相加。
进一步地,再使用预先初始化的存储空间所具有比特位的数量的值(67108864)与相加获得的和值进行逻辑与(&)运算,生成一个int数,即第二整数值,由于选择的质数为8个,因此最终生成的第二整数值的数量也为8,即第二整数值的数量为预定数量。于是,在确定上述存储空间中是否存在待处理的保险清单时,需要判断8个第二整数值所指示的位置是否均为1,如果是,则确定上述存储空间中存在待处理的保险清单,如果不全为1,则可以确定上述存储空间中不存在待处理的保险清单。
上述清单去重方法虽然会有一定的误差,不过在开辟8M的空间大小,存100万数据时,误差为0.000000022,完全在可接受的范围之内。并且上述清单去重方法减少了对存储空间的占用,在一种应用场景下可以减少1/16的存储空间,并且提升了清单去重的处理效率,特别在大批量清单情况下,处理效率的提升尤为明显。
图5为本申请清单去重装置一个实施例的结构示意图,本实施例中的清单去重装置可以实现本申请实施例提供的清单去重方法。如图5所示,上述清单去重装置可以包括:拼接模块51、获取模块52、计算模块53、确定模块54和去重模块55;
其中,拼接模块51,用于将待处理的保险清单中所有字段对应的字段值进行拼接;其中,上述待处理的保险清单可以为需要保存的保险清单。举例来说,一个农户为自己养殖的10头猪买了一份保险,那么在农户购买的这份保险的保单中就包括10份保险清单,每份保险清单中的字段可以包括:标的名称、被保险人、养殖方式、畜龄和养殖地点等字段,这样,上述字段对应的字段值分别为:猪、农户姓名、圈养、3个月和农户养猪的地点,在这个例子中,在需要保存这10份保险清单时,当前需要保存的保险清单即为待处理的保险清单。
具体地,拼接模块51将待处理的保险清单中所有字段对应的字段值进行拼接时,对于上述字段值中的汉字,可以将汉字转换为对应的ASCII码,再与上述字段值中的数字和/字母进行拼接,获得一串字符串。
获取模块52,用于依次获取拼接获得的字符串中每个字符的第一整数值;其中,上述第一整数值即为每个字符的int值。也就是说,本实施例中,获取模块52依次将拼接获得的字符串中的每个字符转换为整数,然后获取每个字符转换的第一整数值,假设拼接获得的字符串包括4个字符“abcd”,那获取模块52需要依次获取字符“a”的第一整数值、字符“b”的第一整数值、字符“c”的第一整数值和字符“d”的第一整数值。
计算模块53,用于将获取模块52获取的第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加;以及使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值;具体地,在获取模块52获取每个字符的第一整数值之后,计算模块53需要依次将每个字符的第一整数值与预先选择的质数相乘,然后将相乘获得的乘积相加,进一步使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值。
举例来说,假设预先初始化的存储空间为8M,那么该存储空间一共具有67108864比特位,上述存储空间所具有比特位的数量的值即为67108864,这里就使用67108864与相加获得的和值进行逻辑与(&)运算,生成一个int数,即为第二整数值,第二整数值就是待处理的保险清单和预先选择的质数生成的hash位置。
确定模块54,用于当上述存储空间中计算模块53生成的第二整数值所指示位置的比特值为1时,确定上述存储空间中存在上述待处理的保险清单;
去重模块55,用于对上述待处理的保险清单进行去重处理。
也就是说,当上述存储空间中第二整数值所指示位置的比特值为1时,确定模块54确定上述存储空间中已存在上述待处理的保险清单,这时,去重模块55需要对上述待处理的保险清单进行去重处理。
在一种实现方式中,去重模块55,具体用于拒绝将上述待处理的保险清单存入上述存储空间,提醒对上述待处理的保险清单中的信息进行检查。本实施例中,当上述存储空间中已存在与上述待处理的保险清单重复的清单时,上述待处理的保险清单将被拒绝存入上述存储空间,并且去重模块55将会提醒用户对上述待处理的保险清单中的信息进行检查,查看是否有输入错误的信息,以避免上述存储空间中出现重复的保险清单。
上述清单去重装置中,拼接模块51将待处理的保险清单中所有字段对应的字段值进行拼接,获取模块52依次获取拼接获得的字符串中每个字符的第一整数值,计算模块53将第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加,然后使用预先初始化的存储空间所具有比特位的数量的值与相加获得的和值进行逻辑与运算,生成第二整数值,当上述存储空间中第二整数值所指示位置的比特值为1时,确定模块54确定上述存储空间中存在上述待处理的保险清单,去重模块55对上述待处理的保险清单进行去重处理,从而可以实现减少保险清单的存储空间,提高保险清单去重的处理效率,降低了对机器的性能要求。
图6为本申请清单去重装置另一个实施例的结构示意图,与图5所示的清单去重装置相比,本实施例提供的清单去重装置还可以包括:存储模块56和设置模块57;
确定模块54,还用于计算模块53生成第二整数值之后,当上述存储空间中上述第二整数值所指示的至少一个位置的比特值为0时,确定上述存储空间中不存在上述待处理的保险清单;本实施例中,上述第二整数值所指示位置可以包括至少两个位置,这时,上述第二整数值所指示位置的比特值为0可以为上述第二整数值所指示的至少一个位置的比特值为0。
其中,上述0的大小可以在具体实现时根据系统性能和/或实现需求等自行设定,本实施例对上述0的大小不作限定,举例来说,上述0可以为0。
也就是说,当上述第二整数值所指示的至少一个位置的比特值为0时,确定模块54可以确定上述存储空间中不存在上述待处理的保险清单。
存储模块56,用于将上述待处理的保险清单存入上述存储空间;
设置模块57,用于将上述存储空间中上述第二整数值所指示位置的比特值均设为1。
具体地,在确定模块54确定上述存储空间中不存在上述待处理的保险清单之后,存储模块56就可以将上述待处理的保险清单存入上述存储空间,然后设置模块57需要将上述存储空间中上述第二整数值所指示位置的比特值均设为1。这样,后续再将清单存入上述存储空间时,如果后续需要存入上述存储空间的保险清单与已存入的保险清单是重复清单,确定模块54就可以发现上述第二整数值所指示位置的比特值均为1,于是去重模块55将拒绝保存后续需要存入上述存储空间的保险清单,避免了上述存储空间中的保险清单出现重复。
另外,设置模块57,还用于在拼接模块51将待处理的保险清单中所有字段对应的字段值拼接之前,初始化存储空间,将上述存储空间所具有的比特位的值设为0。举例来说,可以初始化一段8M大小的存储空间,一共包括67108864比特位,初始化所有的比特位为0。
作为一种实施方式,上述预先选择的质数的数量为预定数量;其中,上述预定数量的大小可以在具体实现时根据系统性能和/或实现需求等自行设定,本实施例对上述预定数量的大小不作限定,举例来说,上述预定数量可以为8,选取的8个质数可以为【7,19,31,43,59,67,71,83】。
这样,计算模块53,具体用于依次将上述第一整数值与预定数量的质数中的每个质数相乘,并分别将与每个质数相乘获得的乘积相加。
也就是说,对于上述8个质数中的每个质数,都进行相同的操作,计算模块53先将第一整数值与质数相乘,再将每个字符的第一整数值与质数相乘获得的乘积相加。
进一步地,计算模块53再使用预先初始化的存储空间所具有比特位的数量的值(67108864)与相加获得的和值进行逻辑与(&)运算,生成一个int数,即第二整数值,由于选择的质数为8个,因此最终生成的第二整数值的数量也为8,即第二整数值的数量为预定数量。于是,在确定模块54确定上述存储空间中是否存在待处理的保险清单时,需要判断8个第二整数值所指示的位置是否均为1,如果是,则确定上述存储空间中存在待处理的保险清单,如果不全为1,则可以确定上述存储空间中不存在待处理的保险清单。
上述清单去重装置虽然会有一定的误差,不过在开辟8M的空间大小,存100万数据时,误差为0.000000022,完全在可接受的范围之内。并且上述清单去重装置减少了对存储空间的占用,在一种应用场景下可以减少1/16的存储空间,并且提升了清单去重的处理效率,特别在大批量清单情况下,处理效率的提升尤为明显。
图7为本申请计算机设备一个实施例的结构示意图,上述计算机设备可以包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时,可以实现本申请实施例提供的清单去重方法。
其中,上述计算机设备可以为电子设备,例如:智能手机、智能手表或平板电脑等智能设备,本实施例对上述计算机设备的具体形态不作限定。
图7示出了适于用来实现本申请实施方式的示例性计算机设备12的框图。图7显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的清单去重方法。
本申请实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时可以实现本申请实施例提供的清单去重方法。
上述非临时性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本申请实施例中所涉及的终端可以包括但不限于个人计算机(PersonalComputer;以下简称:PC)、个人数字助理(PersonalDigital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (9)
1.一种清单去重方法,其特征在于,包括:
将待处理的保险清单中所有字段对应的字段值进行拼接;其中,将待处理的保险清单中所有字段对应的字段值进行拼接时,对于所述字段值中的汉字,将汉字转换为对应的ASCII码,再与所述字段值中的数字和/字母进行拼接,获得一串字符串;
依次将拼接获得的字符串中的每个字符的转换为整数,获取每个字符转换的第一整数值;
将所述第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加,获得和值;
使用预先初始化的存储空间所具有比特位的数量的值与所述和值进行逻辑与运算,生成一个整数,生成的整数为第二整数值;其中,所述第二整数值为所述待处理的保险清单和预先选择的质数生成的哈希hash位置;
当所述存储空间中所述第二整数值所指示位置的比特值为1时,确定所述存储空间中存在所述待处理的保险清单,对所述待处理的保险清单进行去重处理;
其中,所述将待处理的保险清单中所有字段对应的字段值进行拼接之前,还包括:
初始化存储空间,将所述存储空间所具有的比特位的值设为0。
2.根据权利要求1所述的方法,其特征在于,所述生成第二整数值之后,还包括:
当所述存储空间中所述第二整数值所指示的至少一个位置的比特值为0时,确定所述存储空间中不存在所述待处理的保险清单;
将所述待处理的保险清单存入所述存储空间,并将所述存储空间中所述第二整数值所指示位置的比特值均设为1。
3.根据权利要求1所述的方法,其特征在于,所述预先选择的质数的数量为预定数量;
所述将所述第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加包括:
依次将所述第一整数值与预定数量的质数中的每个质数相乘,并分别将与每个质数相乘获得的乘积相加。
4.根据权利要求3所述的方法,其特征在于,所述第二整数值的数量为所述预定数量。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述对所述待处理的保险清单进行去重处理包括:
拒绝将所述待处理的保险清单存入所述存储空间,提醒对所述待处理的保险清单中的信息进行检查。
6.一种清单去重装置,其特征在于,包括:
拼接模块,用于将待处理的保险清单中所有字段对应的字段值进行拼接;其中,将待处理的保险清单中所有字段对应的字段值进行拼接时,对于所述字段值中的汉字,将汉字转换为对应的ASCII码,再与所述字段值中的数字和/字母进行拼接,获得一串字符串;
获取模块,用于依次将拼接获得的字符串中的每个字符转换为整数,获取每个字符转换的第一整数值;
计算模块,用于将所述获取模块获取的第一整数值与预先选择的质数相乘,并将相乘获得的乘积相加,获得和值;以及使用预先初始化的存储空间所具有比特位的数量的值与所述和值进行逻辑与运算,生成一个整数,生成的证书为第二整数值;其中,所述第二整数值为所述待处理的保险清单和预先选择的质数生成的哈希hash位置;
确定模块,用于当所述存储空间中所述计算模块生成的第二整数值所指示位置的比特值为1时,确定所述存储空间中存在所述待处理的保险清单;
去重模块,用于对所述待处理的保险清单进行去重处理;
其中,所述装置还包括:
设置模块,用于在所述拼接模块将待处理的保险清单中所有字段对应的字段值拼接之前,初始化存储空间,将所述存储空间所具有的比特位的值设为0。
7.根据权利要求6所述的装置,其特征在于,还包括:存储模块;
所述确定模块,还用于所述计算模块生成第二整数值之后,当所述存储空间中所述第二整数值所指示的至少一个位置的比特值为0时,确定所述存储空间中不存在所述待处理的保险清单;
所述存储模块,用于将所述待处理的保险清单存入所述存储空间;
所述设置模块,用于将所述存储空间中所述第二整数值所指示位置的比特值均设为1。
8.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一所述的方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532143.1A CN109816536B (zh) | 2018-12-14 | 2018-12-14 | 清单去重方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811532143.1A CN109816536B (zh) | 2018-12-14 | 2018-12-14 | 清单去重方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109816536A CN109816536A (zh) | 2019-05-28 |
CN109816536B true CN109816536B (zh) | 2023-08-25 |
Family
ID=66602057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532143.1A Active CN109816536B (zh) | 2018-12-14 | 2018-12-14 | 清单去重方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816536B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569263B (zh) * | 2019-08-27 | 2022-11-22 | 苏宁云计算有限公司 | 实时数据去重计数方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2222006A1 (en) * | 2009-02-20 | 2010-08-25 | ST-Ericsson SA | Method of matching an input bit length to an output bit length |
CN107133329A (zh) * | 2017-05-09 | 2017-09-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据处理装置及存储介质 |
CN107644081A (zh) * | 2017-09-21 | 2018-01-30 | 锐捷网络股份有限公司 | 数据去重方法及装置 |
CN108121810A (zh) * | 2017-12-26 | 2018-06-05 | 北京锐安科技有限公司 | 一种数据去重方法、系统、中心服务器及分布式服务器 |
KR20180099136A (ko) * | 2017-02-28 | 2018-09-05 | 한국전자통신연구원 | 네트워크 패킷의 중복 데이터 제거 장치 및 그 방법, 중복제거파일 복원 장치 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9558199B2 (en) * | 2013-03-07 | 2017-01-31 | Jive Software, Inc. | Efficient data deduplication |
-
2018
- 2018-12-14 CN CN201811532143.1A patent/CN109816536B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2222006A1 (en) * | 2009-02-20 | 2010-08-25 | ST-Ericsson SA | Method of matching an input bit length to an output bit length |
KR20180099136A (ko) * | 2017-02-28 | 2018-09-05 | 한국전자통신연구원 | 네트워크 패킷의 중복 데이터 제거 장치 및 그 방법, 중복제거파일 복원 장치 |
CN107133329A (zh) * | 2017-05-09 | 2017-09-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、数据处理装置及存储介质 |
CN107644081A (zh) * | 2017-09-21 | 2018-01-30 | 锐捷网络股份有限公司 | 数据去重方法及装置 |
CN108121810A (zh) * | 2017-12-26 | 2018-06-05 | 北京锐安科技有限公司 | 一种数据去重方法、系统、中心服务器及分布式服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109816536A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090628B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN108108342B (zh) | 结构化文本的生成方法、检索方法及装置 | |
CN110531962B (zh) | 小程序的开发处理方法、设备及计算机可读存储介质 | |
CN108415939B (zh) | 基于人工智能的对话处理方法、装置、设备及计算机可读存储介质 | |
CN108092667B (zh) | 压缩时序数据以及查询时序数据的方法、装置 | |
CN111291882A (zh) | 一种模型转换的方法、装置、设备和计算机存储介质 | |
CN110704608A (zh) | 文本主题生成方法、装置和计算机设备 | |
CN111950279A (zh) | 实体关系的处理方法、装置、设备及计算机可读存储介质 | |
CN110688096A (zh) | 包含插件的应用程序的构建方法、装置、介质及电子设备 | |
CN107729944B (zh) | 一种低俗图片的识别方法、装置、服务器及存储介质 | |
CN112003712A (zh) | 业务的处理方法、电子设备及计算机可读存储介质 | |
CN109816536B (zh) | 清单去重方法、装置和计算机设备 | |
US11227231B2 (en) | Computational efficiency in symbolic sequence analytics using random sequence embeddings | |
CN107729347B (zh) | 同义标签的获取方法、装置、设备及计算机可读存储介质 | |
CN111143240B (zh) | 图像存储方法、系统及终端设备 | |
CN110113443B (zh) | 社交角色管理方法、计算机设备及存储介质 | |
CN109271543B (zh) | 缩略图的显示方法、装置、终端及计算机可读存储介质 | |
CN116127925A (zh) | 基于对文本进行破坏处理的文本数据增强方法及装置 | |
CN106843884B (zh) | 一种查询数据处理方法及其设备 | |
US9201936B2 (en) | Rapid provisioning of information for business analytics | |
CN110765097A (zh) | 数据处理方法及装置、计算机存储介质、电子设备 | |
CN111949765B (zh) | 基于语义的相似文本搜索方法、系统、设备和存储介质 | |
CN114417850A (zh) | 信息抽取方法、装置、存储介质及电子设备 | |
CN111460273B (zh) | 信息推送方法和装置 | |
CN109460511B (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 |